Ctrl K
ComunidadGuías…

docker-compose-dev.frontend.yml

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

Archivo original ↗Preguntar a KiBot
# The frontend on the dev server. `make dev-server-frontend`.
#
#   docker compose --env-file backend/.env -f docker-compose-dev.frontend.yml pull
#   docker compose --env-file backend/.env -f docker-compose-dev.frontend.yml up -d
#
# Start `docker-compose-dev.yml` first: this joins the network it creates, and
# refuses to start otherwise (`external: true`) rather than coming up healthy
# with nothing behind it.
#
# `PUBLIC_*` are what the console tells the *browser* to call, so they have to
# be the public hostnames rather than container names. They are read when the
# container starts (#1544), so the image is the published one and a change is a
# restart.

services:
  frontend:
    image: ghcr.io/vstorm-co/agenticos-frontend:${AGENTICOS_VERSION:-edge}
    environment:
      # Server-side rendering and the route handlers proxy over the compose
      # network, so these are container names rather than public URLs.
      - NODE_ENV=production
      - BACKEND_URL=http://app:8000
      - PUBLIC_API_URL=${PUBLIC_API_URL:?PUBLIC_API_URL is required, e.g. https://dev-api.example.com}
      - PUBLIC_WS_URL=${PUBLIC_WS_URL:?PUBLIC_WS_URL is required, e.g. wss://dev-api.example.com}
      - PUBLIC_SITE_URL=${PUBLIC_SITE_URL:?PUBLIC_SITE_URL is required, e.g. https://dev.example.com}
      # Where artifact pages are framed from, when not the API origin above.
      - ARTIFACT_ORIGIN=${ARTIFACT_ORIGIN:-}
      - CHAT_MAX_UPLOAD_SIZE_MB=${CHAT_MAX_UPLOAD_SIZE_MB:-10}
      - DIAGNOSTICS_ENABLED=${DIAGNOSTICS_ENABLED:-true}
      - DIAGNOSTICS_PUBLIC_URL=${DIAGNOSTICS_PUBLIC_URL:-https://analytics-agenticos.testapp.ovh}
      - OAUTH_PROVIDERS=${OAUTH_PROVIDERS:-google}
      - OIDC_DISPLAY_NAME=${OIDC_DISPLAY_NAME:-}
      - OIDC_ICON=${OIDC_ICON:-}
      - LDAP_DISPLAY_NAME=${LDAP_DISPLAY_NAME:-}
      - KERBEROS_DISPLAY_NAME=${KERBEROS_DISPLAY_NAME:-}
    ports:
      - "3000:3000"
    networks:
      backend:
        # `nginx/nginx.conf` proxies to `frontend:3000`.
        aliases:
          - frontend
    restart: unless-stopped
    healthcheck:
      # The oven/bun image has no curl/wget, so probe with bun's built-in fetch.
      test: ["CMD", "bun", "-e", "fetch('http://localhost:3000/api/health').then((r) => process.exit(r.ok ? 0 : 1), () => process.exit(1))"]
      interval: 30s
      timeout: 10s
      start_period: 40s
      retries: 3

networks:
  backend:
    name: ${AGENTICOS_NETWORK:-agenticos_backend}
    external: true