You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swissoid-back/docker-compose.example.yml

62 lines
1.7 KiB
YAML

version: "3.9"
# Example Docker Compose configuration for swissoid-back Redis requirement
# This Redis service is required for session storage in swissoid-back
services:
# Redis service for session storage
# Required by swissoid-back for:
# - Session management (storing user sessions)
# - JTI replay prevention (single-use token enforcement)
# - Transit token storage (temporary tokens during login flow)
swissoid-redis:
image: redis:latest
container_name: ${REDIS_HOST:-swissoid-redis}
expose:
- 6379
volumes:
- redis:/data
restart: always
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 30s
timeout: 10s
retries: 3
networks:
- app_network
# Example application using swissoid-back
# your-app:
# image: your-app:latest
# environment:
# # Redis configuration for swissoid-back
# REDIS_HOST: ${REDIS_HOST:-swissoid-redis}
# REDIS_PORT: ${REDIS_PORT:-6379}
# REDIS_DB: ${REDIS_DB:-0}
#
# # SwissOID configuration
# SWISSOID_ISSUER: ${SWISSOID_ISSUER}
# SWISSOID_CLIENT_ID: ${SWISSOID_CLIENT_ID}
# SWISSOID_CLIENT_SECRET: ${SWISSOID_CLIENT_SECRET}
# SWISSOID_TOKEN_ENDPOINT: ${SWISSOID_TOKEN_ENDPOINT}
# SWISSOID_JWKS_URI: ${SWISSOID_JWKS_URI}
#
# # RP configuration
# COOKIE_DOMAIN: ${COOKIE_DOMAIN}
# RP_FRONTEND_URL: ${RP_FRONTEND_URL}
# SESSION_COOKIE_NAME: ${SESSION_COOKIE_NAME}
# SESSION_SECRET: ${SESSION_SECRET}
# depends_on:
# - swissoid-redis
# networks:
# - app_network
volumes:
redis:
name: "swissoid-redis-volume"
networks:
app_network:
name: swissoid-app_network
external: false