78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
networks:
 | 
						|
  backend:
 | 
						|
 | 
						|
services:
 | 
						|
  postgres:
 | 
						|
    image: postgres:latest
 | 
						|
    restart: unless-stopped
 | 
						|
    volumes:
 | 
						|
      - ${VOLUME_PATH}/var/lib/postgresql/data:/var/lib/postgresql/data:rw
 | 
						|
    networks:
 | 
						|
      - backend
 | 
						|
    environment:
 | 
						|
      POSTGRES_DB: synapse
 | 
						|
      POSTGRES_USER: synapse_user
 | 
						|
      POSTGRES_PASSWORD: postgres
 | 
						|
      POSTGRES_INITDB_ARGS: --encoding=UTF8 --locale=C
 | 
						|
 | 
						|
  redis:
 | 
						|
    image: redis:latest
 | 
						|
    restart: unless-stopped
 | 
						|
    networks:
 | 
						|
      - backend
 | 
						|
 | 
						|
  synapse:
 | 
						|
    image: matrixdotorg/synapse:latest
 | 
						|
    container_name: synapse
 | 
						|
    restart: unless-stopped
 | 
						|
    volumes:
 | 
						|
      - ${VOLUME_PATH}/data:/data:rw
 | 
						|
    ports:
 | 
						|
      - 8008:8008
 | 
						|
    networks:
 | 
						|
      - backend
 | 
						|
    environment:
 | 
						|
      SYNAPSE_CONFIG_DIR: /data
 | 
						|
      SYNAPSE_CONFIG_PATH: /data/homeserver.yaml
 | 
						|
    depends_on:
 | 
						|
      - postgres
 | 
						|
 | 
						|
  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"
 | 
						|
    networks:
 | 
						|
      - backend
 | 
						|
    volumes:
 | 
						|
      - ${VOLUME_PATH}/data:/data:rw # Replace VOLUME_PATH with the path to your Synapse volume
 | 
						|
    environment:
 | 
						|
      SYNAPSE_WORKER: synapse.app.generic_worker
 | 
						|
    # Expose port if required so your reverse proxy can send requests to this worker
 | 
						|
    # Port configuration will depend on how the http listener is defined in the worker configuration file
 | 
						|
    ports:
 | 
						|
      - 8081:8081
 | 
						|
    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
 | 
						|
    networks:
 | 
						|
      - backend
 | 
						|
    volumes:
 | 
						|
      - ${VOLUME_PATH}/data:/data:rw # Replace VOLUME_PATH with the path to your Synapse volume
 | 
						|
    environment:
 | 
						|
      SYNAPSE_WORKER: synapse.app.federation_sender
 | 
						|
    depends_on:
 | 
						|
      - synapse
 |