Ctrl K
ComunidadGuías…

compose.yaml

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

Archivo original ↗Preguntar a KiBot
services:
  postgres:
    image: postgres:17-alpine
    environment:
      POSTGRES_DB: promview
      POSTGRES_USER: promview
      POSTGRES_PASSWORD: promview
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U promview -d promview"]
      interval: 2s
      timeout: 3s
      retries: 15
    volumes:
      - postgres-data:/var/lib/postgresql/data

  migrate:
    build: .
    command: ["migrate"]
    depends_on:
      postgres:
        condition: service_healthy
    environment: &app-environment
      PROMVIEW_DATABASE_URL: postgres://promview:promview@postgres:5432/promview?sslmode=disable
      PROMVIEW_BOOTSTRAP_SOURCE_SLUG: demo
      PROMVIEW_BOOTSTRAP_SOURCE_NAME: Development Alertmanager
      PROMVIEW_BOOTSTRAP_SOURCE_TOKEN: development-token
      PROMVIEW_AUTH_MODE: ${PROMVIEW_AUTH_MODE:-open}
      PROMVIEW_OPEN_MODE_ROLE: ${PROMVIEW_OPEN_MODE_ROLE:-viewer}
      PROMVIEW_OPEN_MODE_AUTHOR: ${PROMVIEW_OPEN_MODE_AUTHOR:-promview-open-mode}
      PROMVIEW_OIDC_ISSUER_URL: ${PROMVIEW_OIDC_ISSUER_URL:-}
      PROMVIEW_OIDC_CLIENT_ID: ${PROMVIEW_OIDC_CLIENT_ID:-}
      PROMVIEW_OIDC_CLIENT_SECRET: ${PROMVIEW_OIDC_CLIENT_SECRET:-}
      PROMVIEW_OIDC_REDIRECT_URL: ${PROMVIEW_OIDC_REDIRECT_URL:-}
      PROMVIEW_OIDC_SCOPES: ${PROMVIEW_OIDC_SCOPES:-openid,profile,email,groups}
      PROMVIEW_OIDC_USERNAME_CLAIM: ${PROMVIEW_OIDC_USERNAME_CLAIM:-preferred_username}
      PROMVIEW_OIDC_EMAIL_CLAIM: ${PROMVIEW_OIDC_EMAIL_CLAIM:-email}
      PROMVIEW_OIDC_DISPLAY_NAME_CLAIM: ${PROMVIEW_OIDC_DISPLAY_NAME_CLAIM:-name}
      PROMVIEW_OIDC_GROUPS_CLAIM: ${PROMVIEW_OIDC_GROUPS_CLAIM:-groups}
      PROMVIEW_SESSION_COOKIE_SECURE: ${PROMVIEW_SESSION_COOKIE_SECURE:-true}
      PROMVIEW_LDAP_URL: ${PROMVIEW_LDAP_URL:-}
      PROMVIEW_LDAP_ISSUER: ${PROMVIEW_LDAP_ISSUER:-}
      PROMVIEW_LDAP_BIND_DN: ${PROMVIEW_LDAP_BIND_DN:-}
      PROMVIEW_LDAP_BIND_PASSWORD: ${PROMVIEW_LDAP_BIND_PASSWORD:-}
      PROMVIEW_LDAP_BASE_DN: ${PROMVIEW_LDAP_BASE_DN:-}
      PROMVIEW_LDAP_USER_FILTER: ${PROMVIEW_LDAP_USER_FILTER:-(uid=%s)}
      PROMVIEW_LDAP_GROUP_ATTRIBUTE: ${PROMVIEW_LDAP_GROUP_ATTRIBUTE:-memberOf}
      PROMVIEW_LDAP_GROUP_BASE_DN: ${PROMVIEW_LDAP_GROUP_BASE_DN:-}
      PROMVIEW_LDAP_GROUP_FILTER: ${PROMVIEW_LDAP_GROUP_FILTER:-(member=%s)}
      PROMVIEW_LDAP_GROUP_FORMAT: ${PROMVIEW_LDAP_GROUP_FORMAT:-cn}
      PROMVIEW_LDAP_START_TLS: ${PROMVIEW_LDAP_START_TLS:-false}
      # Local accounts need nothing declared here: they are created with
      # `docker compose run --rm app user create` once the stack is up.
      PROMVIEW_LOCAL_PASSWORD: ${PROMVIEW_LOCAL_PASSWORD:-}

  app:
    build: .
    depends_on:
      migrate:
        condition: service_completed_successfully
    environment: *app-environment
    ports:
      - "8080:8080"

volumes:
  postgres-data: