5cc781b57e
Changes: - Renamed docker-compose.production.yml → docker-compose.yml (main config) - Moved unused compose files to compose-variants/ folder: - docker-compose.local.yml → compose-variants/ - docker-compose.authelia.yml → compose-variants/ - docker-compose.caddy.yml → compose-variants/ - docker-compose.yml (old) → compose-variants/docker-compose.old.yml - Added compose-variants/README.md explaining the variants Benefits: - Default command now works: docker compose up -d (no -f flag needed) - Cleaner project root directory - Clear separation between active config and variants - Multi-machine deployment is the default mode Updated Documentation: - MULTI_MACHINE_CONFIG_SNIPPETS.md: Removed -f flags from all commands - README.md: Updated deploy commands to use simplified syntax - All commands now use: docker compose up -d Deployment Modes (from docker-compose.yml): 1. Multi-machine (default): docker compose up -d → Starts: Synapse, MAS, Element, PostgreSQL only 2. Single-machine with Authelia: docker compose --profile single-machine --profile authelia up -d → Starts everything including Caddy and Authelia 3. Single-machine without Authelia: docker compose --profile single-machine up -d → Starts everything with Caddy, no Authelia This makes the default behavior match the multi-machine architecture where Caddy and Authelia run on separate servers. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
36 lines
1.1 KiB
YAML
36 lines
1.1 KiB
YAML
# Standalone Caddy deployment for production
|
|
# Deploy this on your SSL termination/reverse proxy machine
|
|
# This machine should have:
|
|
# - Public IP with ports 80/443 accessible
|
|
# - DNS A records pointing to this machine
|
|
# - Network access to Matrix server machine
|
|
#
|
|
# Configuration:
|
|
# - Update caddy/Caddyfile.production with your domains and backend IPs
|
|
# - Ensure proper firewall rules between this and Matrix server
|
|
|
|
services:
|
|
caddy:
|
|
image: caddy:2-alpine
|
|
container_name: caddy-proxy
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80" # HTTP (redirects to HTTPS)
|
|
- "443:443" # HTTPS
|
|
- "443:443/udp" # HTTP/3
|
|
- "2019:2019" # Admin API (restrict access!)
|
|
volumes:
|
|
- ./caddy/Caddyfile.production:/etc/caddy/Caddyfile:ro
|
|
- ./caddy/data:/data
|
|
- ./caddy/config:/config
|
|
networks:
|
|
- caddy-network
|
|
environment:
|
|
- ACME_AGREE=true
|
|
# Optional: restrict admin API to localhost only
|
|
# command: caddy run --config /etc/caddy/Caddyfile --adapter caddyfile --admin localhost:2019
|
|
|
|
networks:
|
|
caddy-network:
|
|
driver: bridge
|