fix Docker
This commit is contained in:
+3
-1
@@ -11,5 +11,7 @@ RUN gradle :server:shadowJar --no-configure-on-demand
|
|||||||
FROM openjdk:21-slim-bookworm AS runtime
|
FROM openjdk:21-slim-bookworm AS runtime
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=build /home/gradle/src/server/build/libs/*.jar ./app.jar
|
COPY --from=build /home/gradle/src/server/build/libs/*.jar ./app.jar
|
||||||
EXPOSE 8080
|
# Create data directory for SQLite database
|
||||||
|
RUN mkdir -p /app/data
|
||||||
|
EXPOSE 8081
|
||||||
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
|
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
|
||||||
+3
-54
@@ -7,64 +7,13 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "8080:8081"
|
- "8080:8081"
|
||||||
environment:
|
volumes:
|
||||||
- DB_USER=${POSTGRES_USER}
|
- sqlite_data:/app/data # Volume für SQLite Datenbank
|
||||||
- DB_PASSWORD=${POSTGRES_PASSWORD}
|
|
||||||
- DB_NAME=${POSTGRES_DB}
|
|
||||||
- DB_HOST=db
|
|
||||||
- DB_PORT=5432
|
|
||||||
depends_on:
|
|
||||||
db:
|
|
||||||
condition: service_healthy
|
|
||||||
networks:
|
networks:
|
||||||
- meldestelle-net
|
- 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:
|
networks:
|
||||||
meldestelle-net:
|
meldestelle-net:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
volumes:
|
volumes:
|
||||||
postgres_data: # <--- Konsistenter Name
|
sqlite_data: # Volume für SQLite Datenbank
|
||||||
# pgadmin_data: # <--- Konsistenter Name
|
|
||||||
|
|||||||
Reference in New Issue
Block a user