version: "2" services: db: image: postgres:9.6 restart: always # Adding 127.0.0.1 ensures the port isn't exposed ON the host ports: - "127.0.0.1:5432:5432" volumes: - /var/lib/matrix/db:/var/lib/postgresql/data - /backups/matrix:/backups - /etc/localtime:/etc/localtime:ro environment: - POSTGRES_PASSWORD=synapse - POSTGRES_USER=synapse networks: - matrix synapse: image: silviof/docker-matrix ports: - "127.0.0.1:8008:8008" - "8448:8448" - "3478:3478" environment: - VIRTUAL_HOST=matrix.banditlair.com - VIRTUAL_NETWORK=nginx-proxy - VIRTUAL_PORT=8008 volumes: - /var/lib/matrix/media_store:/data/media_store - /var/log/synapse:/data/log - ./synapse:/data - /etc/localtime:/etc/localtime:ro networks: - matrix - proxy-tier restart: always networks: matrix: external: name: matrix-network proxy-tier: external: name: nginx-proxy