Files
thingy/docker-compose.yml
2026-07-19 07:20:58 +01:00

84 lines
1.7 KiB
YAML

services:
caddy:
image: caddy:2.11-alpine
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro,z
- caddy-data:/data
- caddy-config:/config
networks:
- services
stalwart:
image: stalwartlabs/stalwart:v0.16-alpine
container_name: stalwart
restart: unless-stopped
environment:
- STALWART_PUBLIC_URL
- OIDC_KEY
- OIDC_SIGNATURE_KEY
ports:
- "25:25"
- "465:465"
- "993:993"
- "4190:4190"
- "127.0.0.1:8080:8080"
volumes:
- stalwart-etc:/etc/stalwart
- stalwart-data:/var/lib/stalwart
networks:
- services
bulwark:
image: ghcr.io/bulwarkmail/webmail:latest
container_name: bulwark
restart: unless-stopped
environment:
- JMAP_SERVER_URL
- SESSION_SECRET
- SETTINGS_SYNC_ENABLED
- ADMIN_PASSWORD
volumes:
- bulwark-settings:/app/data/settings
- bulwark-config:/app/data/admin # rw during setup
# - bulwark-config:/app/data/admin:ro # ro after setup
- bulwark-state:/app/data/admin-state
- bulwark-telemetry:/app/data/telemetry
networks:
- services
depends_on:
- stalwart
gitea:
image: docker.gitea.com/gitea:1.27.0
container_name: gitea
restart: unless-stopped
environment:
- USER_UID=1000
- USER_GID=1000
ports:
- "22:22"
volumes:
- gitea-data:/data
networks:
- services
volumes:
caddy-data:
caddy-config:
stalwart-etc:
stalwart-data:
bulwark-settings:
bulwark-config:
bulwark-state:
bulwark-telemetry:
gitea-data:
networks:
services: