Wiki/compose.yml
Corentin 4d9fb518b1
Some checks are pending
CI / Lint bridge (Biome) (push) Waiting to run
CI / Type-check bridge (push) Blocked by required conditions
CI / Tests unit bridge (push) Blocked by required conditions
CI / Tests integration bridge (push) Blocked by required conditions
CI / Security scan (push) Waiting to run
CI / Docker build + healthcheck (push) Blocked by required conditions
E2E Playwright / Playwright e2e (chromium) (push) Waiting to run
feat(deploy): wire prod stack for stark and add bridge healthcheck
- compose.yml: expose BASEROW_USER_EMAIL/PASSWORD, DOCMOST_APP_SECRET,
  DOCMOST_JWT_ISSUER on bridge service (required for user JWT + admin)
- compose.prod.yml: switch to acadedoc:${ACADEDOC_VERSION} image with
  pull_policy=never, point Traefik routers at *.stark.a3n.fr, attach to
  admin_proxy external network, add bridge service block with dual router
  (public bridge.stark.a3n.fr + same-origin /bridge prefix on doc), SMTP
  env vars, CPU caps and reservations on all services, healthchecks on
  baserow / redis / bridge
2026-05-12 06:21:28 +00:00

83 lines
2.1 KiB
YAML

name: formation-hub
services:
docmost-db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: ${DOCMOST_DB_PASSWORD:?DOCMOST_DB_PASSWORD requis}
volumes:
- docmost-db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U docmost"]
interval: 5s
timeout: 3s
retries: 10
docmost-redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- docmost-redis:/data
command: redis-server --appendonly yes
docmost:
build:
context: ./docmost
dockerfile: Dockerfile
image: acadenice/acadedoc:local
restart: unless-stopped
depends_on:
docmost-db:
condition: service_healthy
docmost-redis:
condition: service_started
environment:
APP_URL: ${DOCMOST_URL:-http://localhost:3000}
APP_SECRET: ${DOCMOST_APP_SECRET:?DOCMOST_APP_SECRET requis (32+ chars)}
DATABASE_URL: postgresql://docmost:${DOCMOST_DB_PASSWORD}@docmost-db:5432/docmost
REDIS_URL: redis://docmost-redis:6379
STORAGE_DRIVER: local
ports:
- "3000:3000"
volumes:
- docmost-files:/app/data/storage
baserow:
image: baserow/baserow:1.30.1
restart: unless-stopped
environment:
BASEROW_PUBLIC_URL: ${BASEROW_URL:-http://localhost:8080}
BASEROW_BACKEND_DEBUG: "false"
BASEROW_EMAIL_SMTP: ""
ports:
- "8080:80"
volumes:
- baserow-data:/baserow/data
bridge:
build: ./bridge
restart: unless-stopped
depends_on:
- baserow
- docmost-redis
environment:
BASEROW_API_URL: http://baserow:80/api
BASEROW_API_TOKEN: ${BASEROW_API_TOKEN}
BASEROW_USER_EMAIL: ${BASEROW_USER_EMAIL}
BASEROW_USER_PASSWORD: ${BASEROW_USER_PASSWORD}
DOCMOST_API_URL: http://docmost:3000/api
DOCMOST_API_TOKEN: ${DOCMOST_API_TOKEN}
DOCMOST_APP_SECRET: ${DOCMOST_APP_SECRET}
DOCMOST_JWT_ISSUER: Docmost
REDIS_URL: redis://docmost-redis:6379
ports:
- "4000:4000"
volumes:
docmost-db:
docmost-redis:
docmost-files:
baserow-data: