added traefik

This commit is contained in:
2024-05-30 00:25:26 +02:00
parent c26508fc3a
commit aa8695d457

View File

@@ -2,8 +2,7 @@ services:
keycloak: keycloak:
image: hub.anxietyprime.de/swa-jodel/keycloak:latest image: hub.anxietyprime.de/swa-jodel/keycloak:latest
container_name: swa-keycloak container_name: swa-keycloak
command: command: ["start-dev"]
- start-dev
env_file: env_file:
- ./.keycloak-env - ./.keycloak-env
environment: environment:
@@ -11,13 +10,21 @@ services:
KC_DB_SCHEMA: public KC_DB_SCHEMA: public
KC_DB_URL: jdbc:postgresql://keycloak-db/keycloak KC_DB_URL: jdbc:postgresql://keycloak-db/keycloak
#KC_HTTP_RELATIVE_PATH: /auth #KC_HTTP_RELATIVE_PATH: /auth
ports: expose:
- 9000:8080 - 8080
networks: networks:
swa-public:
swa-keycloak: swa-keycloak:
ipv4_address: 10.42.1.2 ipv4_address: 10.42.0.3
swa-keycloak-db: swa-keycloak-db:
ipv4_address: 10.42.2.3 ipv4_address: 10.42.0.10
labels:
- "traefik.enable=true"
- "traefik.http.routers.keycloak.rule=Host(`keycloak.local.anxietyprime.de`)"
- "traefik.http.routers.keycloak.entrypoints=websecure"
- "traefik.http.routers.keycloak.tls.certresolver=letsencrypt"
- "traefik.http.services.keycloak.loadbalancer.server.port=8080"
- "traefik.http.routers.keycloak.service=keycloak"
healthcheck: healthcheck:
test: echo "" test: echo ""
interval: 5s interval: 5s
@@ -39,7 +46,7 @@ services:
- 5432 - 5432
networks: networks:
swa-keycloak-db: swa-keycloak-db:
ipv4_address: 10.42.2.2 ipv4_address: 10.42.0.11
healthcheck: healthcheck:
test: pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB test: pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB
start_period: 5s start_period: 5s
@@ -51,11 +58,17 @@ services:
frontend: frontend:
image: hub.anxietyprime.de/swa-jodel/frontend:latest image: hub.anxietyprime.de/swa-jodel/frontend:latest
container_name: swa-frontend container_name: swa-frontend
ports: expose:
- 80:80 - 80
networks: networks:
swa-public: swa-public:
ipv4_address: 10.42.0.2 labels:
- "traefik.enable=true"
- "traefik.http.routers.jodel.rule=Host(`jodel.local.anxietyprime.de`)"
- "traefik.http.routers.jodel.entrypoints=websecure"
- "traefik.http.routers.jodel.tls.certresolver=letsencrypt"
- "traefik.http.services.jodel.loadbalancer.server.port=80"
- "traefik.http.routers.jodel.service=jodel"
healthcheck: healthcheck:
test: ["CMD", "service", "nginx", "status"] test: ["CMD", "service", "nginx", "status"]
interval: 5s interval: 5s
@@ -71,15 +84,21 @@ services:
container_name: swa-backend container_name: swa-backend
env_file: env_file:
- ./.backend-env - ./.backend-env
ports: expose:
- 3000:8080 - 8080
networks: networks:
swa-public: swa-public:
ipv4_address: 10.42.0.3
swa-keycloak: swa-keycloak:
ipv4_address: 10.42.1.3 ipv4_address: 10.42.0.2
swa-database: swa-database:
ipv4_address: 10.42.3.3 ipv4_address: 10.42.0.18
labels:
- "traefik.enable=true"
- "traefik.http.routers.api-jodel.rule=Host(`api.jodel.local.anxietyprime.de`)"
- "traefik.http.routers.api-jodel.entrypoints=websecure"
- "traefik.http.routers.api-jodel.tls.certresolver=letsencrypt"
- "traefik.http.services.api-jodel.loadbalancer.server.port=8080"
- "traefik.http.routers.api-jodel.service=api-jodel"
healthcheck: healthcheck:
test: echo "" test: echo ""
interval: 5s interval: 5s
@@ -103,7 +122,7 @@ services:
- 5432 - 5432
networks: networks:
swa-database: swa-database:
ipv4_address: 10.42.3.2 ipv4_address: 10.42.0.19
healthcheck: healthcheck:
test: pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB test: pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB
start_period: 5s start_period: 5s
@@ -117,25 +136,26 @@ networks:
external: false external: false
swa-public: swa-public:
name: swa-public external:
ipam: name: traefik
config:
- subnet: 10.42.0.0/24
swa-keycloak: swa-keycloak:
name: swa-keycloak name: swa-keycloak
ipam: ipam:
config: config:
- subnet: 10.42.1.0/24 - subnet: 10.42.0.0/29
internal: true
swa-keycloak-db: swa-keycloak-db:
name: swa-keycloak-db name: swa-keycloak-db
ipam: ipam:
config: config:
- subnet: 10.42.2.0/24 - subnet: 10.42.0.8/29
internal: true
swa-database: swa-database:
name: swa-database name: swa-database
ipam: ipam:
config: config:
- subnet: 10.42.3.0/24 - subnet: 10.42.0.16/29
internal: true