2025-04-22 07:56:42 -05:00
|
|
|
# Continuwuity - Behind Traefik Reverse Proxy
|
2020-08-02 15:55:40 +02:00
|
|
|
|
|
|
|
|
services:
|
2024-08-31 14:08:31 +02:00
|
|
|
homeserver:
|
2025-04-20 23:50:48 +01:00
|
|
|
image: forgejo.ellis.link/continuwuation/continuwuity:latest
|
2024-08-31 14:08:31 +02:00
|
|
|
restart: unless-stopped
|
2026-03-11 14:59:58 +01:00
|
|
|
command: /sbin/conduwuit
|
2024-08-31 14:08:31 +02:00
|
|
|
volumes:
|
2025-05-10 20:37:08 +01:00
|
|
|
- db:/var/lib/continuwuity
|
|
|
|
|
#- ./continuwuity.toml:/etc/continuwuity.toml
|
2024-08-31 14:08:31 +02:00
|
|
|
networks:
|
|
|
|
|
- proxy
|
2025-07-30 19:33:53 +01:00
|
|
|
labels:
|
|
|
|
|
- "traefik.enable=true"
|
|
|
|
|
- "traefik.http.routers.continuwuity.rule=(Host(`matrix.example.com`) || (Host(`example.com`) && PathPrefix(`/.well-known/matrix`)))"
|
|
|
|
|
- "traefik.http.routers.continuwuity.entrypoints=websecure" # your HTTPS entry point
|
|
|
|
|
- "traefik.http.routers.continuwuity.tls=true"
|
|
|
|
|
- "traefik.http.routers.continuwuity.service=continuwuity"
|
2026-03-28 09:22:40 +00:00
|
|
|
- "traefik.http.services.continuwuity.loadbalancer.server.port=8008"
|
2025-07-30 19:33:53 +01:00
|
|
|
# possibly, depending on your config:
|
|
|
|
|
# - "traefik.http.routers.continuwuity.tls.certresolver=letsencrypt"
|
2024-08-31 14:08:31 +02:00
|
|
|
environment:
|
2026-03-28 09:22:40 +00:00
|
|
|
CONTINUWUITY_SERVER_NAME: example.com # EDIT THIS
|
2025-05-10 20:37:08 +01:00
|
|
|
CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity
|
|
|
|
|
CONTINUWUITY_ADDRESS: 0.0.0.0
|
2026-03-28 09:22:40 +00:00
|
|
|
CONTINUWUITY_PORT: 8008 # This must match with traefik's loadbalancer label
|
2025-05-10 20:37:08 +01:00
|
|
|
#CONTINUWUITY_CONFIG: '/etc/continuwuity.toml' # Uncomment if you mapped config toml above
|
2024-08-31 14:08:31 +02:00
|
|
|
|
2025-05-10 20:37:08 +01:00
|
|
|
# We need some way to serve the client and server .well-known json. The simplest way is via the CONTINUWUITY_WELL_KNOWN
|
|
|
|
|
# variable / config option, there are multiple ways to do this, e.g. in the continuwuity.toml file, and in a separate
|
2024-08-31 14:08:31 +02:00
|
|
|
# see the override file for more information about delegation
|
2025-05-10 20:37:08 +01:00
|
|
|
CONTINUWUITY_WELL_KNOWN: |
|
2024-08-31 14:08:31 +02:00
|
|
|
{
|
2026-03-28 09:22:40 +00:00
|
|
|
client=https://matrix.example.com,
|
|
|
|
|
server=matrix.example.com:443
|
2024-08-31 14:08:31 +02:00
|
|
|
}
|
|
|
|
|
#cpuset: "0-4" # Uncomment to limit to specific CPU cores
|
2025-04-22 07:56:42 -05:00
|
|
|
ulimits: # Continuwuity uses quite a few file descriptors, and on some systems it defaults to 1024, so you can tell docker to increase it
|
2024-08-31 14:08:31 +02:00
|
|
|
nofile:
|
|
|
|
|
soft: 1048567
|
|
|
|
|
hard: 1048567
|
2020-08-02 15:55:40 +02:00
|
|
|
|
|
|
|
|
volumes:
|
2024-08-31 14:08:31 +02:00
|
|
|
db:
|
2020-08-02 15:55:40 +02:00
|
|
|
|
|
|
|
|
networks:
|
2024-08-31 14:08:31 +02:00
|
|
|
# This is the network Traefik listens to, if your network has a different
|
|
|
|
|
# name, don't forget to change it here and in the docker-compose.override.yml
|
|
|
|
|
proxy:
|
|
|
|
|
external: true
|