version: "3.2" services: # ssl letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: nginx-proxy-letsencrypt restart: always volumes: - ./volume/nginx-proxy/html:/usr/share/nginx/html - ./volume/nginx-proxy/dhparam:/etc/nginx/dhparam - ./volume/nginx-proxy/vhost:/etc/nginx/vhost.d - ./volume/nginx-proxy/certs:/etc/nginx/certs - ./volume/nginx-proxy/acme:/etc/acme.sh - /run/docker.sock:/var/run/docker.sock:ro environment: - NGINX_PROXY_CONTAINER=nginx-proxy - DEFAULT_EMAIL=simobilleter@gmail.com # proxy for all web services nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy restart: always ports: - "80:80" - "443:443" volumes: - ./volume/nginx-proxy/html:/usr/share/nginx/html - ./volume/nginx-proxy/dhparam:/etc/nginx/dhparam - ./volume/nginx-proxy/vhost:/etc/nginx/vhost.d - ./volume/nginx-proxy/certs:/etc/nginx/certs - /run/docker.sock:/tmp/docker.sock:ro labels: - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy" # backend flask flask: build: ./web container_name: flask restart: always volumes: - ./volume/flask/dyn:/app/static/dyn environment: - APP_NAME=FlaskAqi - TZ=Asia/Bangkok expose: - "8080" # nginx infront of uwsgi nginx: build: ./nginx container_name: backend_nginx restart: always environment: - VIRTUAL_HOST=www.lpb-air.com,lpb-air.com - LETSENCRYPT_HOST=www.lpb-air.com,lpb-air.com expose: - "80" depends_on: - flask # backend postgres postgres: image: postgres container_name: postgres restart: always volumes: - ./volume/postgres:/var/lib/postgresql/data/ env_file: - ./env/postgres.env expose: - "5432"