version: "3"

services:
  nginx:
    restart: unless-stopped
    image: nginx:1.23.3
    container_name: nginx
    ports:
      - "${REVERSEPROXY_HTTP_PORT:-80}:80"
    volumes:
      - "nginx_conf:/etc/nginx/conf.d"
      - "nginx_vhost:/etc/nginx/vhost.d"
      - "nginx_html:/usr/share/nginx/html"
  nginx-gen:
    restart: unless-stopped
    image: btcpayserver/docker-gen:0.7.8
    container_name: nginx-gen
    environment:
      DEFAULT_HOST: ${REVERSEPROXY_DEFAULT_HOST:-none}
    volumes:
      - "/var/run/docker.sock:/tmp/docker.sock:ro"
      - "./nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro"
      - "nginx_conf:/etc/nginx/conf.d"
      - "nginx_vhost:/etc/nginx/vhost.d"
      - "nginx_html:/usr/share/nginx/html"
    entrypoint: /usr/local/bin/docker-gen -notify-sighup nginx -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
    links:
      - btcpayserver
      - nginx
volumes:
  nginx_conf:
  nginx_vhost:
  nginx_html:
  nginx_certs:

exclusive:
  - proxy
required:
  - "btcpayserver-nginx"
recommended:
  - "nginx-https"
