Files
stack/infra/matrix/docker-compose.dev.yml
jason.woltje 2698ddb7b5
Some checks failed
ci/woodpecker/push/ci-image Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline failed
feat(comms): P1 presence — minimal Synapse + fleet presence room + mosaic.presence heartbeat + liveness (#888)
Co-authored-by: jason.woltje <jason@diversecanvas.com>
Co-committed-by: jason.woltje <jason@diversecanvas.com>
2026-07-25 21:03:18 +00:00

61 lines
2.1 KiB
YAML

# ============================================================================
# docker-compose.dev.yml — Synapse DEV homeserver for RFC-001 P1 (presence)
# ============================================================================
#
# *** DEV-ONLY. LOCAL SANDBOX. Do NOT point this at, or run alongside, any
# live/production homeserver. ***
#
# Single-instance Synapse (RFC-002 Mode B, federation OFF) + an optional
# Element web client for the human view (A4). Brought up by ./dev-up.sh, which
# renders config into ./.data (gitignored) first.
#
# Isolated by design: dedicated project name + network + high host ports so it
# never collides with other stacks on the box (A5).
#
# Host ports: ${MATRIX_HTTP_PORT:-18008} -> Synapse 8008 (plain HTTP)
# ${MATRIX_TLS_PORT:-18448} -> Synapse 8448 (self-signed TLS)
# ${ELEMENT_PORT:-18080} -> Element web (profile: element)
# ----------------------------------------------------------------------------
name: matrix-p1-dev
services:
synapse:
image: matrixdotorg/synapse:latest
container_name: matrix-p1-synapse
restart: 'no'
# Run against the rendered config in /data (dev-up.sh puts it there).
environment:
SYNAPSE_CONFIG_DIR: /data
SYNAPSE_CONFIG_PATH: /data/homeserver.yaml
volumes:
- ./.data:/data
ports:
- '127.0.0.1:${MATRIX_HTTP_PORT:-18008}:8008'
- '127.0.0.1:${MATRIX_TLS_PORT:-18448}:8448'
networks:
- matrix-p1-net
healthcheck:
test: ['CMD-SHELL', 'curl -fsS http://localhost:8008/health || exit 1']
interval: 3s
timeout: 5s
retries: 40
start_period: 5s
# Optional human view (A4). `docker compose --profile element up -d element`.
element:
image: vectorim/element-web:latest
container_name: matrix-p1-element
restart: 'no'
profiles: [element]
volumes:
- ./.data/element-config.json:/app/config.json:ro
ports:
- '127.0.0.1:${ELEMENT_PORT:-18080}:80'
networks:
- matrix-p1-net
networks:
matrix-p1-net:
name: matrix-p1-net
driver: bridge