flotilla/e2e/harness/zooid/docker/compose.yaml
2026-08-07 13:11:12 -07:00

37 lines
1.3 KiB
YAML

# The relay the whole suite runs against. Bound to loopback only, and the one server this harness is
# allowed to connect to for real.
#
# The image is distroless and runs as `nonroot`. zooid creates DATA and MEDIA itself, but it cannot
# create their parent /app, so both have to arrive already mounted — and writable by uid 65532,
# which is what `mode` below is for: docker defaults a tmpfs to 1777 and podman does not, and a
# tmpfs the relay cannot write is a container that exits 1 the moment it opens its database.
# Nothing is persisted, so `up --force-recreate` is a guaranteed-empty database.
name: flotilla-e2e-zooid
services:
relay:
image: gitea.coracle.social/coracle/zooid:latest
# The harness dials this published port and sends a `Host` per virtual relay, which is what the
# dispatcher matches against the `host` in each file under config/.
ports:
- "127.0.0.1:3334:3334"
environment:
PORT: "3334"
CONFIG: /app/config
DATA: /app/data
MEDIA: /app/media
volumes:
- type: bind
source: ./config
target: /app/config
read_only: true
- type: tmpfs
target: /app/data
tmpfs:
size: 268435456
mode: 01777
- type: tmpfs
target: /app/media
tmpfs:
size: 33554432
mode: 01777