From d435b3dcca9193c6f2becb0d2c2415f9cb4b6ed8 Mon Sep 17 00:00:00 2001 From: stefan Date: Thu, 5 Jun 2025 14:05:53 +0200 Subject: [PATCH] fix Docker --- Dockerfile | 6 +++-- docker-compose.yml | 57 +++------------------------------------------- 2 files changed, 7 insertions(+), 56 deletions(-) diff --git a/Dockerfile b/Dockerfile index 63061096..35267b09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,5 +11,7 @@ RUN gradle :server:shadowJar --no-configure-on-demand FROM openjdk:21-slim-bookworm AS runtime WORKDIR /app COPY --from=build /home/gradle/src/server/build/libs/*.jar ./app.jar -EXPOSE 8080 -ENTRYPOINT ["java", "-jar", "/app/app.jar"] \ No newline at end of file +# Create data directory for SQLite database +RUN mkdir -p /app/data +EXPOSE 8081 +ENTRYPOINT ["java", "-jar", "/app/app.jar"] diff --git a/docker-compose.yml b/docker-compose.yml index 6e90d4fc..ab476f78 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,64 +7,13 @@ services: restart: unless-stopped ports: - "8080:8081" - environment: - - DB_USER=${POSTGRES_USER} - - DB_PASSWORD=${POSTGRES_PASSWORD} - - DB_NAME=${POSTGRES_DB} - - DB_HOST=db - - DB_PORT=5432 - depends_on: - db: - condition: service_healthy + volumes: + - sqlite_data:/app/data # Volume für SQLite Datenbank networks: - meldestelle-net - # PostgreSQL Datenbank (Service-Name 'db') - db: - image: postgres:16-alpine # Spezifische Version - container_name: meldestelle-db - restart: unless-stopped - environment: - # Liest Werte aus .env - POSTGRES_USER: ${POSTGRES_USER} - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} - POSTGRES_DB: ${POSTGRES_DB} - # PGDATA nicht nötig, Standard verwenden - volumes: - # Benanntes Volume für Daten auf Standardpfad - - postgres_data:/var/lib/postgresql/data - networks: - - meldestelle-net # <--- Muss zum Netzwerk-Namen passen - healthcheck: # Wichtig für depends_on - test: [ "CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}" ] # Doppelte $$ beachten! - interval: 10s - timeout: 5s - retries: 5 - # ports: # Nur bei Bedarf freigeben, z.B. für lokalen Zugriff - # - "127.0.0.1:54321:5432" # Host-Port 54321 → Container-Port 5432 - - # Optional: PgAdmin Service -# pgadmin: -# image: dpage/pgadmin4:latest # Oder spezifische Version -# container_name: meldestelle-pgadmin -# restart: unless-stopped -# environment: -# # Werte aus .env lesen (oder Defaults nutzen) -# PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-admin@example.com} -# PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-DeinSicheresPgAdminPasswort!} # UNBEDINGT IN .env SETZEN! -# PGADMIN_CONFIG_SERVER_MODE: 'False' -# volumes: -# - pgadmin_data:/var/lib/pgadmin # Benanntes Volume -# ports: -# # Port 5050 auf dem Host (nur localhost) → Port 80 im Container -# - "${PGADMIN_PORT:-127.0.0.1:5050}:80" -# networks: -# - meldestelle-net # <--- Muss zum Netzwerk-Namen passen -# depends_on: # PgAdmin braucht die DB -# - db networks: meldestelle-net: driver: bridge volumes: - postgres_data: # <--- Konsistenter Name -# pgadmin_data: # <--- Konsistenter Name + sqlite_data: # Volume für SQLite Datenbank