f855f91b8b
TEST-SPEC harness paths and compose Dockerfiles are deliverables until code lands. Cases stay not run. Stops agents inventing alternate test trees.
45 lines
1.5 KiB
YAML
45 lines
1.5 KiB
YAML
# Implementable compose for SlabUploader.
|
|
# Phase 0 deliverable targets: frontend/Dockerfile, backend/Dockerfile,
|
|
# backend/app/prompts/, and deploy/.env.example are not yet in the tree on
|
|
# docs-only main. This file pins their paths so scaffolding does not invent them.
|
|
# From repo root (after those scaffolds exist):
|
|
# cp deploy/.env.example deploy/.env && chmod 600 deploy/.env
|
|
# docker compose -f deploy/docker-compose.yml --env-file deploy/.env up -d
|
|
# Bind loopback only. Caddy is the TLS edge. Services on the compose network
|
|
# are named `frontend` and `fastapi` (must match Caddyfile.fragment).
|
|
#
|
|
# WOO_BASE_URL is deploy-time SoT, HTTPS only. FastAPI must refuse http://
|
|
# at startup. Settings UI displays the URL read-only.
|
|
|
|
services:
|
|
frontend:
|
|
build:
|
|
context: ..
|
|
dockerfile: frontend/Dockerfile
|
|
ports: ["127.0.0.1:${FRONTEND_PORT:-18080}:80"]
|
|
depends_on: [fastapi]
|
|
restart: unless-stopped
|
|
|
|
fastapi:
|
|
build:
|
|
context: ..
|
|
dockerfile: backend/Dockerfile
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
SLAB_AES_KEY: ${SLAB_AES_KEY}
|
|
WOO_BASE_URL: ${WOO_BASE_URL}
|
|
APP_HOSTNAME: ${APP_HOSTNAME:-}
|
|
# Woo Application Password + inference keys: AES-GCM in SQLite via Settings UI
|
|
volumes:
|
|
- slab_db:/data
|
|
- slab_images:/images
|
|
- ../backend/app/prompts:/app/prompts:ro
|
|
ports: ["127.0.0.1:${FASTAPI_PORT:-18081}:8000"]
|
|
mem_limit: 2g
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
slab_db:
|
|
slab_images:
|