97 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
version: '3'
 | 
						|
services:
 | 
						|
  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}
 | 
						|
      - REDISHOST=${redishost}
 | 
						|
      - REDISPORT=${redisport}
 | 
						|
      - TURNPORT=${turnport}
 | 
						|
      - TURNHOST=${turnhost}
 | 
						|
      - TURNSECRET=${turnsecret}
 | 
						|
    network_mode: "host"
 | 
						|
    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
 | 
						|
      - ./element/element.conf.sh:/app/element.conf.sh
 | 
						|
      - ./element/redirector.conf.sh:/app/redirector.conf.sh
 | 
						|
      - ./element/synapse.conf.sh:/app/synapse.conf.sh
 | 
						|
      - ./conf:/etc/nginx/conf.d
 | 
						|
      - ./etcletsencrypt:/etc/letsencrypt
 | 
						|
      - ./dconf/nginx.conf:/etc/nginx/nginx.conf
 | 
						|
    command: sh -c "/app/config.json.sh && /app/element.conf.sh && /app/redirector.conf.sh && /app/synapse.conf.sh && nginx -g 'daemon off;'"
 | 
						|
    network_mode: "host"
 | 
						|
 | 
						|
  synapse-generic-worker-all:
 | 
						|
    image: matrixdotorg/synapse:latest
 | 
						|
    container_name: synapse-generic-worker-all
 | 
						|
    restart: unless-stopped
 | 
						|
    entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-generic-worker-all.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-generic-worker-sync:
 | 
						|
    image: matrixdotorg/synapse:latest
 | 
						|
    container_name: synapse-generic-worker-sync
 | 
						|
    restart: unless-stopped
 | 
						|
    entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-generic-worker-sync.yaml"]
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD-SHELL", "curl -fSs http://localhost:8083/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"
 |