version: '3' services: wizard-proxy: container_name: wizard-proxy image: "jwilder/nginx-proxy:alpine" volumes: - certs:/etc/nginx/certs - ./vhost:/etc/nginx/vhost.d - html:/usr/share/nginx/html - /var/run/docker.sock:/tmp/docker.sock:ro ports: - 80:80 - 443:443 environment: - DEFAULT_HOST=api.projectmobilewizard.com letsencrypt: container_name: wizard-proxy-letsencrypt image: jrcs/letsencrypt-nginx-proxy-companion volumes: - certs:/etc/nginx/certs - ./vhost:/etc/nginx/vhost.d - html:/usr/share/nginx/html - /var/run/docker.sock:/tmp/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro environment: - NGINX_PROXY_CONTAINER=wizard-proxy frontend: build: "frontend/" expose: - 80 environment: - VIRTUAL_HOST=game.projectmobilewizard.com - LETSENCRYPT_HOST=game.projectmobilewizard.com - LETSENCRYPT_EMAIL=i@choy.in peerserver: build: "peerserver/" expose: - 9000 environment: - VIRTUAL_HOST=peer.projectmobilewizard.com - LETSENCRYPT_HOST=peer.projectmobilewizard.com - LETSENCRYPT_EMAIL=i@choy.in - SECRET_KEY=peerjs wizard-backend: build: "backend/" volumes: - ./project-mobile-wizard-firebase-adminsdk-6bmre-c67afcaefa.json:/app/project-mobile-wizard-firebase-adminsdk-6bmre-c67afcaefa.json expose: - 5000 environment: - VIRTUAL_HOST=api.projectmobilewizard.com - LETSENCRYPT_HOST=api.projectmobilewizard.com - LETSENCRYPT_EMAIL=i@choy.in depends_on: - wizard-postgres - wizard-redis wizard-redis: image: "redis:4.0.11-alpine3.8" wizard-postgres: image: "postgres:9.6.5" volumes: - "postgres:/var/lib/postgresql/data" environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=wizard - POSTGRES_DB=wizard - POSTGRES_PORT=5432 volumes: certs: html: postgres: