Co-authored-by: jason.woltje <jason@diversecanvas.com> Co-committed-by: jason.woltje <jason@diversecanvas.com>
61 lines
2.1 KiB
YAML
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
|