services: # ssl nginx proxy nginx-proxy: image: nginxproxy/nginx-proxy container_name: nginx-proxy restart: always ports: - 80:80 - 443:443 volumes: - ./volume/nginx-proxy/certs:/etc/nginx/certs - ./volume/nginx-proxy/vhost:/etc/nginx/vhost.d - ./volume/nginx-proxy/html:/usr/share/nginx/html - /var/run/docker.sock:/tmp/docker.sock:ro nginx-proxy-acme: image: nginxproxy/acme-companion container_name: nginx-proxy-acme restart: always volumes: - ./volume/nginx-proxy/certs:/etc/nginx/certs - ./volume/nginx-proxy/vhost:/etc/nginx/vhost.d - ./volume/nginx-proxy/html:/usr/share/nginx/html - ./volume/nginx-proxy/acme:/etc/acme.sh - /var/run/docker.sock:/var/run/docker.sock:ro environment: - NGINX_PROXY_CONTAINER=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 # - MAINTENANCE=True 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:15 container_name: postgres restart: always volumes: - ./volume/postgres15:/var/lib/postgresql/data/ env_file: - ./env/postgres.env expose: - "5432" # umami stats umami: image: docker.umami.dev/umami-software/umami:postgresql-latest container_name: umami expose: - "3000" env_file: - ./env/umami.env environment: - VIRTUAL_HOST=www.stats.lpb-air.com - LETSENCRYPT_HOST=www.stats.lpb-air.com depends_on: - umami-db restart: always umami-db: image: postgres:15 container_name: umami-db env_file: - ./env/umami.env volumes: - ./volume/umami/postgres15:/var/lib/postgresql/data restart: always