Ctrl K
ComunidadGuías…

docker-compose.yml

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

Archivo original ↗Preguntar a KiBot
services:

  stoa-backend:
    image: ghcr.io/the-d-b/stoa-backend:latest
    container_name: stoa-backend
    volumes:
      - stoa-data:/data
      # Docker control panel — mount WITHOUT :ro (start/stop/restart need write access)
      # - /var/run/docker.sock:/var/run/docker.sock
      # Private CA certificates — avoids needing "Skip TLS verify" on internal services
      # - /usr/local/share/ca-certificates:/usr/local/share/ca-certificates:ro
    environment:
      # ── Required ──────────────────────────────────────────────────────────────
      # Signs JWTs and derives the AES-256 key for encrypting stored secrets.
      # Generate with: openssl rand -hex 32
      STOA_SESSION_SECRET: "change-me-use-openssl-rand-hex-32"

      # ── Optional: paths ───────────────────────────────────────────────────────
      # STOA_DB_PATH: /data/db/stoa.db          # default
      # STOA_PORT: "8080"                        # default
      # STOA_ICONS_DIR: /data/icons              # default
      # STOA_CSS_DIR: /data/css                  # default

      # ── Optional: CORS ────────────────────────────────────────────────────────
      # Required if your reverse proxy rewrites the Host header or if you access
      # the API from a different origin than the frontend.
      # STOA_ALLOWED_ORIGINS: "https://stoa.example.com"

      # ── Optional: OAuth / OIDC ───────────────────────────────────────────────
      # See docs/oauth.md for full setup instructions.
      # STOA_OAUTH_CLIENT_ID: ""
      # STOA_OAUTH_CLIENT_SECRET: ""
      # STOA_OAUTH_ISSUER_URL: "https://auth.example.com/application/o/stoa/"
      # STOA_OAUTH_REDIRECT_URL: "https://stoa.example.com/api/auth/callback"

    restart: unless-stopped
    networks:
      - stoa-net
    healthcheck:
      test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/api/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 10s

  stoa-frontend:
    image: ghcr.io/the-d-b/stoa-frontend:latest
    container_name: stoa-frontend
    ports:
      - "8080:80"
    depends_on:
      - stoa-backend
    restart: unless-stopped
    networks:
      - stoa-net

networks:
  stoa-net:
    driver: bridge

volumes:
  stoa-data:
    driver: local