fabro/docker-compose.split-web.yaml
Bryan Helmkamp 9d9c48ba25
feat(server): add docker worker runtime
Add server worker runtime settings and the worker bootstrap API.

Add API bootstrap support for worker CLI processes and Docker-backed workers.

Update the split-web PoC compose config and docs for Docker worker validation.
2026-05-29 21:54:01 -04:00

64 lines
1.5 KiB
YAML

services:
fabro-api:
image: ${FABRO_IMAGE:-fabro-sh/fabro:split-web-poc}
restart: unless-stopped
expose:
- "32276"
command:
- sh
- -c
- >-
install -d -m 0755 /storage/config
&& cp /config/settings.toml /storage/config/settings.toml
&& exec fabro server start --foreground
--bind 0.0.0.0:32276
--config /storage/config/settings.toml
volumes:
- fabro-storage:/storage
- /var/run/docker.sock:/var/run/docker.sock
- ./docker/split-web:/config:ro
environment:
FABRO_WEB_URL: http://localhost:${SPLIT_WEB_PORT:-8080}
SESSION_SECRET: ${SESSION_SECRET:-}
FABRO_DEV_TOKEN: ${FABRO_DEV_TOKEN:-}
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:32276/health"]
interval: 10s
timeout: 5s
retries: 12
start_period: 20s
networks:
- split-web
fabro-web:
image: caddy:2-alpine
restart: unless-stopped
expose:
- "80"
volumes:
- ./apps/fabro-web:/srv/web:ro
- ./docker/split-web/Caddyfile.static:/etc/caddy/Caddyfile:ro
networks:
- split-web
edge:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "${SPLIT_WEB_PORT:-8080}:80"
volumes:
- ./docker/split-web/Caddyfile.edge:/etc/caddy/Caddyfile:ro
depends_on:
fabro-api:
condition: service_healthy
fabro-web:
condition: service_started
networks:
- split-web
volumes:
fabro-storage:
networks:
split-web:
name: fabro-split-web