38 lines
1.3 KiB
YAML
38 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
|