Files
deploy/docker-compose.yaml

117 lines
2.4 KiB
YAML

services:
keycloak:
image: hub.anxietyprime.de/swa-jodel/keycloak:latest
container_name: swa-keycloak
command:
- start-dev
env_file:
- ./.keycloak-env
environment:
KC_DB: postgres
KC_DB_SCHEMA: public
KC_DB_URL: jdbc:postgresql://keycloak-db/keycloak
KC_HTTP_RELATIVE_PATH: /auth
ports:
- 8080:8080
networks:
- swa-keycloak
- swa-keycloak-db
healthcheck:
test: echo ""
interval: 5s
timeout: 5s
retries: 30
depends_on:
keycloak-db:
condition: service_healthy
keycloak-db:
image: hub.anxietyprime.de/swa-jodel/keycloak-db:latest
container_name: swa-keycloak-db
env_file:
- ./.keycloak-env
volumes:
- ./keycloak-db/:/var/lib/postgresql/data
expose:
- 5432
networks:
- swa-keycloak-db
healthcheck:
test: pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB
start_period: 5s
interval: 5s
timeout: 5s
retries: 30
frontend:
image: hub.anxietyprime.de/swa-jodel/frontend:latest
container_name: swa-frontend
ports:
- 80:80
networks:
- swa-public
healthcheck:
test: ["CMD", "service", "nginx", "status"]
interval: 5s
timeout: 5s
retries: 30
depends_on:
backend:
condition: service_healthy
backend:
image: hub.anxietyprime.de/swa-jodel/backend:latest
container_name: swa-backend
env_file:
- ./.backend-env
ports:
- 3000:8080
networks:
- swa-public
- swa-keycloak
- swa-database
healthcheck:
test: echo ""
interval: 5s
timeout: 5s
retries: 30
depends_on:
keycloak:
condition: service_healthy
database:
condition: service_healthy
database:
image: hub.anxietyprime.de/swa-jodel/database:latest
container_name: swa-database
env_file:
- ./.backend-env
volumes:
- ./backend-db/:/var/lib/postgresql/data
expose:
- 5432
networks:
- swa-database
healthcheck:
test: pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB
start_period: 5s
interval: 5s
timeout: 5s
retries: 30
networks:
default:
external: false
swa-keycloak:
name: swa-keycloak
swa-keycloak-db:
name: swa-keycloak-db
swa-public:
name: swa-public
swa-database:
name: swa-database