55 lines
1.2 KiB
YAML
55 lines
1.2 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Keycloak pour OIDC (optionnel, pour développement)
|
|
keycloak:
|
|
image: quay.io/keycloak/keycloak:latest
|
|
environment:
|
|
KEYCLOAK_ADMIN: admin
|
|
KEYCLOAK_ADMIN_PASSWORD: admin
|
|
KC_DB: h2
|
|
KC_HTTP_ENABLED: 'true'
|
|
KC_HTTP_PORT: 8080
|
|
ports:
|
|
- "8080:8080"
|
|
command:
|
|
- start-dev
|
|
|
|
# Secure Proxy
|
|
secure-proxy:
|
|
build: .
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
NODE_ENV: development
|
|
PORT: 3000
|
|
PROXY_URL: http://localhost:3000
|
|
OIDC_ISSUER: http://keycloak:8080/auth/realms/master
|
|
OIDC_CLIENT_ID: openidv2-client
|
|
OIDC_CLIENT_SECRET: your_secret_here
|
|
OIDC_CALLBACK_URL: http://localhost:3000/callback
|
|
ADMIN_USERNAME: admin@example.com
|
|
SESSION_SECRET: dev-secret-change-in-production
|
|
DB_PATH: /app/db/services.db
|
|
depends_on:
|
|
- keycloak
|
|
volumes:
|
|
- ./db:/app/db
|
|
- ./sessions:/app/sessions
|
|
networks:
|
|
- secure-network
|
|
|
|
# Exemple de service local à proxifier
|
|
sample-service:
|
|
image: nginx:alpine
|
|
ports:
|
|
- "8888:80"
|
|
networks:
|
|
- secure-network
|
|
volumes:
|
|
- ./docs:/usr/share/nginx/html
|
|
|
|
networks:
|
|
secure-network:
|
|
driver: bridge
|