This commit is contained in:
Tibo De Peuter 2025-03-13 01:26:58 +01:00
parent 6a6eed8978
commit 77cdb652e9
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2
6 changed files with 138 additions and 414 deletions

View file

@ -2,33 +2,27 @@ services:
web:
build:
context: .
dockerfile: ./frontend/Dockerfile
dockerfile: frontend/Dockerfile
ports:
- '8090:80/tcp'
- '8080:8008/tcp'
restart: unless-stopped
# networks:
# - dwengo-1
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.web.rule=PathPrefix(`/`)'
- 'traefik.http.services.web.loadbalancer.server.port=80'
- 'traefik.http.services.web.loadbalancer.server.port=8080'
api:
build:
context: .
dockerfile: ./backend/Dockerfile
dockerfile: backend/Dockerfile
ports:
- '3000:3000/tcp'
restart: unless-stopped
volumes:
- ./backend/.env:/app/.env
# networks:
# - dwengo-1
depends_on:
- db
- logging
labels:
- 'traefik.enable=true'
- 'traefik.http.middlewares.api-prefix.stripprefix.prefixes=/api'
- 'traefik.http.routers.api.rule=PathPrefix(`/api`)'
- 'traefik.http.routers.api.middlewares=api-prefix'
@ -45,54 +39,11 @@ services:
restart: unless-stopped
volumes:
- dwengo_postgres_data:/var/lib/postgresql/data
# networks:
# - dwengo-1
reverse-proxy:
image: traefik:v3.3
command: >
--api.insecure=true
--providers.docker=true
--providers.docker.exposedbydefault=false
--entrypoints.web.address=:80/tcp
ports:
- '8080:8080'
- '80:80/tcp'
# - '443:443/tcp'
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- dwengo_letsencrypt:/letsencrypt:ro
# networks:
# - dwengo-1
logging:
image: grafana/loki:latest
ports:
- '3102:3102'
- '9095:9095'
volumes:
- ./config/loki/config.yml:/etc/loki/config.yaml
- dwengo_loki_data:/loki
command: -config.file=/etc/loki/config.yaml
restart: unless-stopped
# networks:
# - dwengo-1
dashboards:
image: grafana/grafana:latest
ports:
- '3100:3000'
volumes:
- dwengo_grafana_data:/var/lib/grafana
restart: unless-stopped
# networks:
# - dwengo-1
idp: # Based on: https://medium.com/@fingervinicius/easy-running-keycloak-with-docker-compose-b0d7a4ee2358
image: quay.io/keycloak/keycloak:latest
volumes:
- ./idp:/opt/keycloak/data/import
- ./config/idp:/opt/keycloak/data/import
environment:
KC_HOSTNAME: localhost
KC_HOSTNAME_PORT: 7080
@ -101,17 +52,51 @@ services:
KC_BOOTSTRAP_ADMIN_PASSWORD: admin
KC_HEALTH_ENABLED: 'true'
KC_LOG_LEVEL: info
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:7080/health/ready']
interval: 15s
timeout: 2s
retries: 15
command: ['start-dev', '--http-port', '7080', '--https-port', '7443', '--import-realm']
PROXY_ADDRESS_FORWARDING: 'true'
KC_HTTP_RELATIVE_PATH: '/idp'
command: [ 'start-dev', '--http-port', '7080', '--https-port', '7443', '--import-realm' ]
ports:
- '7080:7080'
- '7443:7443'
depends_on:
- db
labels:
- 'traefik.http.routers.idp.rule=PathPrefix(`/idp`)'
- 'traefik.http.services.idp.loadbalancer.server.port=7080'
reverse-proxy:
image: traefik:v3.3
command:
- '--api.insecure=true'
- '--providers.docker=true'
- '--providers.docker.exposedbydefault=true'
- '--entrypoints.web.address=:80/tcp'
ports:
- '9000:8080'
- '80:80/tcp'
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- dwengo_letsencrypt:/letsencrypt:ro
logging:
image: grafana/loki:latest
ports:
- '9001:3102'
- '9095:9095'
volumes:
- ./config/loki/config.yml:/etc/loki/config.yaml
- dwengo_loki_data:/loki
command: -config.file=/etc/loki/config.yaml
restart: unless-stopped
dashboards:
image: grafana/grafana:latest
ports:
- '9002:3000'
volumes:
- dwengo_grafana_data:/var/lib/grafana
restart: unless-stopped
volumes:
dwengo_postgres_data: