server {
    listen 80; listen [::]:80;
    server_name _;
    
    location /.well-known/acme-challenge {
        alias /web/acme;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name map.ojuso.org;

    ssl_certificate         /web/certs/map.ojuso.org/fullchain.pem;
    ssl_certificate_key     /web/certs/map.ojuso.org/privkey.pem;
    ssl_dhparam             /web/certs/dhparam.pem;
    ssl_trusted_certificate /web/certs/map.ojuso.org/chain.pem;
   
    include directives/*;
    
    location /static/  {
        alias /web/static/;
        expires 30d;
    }

    location / {
        proxy_pass http://map:8000;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }

    client_max_body_size 20M;

}

#server {
#    listen 443 ssl http2;
#    listen [::]:443 ssl http2;
#    server_name forum.ojuso.org;
#
#    ssl_certificate         /web/certs/forum.ojuso.org/fullchain.pem;
#    ssl_certificate_key     /web/certs/forum.ojuso.org/privkey.pem;
#    ssl_dhparam             /web/certs/dhparam.pem;
#    ssl_trusted_certificate /web/certs/map.ojuso.org/chain.pem;
# 
#    include directives/*;
#
#    http2_idle_timeout 5m;
#
#    location / {
#        proxy_pass http://unix:/web/run/discourse.sock:;
#        proxy_set_header Host $http_host;
#        proxy_http_version 1.1;
#        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#        proxy_set_header X-Forwarded-Proto https;
#    }
#
#}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name i18n.ojuso.org;

    ssl_certificate         /web/certs/i18n.ojuso.org/fullchain.pem;
    ssl_certificate_key     /web/certs/i18n.ojuso.org/privkey.pem;
    ssl_dhparam             /web/certs/dhparam.pem;
    ssl_trusted_certificate /web/certs/i18n.ojuso.org/chain.pem;

    include directives/*;

    http2_idle_timeout 5m;

    location / {
        return 301 https://translate.ojuso.org$request_uri;
    }
}


server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name translate.ojuso.org;

    ssl_certificate         /web/certs/translate.ojuso.org/fullchain.pem;
    ssl_certificate_key     /web/certs/translate.ojuso.org/privkey.pem;
    ssl_dhparam             /web/certs/dhparam.pem;
    ssl_trusted_certificate /web/certs/translate.ojuso.org/chain.pem;

    include directives/*;

    http2_idle_timeout 5m;

    root /web/weblate/data/static;

    location /favicon.ico {
        alias /web/weblate/data/static/favicon.ico;
        expires 30d;
        add_header Cache-Control "public";
    }

    location /robots.txt {
        alias /web/weblate/data/static/robots.txt;
        expires 30d;
        add_header Cache-Control "public";
    }

    location /static {
        alias /web/weblate/data/static/;
        expires 30d;
        add_header Cache-Control "public";
    }

    location /media {
        alias /web/weblate/data/media/;
        expires 30d;
        add_header Cache-Control "public";
    }

    location / {
        proxy_pass http://weblate:8000;
        proxy_set_header Host            $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header        X-Forwarded-Proto $scheme;
        add_header Cache-Control "no-cache";
    }
}