Files
deploy/docker-compose.yaml
2024-05-24 20:49:06 +02:00

137 lines
2.8 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:
- 9000:8080
networks:
swa-keycloak:
ipv4_address: 10.42.1.3
swa-keycloak-db:
ipv4_address: 10.42.2.3
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:
ipv4_address: 10.42.2.2
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:
ipv4_address: 10.42.0.3
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:
ipv4_address: 10.42.0.3
swa-keycloak:
ipv4_address: 10.42.1.4
swa-database:
ipv4_address: 10.42.3.3
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:
ipv4_address: 10.42.3.2
healthcheck:
test: pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB
start_period: 5s
interval: 5s
timeout: 5s
retries: 30
networks:
default:
external: false
swa-public:
name: swa-public
ipam:
config:
- subnet: 10.42.0.0/24
swa-keycloak:
name: swa-keycloak
ipam:
config:
- subnet: 10.42.1.0/24
swa-keycloak-db:
name: swa-keycloak-db
ipam:
config:
- subnet: 10.42.2.0/24
swa-database:
name: swa-database
ipam:
config:
- subnet: 10.42.3.0/24