daemon off;

user nginx;
worker_processes auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections 1024;
}

http {

    include /etc/nginx/mime.types;
    default_type  application/octet-stream;
    large_client_header_buffers 4 64K;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /dev/stdout  main;
    error_log   /dev/stderr  warn;

    sendfile        on;
    keepalive_timeout  65;

    # Every robosat coordinators socat tor bridge is an upstream.
    # Coordinators in the federation:
    # Temple of Sats
    include /etc/nginx/conf.d/temple/upstreams.conf;
    # TheBigLake
    include /etc/nginx/conf.d/lake/upstreams.conf;
    # BitcoinVeneto
    include /etc/nginx/conf.d/veneto/upstreams.conf;
    # Over the Moon
    include /etc/nginx/conf.d/moon/upstreams.conf;

    server {

        listen 12596;
        server_name robosats_client;

        # add_header Access-Control-Allow-Headers "*";
        # add_header Access-Control-Allow-Origin "*";

        location / {
            root /usr/src/robosats;
            try_files $uri $uri/ /basic.html;
            index basic.html;
        }

        location /pro {
            root /usr/src/robosats;
            try_files $uri $uri/ /pro.html;
            index pro.html;
        }

        location /static/ {
            alias /usr/src/robosats/static/;
            autoindex on;
        }

        location = /favicon.ico {
            alias /usr/src/robosats/static/assets/images/favicon-96x96.png;
        }


        # Proxy API, WS and Avatarts to the coordinator(s) socat bridges
        # Temple of Sats
        include /etc/nginx/conf.d/temple/locations.conf;
        # TheBigLake
        include /etc/nginx/conf.d/lake/locations.conf;
        # BitcoinVeneto
        include /etc/nginx/conf.d/veneto/locations.conf;
        # Over the Moon
        include /etc/nginx/conf.d/moon/locations.conf;

        # do not log healtchecks made against "/selfhosted"
        location /selfhosted {
            access_log off;
            return 200 "OK";
        }

    }
}