2020-08-02 15:55:40 +02:00
|
|
|
# Conduit - Behind Traefik Reverse Proxy
|
2024-03-06 03:54:44 +01:00
|
|
|
version: '2.4' # uses '2.4' for cpuset
|
2020-08-02 15:55:40 +02:00
|
|
|
|
|
|
|
services:
|
|
|
|
homeserver:
|
2020-08-24 23:30:39 +02:00
|
|
|
### If you already built the Conduit image with 'docker build' or want to use the Docker Hub image,
|
|
|
|
### then you are ready to go.
|
2024-02-14 23:05:53 +01:00
|
|
|
image: girlbossceo/conduwuit:latest
|
2020-08-24 23:30:39 +02:00
|
|
|
### If you want to build a fresh image from the sources, then comment the image line and uncomment the
|
|
|
|
### build lines. If you want meaningful labels in your built Conduit image, you should run docker-compose like this:
|
2020-08-04 22:04:27 +02:00
|
|
|
### CREATED=$(date -u +'%Y-%m-%dT%H:%M:%SZ') VERSION=$(grep -m1 -o '[0-9].[0-9].[0-9]' Cargo.toml) docker-compose up -d
|
2020-08-24 23:30:39 +02:00
|
|
|
# build:
|
|
|
|
# context: .
|
|
|
|
# args:
|
2021-08-09 21:21:18 +02:00
|
|
|
# CREATED: '2021-03-16T08:18:27Z'
|
|
|
|
# VERSION: '0.1.0'
|
2020-08-24 23:30:39 +02:00
|
|
|
# LOCAL: 'false'
|
2021-03-12 18:26:23 +01:00
|
|
|
# GIT_REF: origin/master
|
2020-08-02 15:55:40 +02:00
|
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
|
|
- db:/srv/conduit/.local/share/conduit
|
2024-03-06 03:54:44 +01:00
|
|
|
#- ./conduwuit.toml:/etc/conduit.toml
|
2020-08-02 15:55:40 +02:00
|
|
|
networks:
|
|
|
|
- proxy
|
|
|
|
environment:
|
2024-03-06 03:54:44 +01:00
|
|
|
CONDUIT_SERVER_NAME: your.server.name # EDIT THIS
|
2021-05-25 21:34:31 +02:00
|
|
|
CONDUIT_TRUSTED_SERVERS: '["matrix.org"]'
|
2021-08-31 18:25:35 +02:00
|
|
|
CONDUIT_ALLOW_REGISTRATION : 'true'
|
2024-03-06 03:54:44 +01:00
|
|
|
#CONDUIT_CONFIG: './conduwuit.toml' # Uncomment if you mapped config toml above
|
2020-08-02 15:55:40 +02:00
|
|
|
### Uncomment and change values as desired
|
2021-08-09 21:21:18 +02:00
|
|
|
# CONDUIT_ADDRESS: 0.0.0.0
|
2021-07-06 10:40:57 +02:00
|
|
|
# CONDUIT_PORT: 6167
|
2021-03-16 09:14:11 +01:00
|
|
|
# Available levels are: error, warn, info, debug, trace - more info at: https://docs.rs/env_logger/*/env_logger/#enabling-logging
|
2024-01-12 02:45:48 +01:00
|
|
|
# CONDUIT_LOG: info # default is: "warn,state_res=warn"
|
2021-03-12 18:26:23 +01:00
|
|
|
# CONDUIT_ALLOW_JAEGER: 'false'
|
2023-07-29 20:01:38 +02:00
|
|
|
# CONDUIT_ALLOW_ENCRYPTION: 'true'
|
|
|
|
# CONDUIT_ALLOW_FEDERATION: 'true'
|
|
|
|
# CONDUIT_ALLOW_CHECK_FOR_UPDATES: 'true'
|
2021-03-12 18:26:23 +01:00
|
|
|
# CONDUIT_DATABASE_PATH: /srv/conduit/.local/share/conduit
|
|
|
|
# CONDUIT_WORKERS: 10
|
|
|
|
# CONDUIT_MAX_REQUEST_SIZE: 20_000_000 # in bytes, ~20 MB
|
2024-03-06 03:54:44 +01:00
|
|
|
#cpuset: "0-4" # Uncomment to limit to specific CPU cores
|
2020-08-02 15:55:40 +02:00
|
|
|
|
2021-08-17 14:44:53 +02:00
|
|
|
# We need some way to server the client and server .well-known json. The simplest way is to use a nginx container
|
|
|
|
# to serve those two as static files. If you want to use a different way, delete or comment the below service, here
|
|
|
|
# and in the docker-compose override file.
|
|
|
|
well-known:
|
|
|
|
image: nginx:latest
|
|
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
|
|
- ./nginx/matrix.conf:/etc/nginx/conf.d/matrix.conf # the config to serve the .well-known/matrix files
|
|
|
|
- ./nginx/www:/var/www/ # location of the client and server .well-known-files
|
|
|
|
|
2020-08-02 15:55:40 +02:00
|
|
|
### Uncomment if you want to use your own Element-Web App.
|
|
|
|
### Note: You need to provide a config.json for Element and you also need a second
|
|
|
|
### Domain or Subdomain for the communication between Element and Conduit
|
|
|
|
### Config-Docs: https://github.com/vector-im/element-web/blob/develop/docs/config.md
|
|
|
|
# element-web:
|
2021-03-12 18:26:23 +01:00
|
|
|
# image: vectorim/element-web:latest
|
2020-08-02 15:55:40 +02:00
|
|
|
# restart: unless-stopped
|
|
|
|
# volumes:
|
|
|
|
# - ./element_config.json:/app/config.json
|
|
|
|
# networks:
|
|
|
|
# - proxy
|
|
|
|
# depends_on:
|
|
|
|
# - homeserver
|
|
|
|
|
2022-02-19 17:06:06 +01:00
|
|
|
traefik:
|
|
|
|
image: "traefik:latest"
|
|
|
|
container_name: "traefik"
|
|
|
|
restart: "unless-stopped"
|
|
|
|
ports:
|
|
|
|
- "80:80"
|
|
|
|
- "443:443"
|
|
|
|
volumes:
|
|
|
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
|
|
# - "./traefik_config:/etc/traefik"
|
|
|
|
- "acme:/etc/traefik/acme"
|
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
|
|
|
|
# middleware redirect
|
|
|
|
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
|
|
|
|
# global redirect to https
|
|
|
|
- "traefik.http.routers.redirs.rule=hostregexp(`{host:.+}`)"
|
|
|
|
- "traefik.http.routers.redirs.entrypoints=http"
|
|
|
|
- "traefik.http.routers.redirs.middlewares=redirect-to-https"
|
|
|
|
|
|
|
|
networks:
|
|
|
|
- proxy
|
|
|
|
|
2020-08-02 15:55:40 +02:00
|
|
|
volumes:
|
|
|
|
db:
|
2022-02-19 17:06:06 +01:00
|
|
|
acme:
|
2020-08-02 15:55:40 +02:00
|
|
|
|
|
|
|
networks:
|
2022-02-19 17:06:06 +01:00
|
|
|
proxy:
|