2023-09-12 14:35:19 +00:00
|
|
|
version: '3'
|
|
|
|
services:
|
2023-09-26 17:00:39 +00:00
|
|
|
#nginx:
|
|
|
|
# container_name: nginx
|
|
|
|
# image: ungleich/ungleich-certbot:1.1.4
|
|
|
|
# restart: unless-stopped
|
|
|
|
# environment:
|
|
|
|
# - DOMAIN=${DOMAIN}
|
|
|
|
# - EMAIL=${EMAIL}
|
|
|
|
# - STAGING=${STAGING}
|
|
|
|
# ports:
|
|
|
|
# - "443:443/tcp"
|
|
|
|
# volumes:
|
|
|
|
# - ./conf:/etc/nginx/conf.d
|
|
|
|
# - ./etcletsencrypt:/etc/letsencrypt
|
|
|
|
# - ./dconf/nginx.conf:/etc/nginx/nginx.conf
|
2023-09-12 14:35:19 +00:00
|
|
|
synapse:
|
|
|
|
image: matrixdotorg/synapse:latest
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
|
|
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
|
|
|
|
- SERVERNAME=${homeServerFQDN}
|
|
|
|
- PUBLICBASEURL=${synapseFQDN}
|
|
|
|
- ELEMENTWEB=${elementWebFQDN}
|
|
|
|
- DBNAME=${dbname}
|
|
|
|
- DBHOST=${dbhost}
|
|
|
|
- DBUSER=${dbuser}
|
|
|
|
- DBPASSWORD=${dbpassword}
|
2023-09-26 17:00:39 +00:00
|
|
|
- REDISHOST=${redishost}
|
|
|
|
- REDISPORT=${redisport}
|
|
|
|
network_mode: "host"
|
|
|
|
#ports:
|
|
|
|
# - "127.0.0.1:8008:8008/tcp"
|
|
|
|
#- "[::1]:8008:8008/tcp"
|
2023-09-12 14:35:19 +00:00
|
|
|
volumes:
|
|
|
|
- ./synapse:/data
|
|
|
|
entrypoint: sh -c "/data/homeserver.yaml.sh && chmod -R 777 /data && /start.py"
|
|
|
|
|
|
|
|
element:
|
|
|
|
image: vectorim/element-web:latest
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
|
|
- SERVERNAME=${homeServerFQDN}
|
|
|
|
- PUBLICBASEURL=${synapseFQDN}
|
|
|
|
- ELEMENTWEB=${elementWebFQDN}
|
|
|
|
volumes:
|
|
|
|
- ./element/config.json.sh:/app/config.json.sh
|
2023-09-26 17:00:39 +00:00
|
|
|
- ./conf:/etc/nginx/conf.d
|
|
|
|
- ./etcletsencrypt:/etc/letsencrypt
|
|
|
|
- ./dconf/nginx.conf:/etc/nginx/nginx.conf
|
2023-09-12 14:35:19 +00:00
|
|
|
command: sh -c "/app/config.json.sh && nginx -g 'daemon off;'"
|
|
|
|
#entrypoint: /app/config.json.sh
|
2023-09-26 17:00:39 +00:00
|
|
|
network_mode: "host"
|
|
|
|
#ports:
|
|
|
|
# - "443:443/tcp"
|
|
|
|
# - "80:80/tcp"
|
|
|
|
#- "127.0.0.1:8080:80/tcp"
|
|
|
|
#- "[::1]:8080:80/tcp"
|
|
|
|
|
|
|
|
synapse-generic-worker-1:
|
|
|
|
image: matrixdotorg/synapse:latest
|
|
|
|
container_name: synapse-generic-worker-1
|
|
|
|
restart: unless-stopped
|
|
|
|
entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-generic-worker-1.yaml"]
|
|
|
|
healthcheck:
|
|
|
|
test: ["CMD-SHELL", "curl -fSs http://localhost:8081/health || exit 1"]
|
|
|
|
start_period: "5s"
|
|
|
|
interval: "15s"
|
|
|
|
timeout: "5s"
|
|
|
|
network_mode: "host"
|
|
|
|
volumes:
|
|
|
|
- ./synapse:/data
|
|
|
|
environment:
|
|
|
|
SYNAPSE_WORKER: synapse.app.generic_worker
|
|
|
|
depends_on:
|
|
|
|
- synapse
|
|
|
|
|
|
|
|
synapse-federation-sender-1:
|
|
|
|
image: matrixdotorg/synapse:latest
|
|
|
|
container_name: synapse-federation-sender-1
|
|
|
|
restart: unless-stopped
|
|
|
|
entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-federation-sender-1.yaml"]
|
|
|
|
healthcheck:
|
|
|
|
disable: true
|
|
|
|
network_mode: "host"
|
|
|
|
volumes:
|
|
|
|
- ./synapse:/data
|
|
|
|
environment:
|
|
|
|
SYNAPSE_WORKER: synapse.app.generic_worker
|
|
|
|
depends_on:
|
|
|
|
- synapse
|
|
|
|
|
|
|
|
# redis:
|
|
|
|
# image: "redis:latest"
|
|
|
|
# restart: "unless-stopped"
|
|
|
|
# network_mode: "host"
|