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