docker-compose.yml
Rama main · réplica de lectura del repositorio original.
services:
postgres:
image: postgres:16-alpine
container_name: oidc-postgres
restart: unless-stopped
environment:
POSTGRES_DB: ${OIDC_DATABASE_NAME:-oidc}
POSTGRES_USER: ${OIDC_DATABASE_USER:-oidc}
POSTGRES_PASSWORD: ${OIDC_DATABASE_PASSWORD:-oidc_secret}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 10
redis:
image: redis:7-alpine
container_name: oidc-redis
restart: unless-stopped
volumes:
- redis_data:/data
command: ["redis-server", "--appendonly", "yes"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 10
app:
image: ${OIDC_IMAGE:-ghcr.io/luotianyi-0712/openoidc:latest}
container_name: oidc-app
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
ports:
- "${OIDC_SERVER_PORT:-8080}:8080"
environment:
OIDC_SERVER_HOST: "0.0.0.0"
OIDC_SERVER_PORT: "8080"
OIDC_SERVER_ISSUER: "${OIDC_SERVER_ISSUER:-http://localhost:8080}"
OIDC_SERVER_PUBLIC_URL: "${OIDC_SERVER_PUBLIC_URL:-http://localhost:8080}"
OIDC_DATABASE_DRIVER: "postgres"
OIDC_DATABASE_HOST: "postgres"
OIDC_DATABASE_PORT: "5432"
OIDC_DATABASE_USER: "${OIDC_DATABASE_USER:-oidc}"
OIDC_DATABASE_PASSWORD: "${OIDC_DATABASE_PASSWORD:-oidc_secret}"
OIDC_DATABASE_NAME: "${OIDC_DATABASE_NAME:-oidc}"
OIDC_DATABASE_SSLMODE: "disable"
OIDC_REDIS_HOST: "redis"
OIDC_REDIS_PORT: "6379"
OIDC_REDIS_PASSWORD: "${OIDC_REDIS_PASSWORD:-}"
OIDC_REDIS_DB: "${OIDC_REDIS_DB:-0}"
OIDC_ADMIN_EMAIL: "${OIDC_ADMIN_EMAIL:-admin@example.com}"
OIDC_ADMIN_PASSWORD: "${OIDC_ADMIN_PASSWORD:-change_me_now}"
OIDC_SECRETS_CLIENT_SECRET_ENCRYPTION_KEY: "${OIDC_SECRETS_CLIENT_SECRET_ENCRYPTION_KEY:-dev-client-secret-encryption-key}"
OIDC_SESSION_COOKIE_SECURE: "${OIDC_SESSION_COOKIE_SECURE:-false}"
OIDC_LOG_LEVEL: "${OIDC_LOG_LEVEL:-info}"
OIDC_LOG_FORMAT: "${OIDC_LOG_FORMAT:-json}"
volumes:
postgres_data:
redis_data: