65 lines
2.0 KiB
YAML
65 lines
2.0 KiB
YAML
services:
|
|
tuwunel:
|
|
image: ghcr.io/matrix-construct/tuwunel:latest
|
|
container_name: tuwunel
|
|
restart: unless-stopped
|
|
mem_limit: 512m
|
|
cpus: 0.5
|
|
expose:
|
|
- "8008"
|
|
environment:
|
|
TUWUNEL_SERVER_NAME: "mmdv-chats.dynv6.net"
|
|
TUWUNEL_DATABASE_PATH: "/var/lib/tuwunel"
|
|
TUWUNEL_PORT: "8008"
|
|
TUWUNEL_ADDRESS: "0.0.0.0"
|
|
TUWUNEL_ALLOW_REGISTRATION: "true"
|
|
TUWUNEL_ALLOW_FEDERATION: "true"
|
|
TUWUNEL_TRUSTED_SERVERS: "[\"matrix.org\"]"
|
|
volumes:
|
|
- tuwunel-db:/var/lib/tuwunel
|
|
labels:
|
|
traefik.enable: "true"
|
|
traefik.http.routers.tuwunel-http.entrypoints: "https"
|
|
traefik.http.routers.tuwunel-http.rule: "Host(`mmdv-chats.dynv6.net`)"
|
|
traefik.http.routers.tuwunel-http.tls.certresolver: "letsencrypt"
|
|
traefik.http.routers.tuwunel-http.service: "tuwunel"
|
|
traefik.http.services.tuwunel.loadbalancer.server.port: "8008"
|
|
|
|
well-known:
|
|
image: nginx:alpine
|
|
container_name: tuwunel-wellknown
|
|
restart: unless-stopped
|
|
expose:
|
|
- "80"
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
mkdir -p /usr/share/nginx/html/.well-known/matrix
|
|
cat > /usr/share/nginx/html/.well-known/matrix/server <<'EOF'
|
|
{
|
|
"m.server": "mmdv-chats.dynv6.net"
|
|
}
|
|
EOF
|
|
cat > /usr/share/nginx/html/.well-known/matrix/client <<'EOF'
|
|
{
|
|
"m.homeserver": {
|
|
"base_url": "https://mmdv-chats.dynv6.net"
|
|
},
|
|
"m.identity_server": {
|
|
"base_url": "https://mmdv-chats.dynv6.net"
|
|
}
|
|
}
|
|
EOF
|
|
nginx -g 'daemon off;'
|
|
labels:
|
|
traefik.enable: "true"
|
|
traefik.http.routers.tuwunel-wk.entrypoints: "https"
|
|
traefik.http.routers.tuwunel-wk.rule: "Host(`mmdv-chats.dynv6.net`) && PathPrefix(`/.well-known`)"
|
|
traefik.http.routers.tuwunel-wk.tls.certresolver: "letsencrypt"
|
|
traefik.http.routers.tuwunel-wk.service: "tuwunel-wk"
|
|
traefik.http.services.tuwunel-wk.loadbalancer.server.port: "80"
|
|
|
|
volumes:
|
|
tuwunel-db:
|