Ctrl K
ComunidadGuías…

docker-compose.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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: