server { listen 80; server_name birdnet.lab.home; location / { return 302 https://$host$request_uri; } location /.well-known/acme-challenge { alias /var/www/html/.well-known/acme-challenge; allow all; } } server { listen 443 ssl; server_name birdnet.lab.home; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; root ; ssl_certificate ; ssl_certificate_key ; index index.php; location / { try_files $uri $uri/ /index.php$is_args$args; } location ^~ /media/records { autoindex on; alias ; } location ^~ /media/charts { autoindex on; alias ; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } location /stream { proxy_pass http://localhost:8000/stream; } location ~ ^/ttyd(.*)$ { proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://127.0.0.1:7681/$1; } access_log /var/log/nginx/birdnet/birdnet-access.log; error_log /var/log/nginx/birdnet/birdnet-error.log error; }