version: '2.3' services: statping: container_name: statping image: hunterlong/statping:latest restart: always networks: - internet - database depends_on: - postgres volumes: - ./statping:/app environment: VIRTUAL_HOST: localhost VIRTUAL_PORT: 8080 LETSENCRYPT_HOST: ${LETSENCRYPT_HOST} LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL} DB_CONN: postgres DB_HOST: postgres DB_USER: statping DB_PASS: password123 DB_DATABASE: statping NAME: EC2 Example DESCRIPTION: This is a Statping Docker Compose instance nginx: container_name: nginx image: jwilder/nginx-proxy ports: - 0.0.0.0:80:80 - 0.0.0.0:443:443 networks: - internet restart: always labels: - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./nginx/certs:/etc/nginx/certs:ro - ./nginx/vhost:/etc/nginx/vhost.d - ./nginx/html:/usr/share/nginx/html:ro - ./nginx/dhparam:/etc/nginx/dhparam environment: DEFAULT_HOST: localhost postgres: container_name: postgres image: postgres restart: always networks: - database volumes: - ./postgres:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: password123 POSTGRES_USER: statping POSTGRES_DB: statping letsencrypt: container_name: letsencrypt image: jrcs/letsencrypt-nginx-proxy-companion networks: - internet restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./nginx/certs:/etc/nginx/certs - ./nginx/vhost:/etc/nginx/vhost.d - ./nginx/html:/usr/share/nginx/html - ./nginx/dhparam:/etc/nginx/dhparam watchtower: image: v2tec/watchtower restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock command: --interval 120 --cleanup networks: internet: driver: bridge database: driver: bridge