diff --git a/docker-compose.override.traefik.yml b/docker-compose.override.traefik.yml new file mode 100644 index 00000000..3a772e13 --- /dev/null +++ b/docker-compose.override.traefik.yml @@ -0,0 +1,21 @@ +# Conduit - Traefik Reverse Proxy Labels +version: '3' + +services: + homeserver: + labels: + - "traefik.enable=true" + - "traefik.docker.network=proxy" + + - "traefik.http.routers.to-conduit.rule=Host(`.`)" # Change to the address on which Conduit is hosted + - "traefik.http.routers.to-conduit.tls=true" + - "traefik.http.routers.to-conduit.tls.certresolver=letsencrypt" + + element-web: + labels: + - "traefik.enable=true" + - "traefik.docker.network=proxy" + + - "traefik.http.routers.to-element-web.rule=Host(`.`)" # Change to the address on which Element-Web is hosted + - "traefik.http.routers.to-element-web.tls=true" + - "traefik.http.routers.to-element-web.tls.certresolver=letsencrypt" diff --git a/docker-compose.traefik.yml b/docker-compose.traefik.yml new file mode 100644 index 00000000..9e8235d9 --- /dev/null +++ b/docker-compose.traefik.yml @@ -0,0 +1,47 @@ +# Conduit - Behind Traefik Reverse Proxy +version: '3' + +services: + homeserver: + image: conduit_homeserver:latest + restart: unless-stopped + volumes: + - db:/srv/conduit/.local/share/conduit + ### Uncomment if you want to use Rocket.toml to configure Conduit + ### Note: Set env vars will override Rocket.toml values + # - ./Rocket.toml:/srv/conduit/Rocket.toml + networks: + - proxy + environment: + ROCKET_SERVER_NAME: localhost:8000 # replace with your own name + ### Uncomment and change values as desired + # ROCKET_LOG: normal # Available levels are: off, debug, normal, critical + # ROCKET_PORT: 14004 + # ROCKET_REGISTRATION_DISABLED: 'true' + # ROCKET_ENCRYPTION_DISABLED: 'true' + # ROCKET_DATABASE_PATH: /srv/conduit/.local/share/conduit + # ROCKET_WORKERS: 10 + # ROCKET_MAX_REQUEST_SIZE: 20_000_000 # in bytes, ~20 MB + + ### 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/riot-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 you network has a different + # name, don't forget to change it here and in the docker-compose.override.yml + proxy: + external: true diff --git a/docker-compose.yml b/docker-compose.yml index 7c273604..3a390aa9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,10 +3,10 @@ version: '3' services: homeserver: - image: conduit_homeserver + image: conduit_homeserver:latest restart: unless-stopped ports: - - 14004:8000 + - 8448:8000 volumes: - db:/srv/conduit/.local/share/conduit ### Uncomment if you want to use Rocket.toml to configure Conduit @@ -23,5 +23,19 @@ services: # ROCKET_WORKERS: 10 # ROCKET_MAX_REQUEST_SIZE: 20_000_000 # in bytes, ~20 MB + ### 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/riot-web:latest + # restart: unless-stopped + # ports: + # - 8009:80 + # volumes: + # - ./element_config.json:/app/config.json + # depends_on: + # - homeserver + volumes: db: