Skip to content

Commit

Permalink
Rename Dockerfiles and deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
robertjndw authored Jan 9, 2025
1 parent 084fd3a commit 272c8d2
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 35 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build_docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ jobs:
matrix:
include:
- dockerfile: ./client.Dockerfile
image: ghcr.io/ls1intum/thesis-track/thesis-track-client
image: ghcr.io/ls1intum/thesis-management/thesis-management-client
context: ./
path: client
- dockerfile: ./server.Dockerfile
image: ghcr.io/ls1intum/thesis-track/thesis-track-server
image: ghcr.io/ls1intum/thesis-management/thesis-management-server
context: ./
path: server
outputs:
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# ThesisTrack
# ThesisManagement (previously ThesisTrack)

ThesisTrack is a web-based thesis management system designed to streamline the thesis process in academic institutions by integrating essential stages into a single platform.
ThesisManagement is a web-based thesis management system designed to streamline the thesis process in academic institutions by integrating essential stages into a single platform.
Developed to address challenges in managing large volumes of theses, it facilitates seamless interactions between students, advisors, and supervisors.
Key features include a centralized application process, guided workflows for thesis writing, automated notifications, and a comprehensive Gantt chart for tracking progress.
By consolidating communication, feedback, and file management, ThesisTrack enhances transparency, reduces administrative burdens, and fosters efficient thesis supervision and assessment.
By consolidating communication, feedback, and file management, ThesisManagement enhances transparency, reduces administrative burdens, and fosters efficient thesis supervision and assessment.

ThesisTrack was developed as part of this [bachelor's thesis](docs/files/ba-thesis-fabian-emilius.pdf).
ThesisManagement was developed as part of this [bachelor's thesis](docs/files/ba-thesis-fabian-emilius.pdf).

## User Documentation

Expand Down Expand Up @@ -102,7 +102,7 @@ Supervisor, Advisor and Student means that the user is directly assigned to the

## Features

The following flowchart diagrams provide a visual overview of the thesis processes implemented in ThesisTrack.
The following flowchart diagrams provide a visual overview of the thesis processes implemented in ThesisManagement.
These diagrams illustrate the step-by-step workflows involved, from thesis topic selection and application submission to the final grading and completion stages.
They highlight key actions, decision points, and interactions between students, advisors, and supervisors, clarifying how tasks are sequenced and managed within the system.
These flowcharts offer a quick reference for understanding how each role engages in the thesis process, ensuring transparency and consistency in task progression and responsibilities across different stages.
Expand Down
30 changes: 15 additions & 15 deletions docker-compose.prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ services:
command:
- "--providers.docker=true"
- "--providers.docker.exposedByDefault=false"
- "--providers.docker.network=thesis-track-network"
- "--providers.docker.network=thesis-management-network"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
Expand All @@ -22,11 +22,11 @@ services:
- /var/run/docker.sock:/var/run/docker.sock
- ./letsencrypt:/letsencrypt
networks:
- thesis-track-network
- thesis-management-network

server:
image: "ghcr.io/ls1intum/thesis-track/thesis-track-server:${SERVER_IMAGE_TAG}"
container_name: thesis-track-server
image: "ghcr.io/ls1intum/thesis-management/thesis-management-server:${SERVER_IMAGE_TAG}"
container_name: thesis-management-server
labels:
- "traefik.enable=true"
- "traefik.http.routers.server.rule=Host(`${APP_HOSTNAME}`) && PathPrefix(`/api`)"
Expand Down Expand Up @@ -77,11 +77,11 @@ services:
- GIT_COMMIT
- GIT_BRANCH
networks:
- thesis-track-network
- thesis-management-network

client:
image: "ghcr.io/ls1intum/thesis-track/thesis-track-client:${CLIENT_IMAGE_TAG}"
container_name: thesis-track-client
image: "ghcr.io/ls1intum/thesis-management/thesis-management-client:${CLIENT_IMAGE_TAG}"
container_name: thesis-management-client
labels:
- "traefik.enable=true"
- "traefik.http.routers.client.rule=Host(`${APP_HOSTNAME}`)"
Expand Down Expand Up @@ -112,11 +112,11 @@ services:
depends_on:
- server
networks:
- thesis-track-network
- thesis-management-network

db:
image: "postgres:17.1-alpine"
container_name: thesis-track-db
container_name: thesis-management-db
environment:
- POSTGRES_USER=${SPRING_DATASOURCE_USERNAME}
- POSTGRES_PASSWORD=${SPRING_DATASOURCE_PASSWORD}
Expand All @@ -128,20 +128,20 @@ services:
timeout: 5s
retries: 5
networks:
- thesis-track-network
- thesis-management-network

postfix:
image: ghcr.io/ls1admin/postfix:latest
container_name: thesis-track-postfix
container_name: thesis-management-postfix
restart: unless-stopped
volumes:
- ./postfix-config:/config
hostname: ${APP_HOSTNAME}
networks:
- thesis-track-network
- thesis-management-network

networks:
# Create network manually in advance: docker network create thesis-track-network
thesis-track-network:
name: thesis-track-network
# Create network manually in advance: docker network create thesis-management-network
thesis-management-network:
name: thesis-management-network
external: true
16 changes: 8 additions & 8 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
services:
db:
image: 'postgres:17.1-alpine'
container_name: thesis-track-db
container_name: thesis-management-db
volumes:
- ./db_backups:/db_backups
environment:
- POSTGRES_USER=thesis-track-postgres
- POSTGRES_PASSWORD=thesis-track-postgres
- POSTGRES_DB=thesis-track
- POSTGRES_USER=thesis-management-postgres
- POSTGRES_PASSWORD=thesis-management-postgres
- POSTGRES_DB=thesis-management
healthcheck:
test: ["CMD-SHELL", "pg_isready -d thesis-track -U thesis-track-postgres"]
test: ["CMD-SHELL", "pg_isready -d thesis-management -U thesis-management-postgres"]
interval: 5s
timeout: 5s
retries: 5
Expand All @@ -18,7 +18,7 @@ services:

#postfix:
# image: ghcr.io/ls1admin/postfix:latest
# container_name: thesis-track-postfix
# container_name: thesis-management-postfix
# restart: unless-stopped
# volumes:
# - ./postfix-config:/config # See https://github.com/ls1admin/postfix-container-tum-mailrelay/tree/main for details
Expand All @@ -28,13 +28,13 @@ services:

caldav:
image: tomsquest/docker-radicale:3.3.0.1
container_name: thesis-track-caldav
container_name: thesis-management-caldav
ports:
- "5232:5232"

keycloak:
image: quay.io/keycloak/keycloak:26.0
container_name: thesis-track-keycloak
container_name: thesis-management-keycloak
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
Expand Down
2 changes: 1 addition & 1 deletion docs/DATABASE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Database Changes

ThesisTrack employs liquibase technology for database migrations. Upon a database schema change, follow the steps:
ThesisManagement employs liquibase technology for database migrations. Upon a database schema change, follow the steps:
1. Create a new changeset by adding a new script in the [changelog folder](/server/src/main/resources/db/changelog/changes)
2. Include the new changeset script into the [master changelog file](/server/src/main/resources/db/changelog/db.changelog-master.xml)

Expand Down
6 changes: 3 additions & 3 deletions server.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FROM gradle:8.11.1-jdk21 AS build

COPY --chown=gradle:gradle . /home/gradle/thesis-track
WORKDIR /home/gradle/thesis-track/server
COPY --chown=gradle:gradle . /home/gradle/thesis-management
WORKDIR /home/gradle/thesis-management/server

RUN gradle build -x test --no-daemon

Expand All @@ -11,6 +11,6 @@ EXPOSE 8080

RUN mkdir /app

COPY --from=build /home/gradle/thesis-track/server/build/libs/*.jar /app/server.jar
COPY --from=build /home/gradle/thesis-management/server/build/libs/*.jar /app/server.jar

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-jar","/app/server.jar"]
2 changes: 1 addition & 1 deletion thesis-track-backup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Configuration
BACKUP_DIR="./backups" # Directory to store backups
DB_CONTAINER="thesis-track-db" # PostgreSQL container name
DB_CONTAINER="thesis-management-db" # PostgreSQL container name
UPLOADS_DIR="./thesis_uploads" # Path to thesis_uploads folder
DB_USER=$(grep SPRING_DATASOURCE_USERNAME .env.prod | cut -d '=' -f 2) # Extract DB user from .env.prod
DB_NAME=$(grep SPRING_DATASOURCE_DATABASE .env.prod | cut -d '=' -f 2) # Extract DB name from .env.prod
Expand Down

0 comments on commit 272c8d2

Please sign in to comment.