# Conduit - Behind Traefik Reverse Proxy version: '3' services: homeserver: ### If you already built the Conduit image with 'docker build' or want to use the Docker Hub image, ### then you are ready to go. image: matrixconduit/matrix-conduit:latest ### 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: ### 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 # build: # context: . # args: # CREATED: '2021-03-16T08:18:27Z' # VERSION: '0.1.0' # LOCAL: 'false' # GIT_REF: origin/master restart: unless-stopped volumes: - db:/srv/conduit/.local/share/conduit ### Uncomment if you want to use conduit.toml to configure Conduit ### Note: Set env vars will override conduit.toml values # - ./conduit.toml:/srv/conduit/conduit.toml networks: - proxy environment: CONDUIT_SERVER_NAME: localhost:6167 # replace with your own name CONDUIT_TRUSTED_SERVERS: '["matrix.org"]' ### Uncomment and change values as desired # CONDUIT_ADDRESS: 0.0.0.0 # CONDUIT_PORT: 6167 # CONDUIT_CONFIG: '/srv/conduit/conduit.toml' # if you want to configure purely by env vars, set this to an empty string '' # Available levels are: error, warn, info, debug, trace - more info at: https://docs.rs/env_logger/*/env_logger/#enabling-logging # CONDUIT_LOG: info # default is: "info,rocket=off,_=off,sled=off" # CONDUIT_ALLOW_JAEGER: 'false' # CONDUIT_ALLOW_REGISTRATION : 'false' # CONDUIT_ALLOW_ENCRYPTION: 'false' # CONDUIT_ALLOW_FEDERATION: 'false' # CONDUIT_DATABASE_PATH: /srv/conduit/.local/share/conduit # CONDUIT_WORKERS: 10 # CONDUIT_MAX_REQUEST_SIZE: 20_000_000 # in bytes, ~20 MB # 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 ### 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: # image: vectorim/element-web:latest # restart: unless-stopped # volumes: # - ./element_config.json:/app/config.json # networks: # - proxy # depends_on: # - homeserver volumes: db: networks: # 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