Maak DEPLOY_PATH configureerbaar via Gitea Actions variable i.p.v. hardcoded #7
@@ -1,26 +0,0 @@
|
|||||||
# Live Configs
|
|
||||||
|
|
||||||
Deze map bevat **gecorrigeerde kopieën** van de daadwerkelijk op de Raspberry Pi's
|
|
||||||
draaiende nginx-configuratiebestanden, zoals doorgenomen en gefixt op 2026-07-27.
|
|
||||||
|
|
||||||
In tegenstelling tot de `*.example`-bestanden een map hoger (die generieke, minimale
|
|
||||||
sjablonen zijn om een nieuwe omgeving vanaf nul op te zetten), zijn dit snapshots van
|
|
||||||
bestanden die specifiek voor déze Pi's gelden — inclusief zaken die niet bij de
|
|
||||||
react-frontend-feature horen (bv. de mail/iRedAdmin-proxying in `slpsoftware.conf`).
|
|
||||||
|
|
||||||
**Deze bestanden worden niet automatisch gesynchroniseerd met de Pi's.** Als je op de
|
|
||||||
Pi's iets aanpast, is dit bestand pas weer correct nadat je de wijziging hier ook
|
|
||||||
handmatig doorvoert (of andersom: kopieer bij twijfel altijd eerst de live versie van
|
|
||||||
de Pi hierheen voordat je hem hier aanpast).
|
|
||||||
|
|
||||||
## Bestanden
|
|
||||||
|
|
||||||
| Bestand | Waar het hoort | Wat er is gefixt (2026-07-27) |
|
|
||||||
|---|---|---|
|
|
||||||
| `slpsoftware-analytics.conf` | pi-entry (reverse-proxy), `/etc/nginx/sites-available/` | Acme-challenge-location verplaatst van het poort-80-blok naar het 443-blok (renewal zou anders stilzwijgend falen); listen-volgorde 443/[::]:443 rechtgezet. |
|
|
||||||
| `slpsoftware-test-webserver.conf` | pi-main (webserver), `/etc/nginx/sites-available/` | Ontbrekende `error_log`/`access_log`-regels toegevoegd; misleidende comment over "alleen intern IP" vervangen door een correcte toelichting (luistert bewust op alle interfaces, consistent met de rest). |
|
|
||||||
| `slpsoftware.conf` | pi-entry (reverse-proxy), `/etc/nginx/sites-available/` | Acme-challenge-location toegevoegd aan beide 443-blokken (ontbrak volledig); `/sentry-tunnel`-proxy toegevoegd aan het slpsoftware.nl/www-blok (ontbrak volledig, dus Sentry-events vanuit productie werden niet getunneld); iredadmin/mail-regex aangescherpt (`^\/(iredadmin\|mail)(\/\|$)`) om valse matches te voorkomen. |
|
|
||||||
|
|
||||||
Zie ook: `../deployment-instructions.md` en `../deployment-plan.md` voor de bredere
|
|
||||||
context, en `../production-nginx.conf.example` / `../production-nginx.conf.post-certbot.example`
|
|
||||||
voor de generieke, react-frontend-only variant zonder de mail/iRedAdmin-onderdelen.
|
|
||||||
-43
@@ -1,43 +0,0 @@
|
|||||||
server {
|
|
||||||
|
|
||||||
server_name analytics.slpsoftware.nl;
|
|
||||||
|
|
||||||
error_log /var/log/nginx/slpsoftware-analytics_error.log;
|
|
||||||
access_log /var/log/nginx/slpsoftware-analytics_access.log;
|
|
||||||
|
|
||||||
location /.well-known/acme-challenge/ {
|
|
||||||
root /var/www/certbot;
|
|
||||||
}
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://192.168.1.103:3001;
|
|
||||||
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
listen 443 ssl; # managed by Certbot
|
|
||||||
listen [::]:443 ssl; # managed by Certbot
|
|
||||||
ssl_certificate /etc/letsencrypt/live/analytics.slpsoftware.nl/fullchain.pem; # managed by Certbot
|
|
||||||
ssl_certificate_key /etc/letsencrypt/live/analytics.slpsoftware.nl/privkey.pem; # managed by Certbot
|
|
||||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
|
||||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
|
||||||
|
|
||||||
}
|
|
||||||
server {
|
|
||||||
if ($host = analytics.slpsoftware.nl) {
|
|
||||||
return 301 https://$host$request_uri;
|
|
||||||
} # managed by Certbot
|
|
||||||
|
|
||||||
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80;
|
|
||||||
|
|
||||||
server_name analytics.slpsoftware.nl;
|
|
||||||
|
|
||||||
return 404; # managed by Certbot
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
-31
@@ -1,31 +0,0 @@
|
|||||||
server {
|
|
||||||
# Luistert op alle interfaces (net als de andere sites op deze Pi); deze
|
|
||||||
# Pi is sowieso niet vanaf internet bereikbaar, dus dit is bewust en consistent.
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80;
|
|
||||||
|
|
||||||
server_name test.slpsoftware.nl;
|
|
||||||
|
|
||||||
error_log /var/log/nginx/slpsoftware-test-webserver_error.log;
|
|
||||||
access_log /var/log/nginx/slpsoftware-test-webserver_access.log;
|
|
||||||
|
|
||||||
root /mnt/storage1/www/html/test/slpsoftware;
|
|
||||||
index index.html;
|
|
||||||
|
|
||||||
# De React-app gebruikt client-side routing (React Router), dus onbekende
|
|
||||||
# paden moeten terugvallen op index.html in plaats van een 404 te geven.
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ /index.html;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Statische assets mogen langer gecachet worden.
|
|
||||||
location ~* \.(?:css|js|svg|png|jpg|jpeg|gif|ico|woff2?)$ {
|
|
||||||
try_files $uri =404;
|
|
||||||
expires 7d;
|
|
||||||
add_header Cache-Control "public";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Doorgeven van het echte client-IP en protocol, afkomstig van de reverse proxy.
|
|
||||||
#set_real_ip_from 192.168.1.0/24;
|
|
||||||
#real_ip_header X-Forwarded-For;
|
|
||||||
}
|
|
||||||
-95
@@ -1,95 +0,0 @@
|
|||||||
server {
|
|
||||||
listen [::]:443 ssl; # managed by Certbot
|
|
||||||
listen 443 ssl; # managed by Certbot
|
|
||||||
server_name slpsoftware.nl www.slpsoftware.nl;
|
|
||||||
|
|
||||||
access_log /var/log/nginx/slpsoftware_access.log;
|
|
||||||
error_log /var/log/nginx/slpsoftware_error.log;
|
|
||||||
|
|
||||||
location /.well-known/acme-challenge/ {
|
|
||||||
root /var/www/certbot;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Sentry "tunnel" endpoint (zie src/main.tsx's Sentry.init tunnel-optie en
|
|
||||||
# de toelichting in reverse-proxy-nginx.conf.example) — voorkomt dat
|
|
||||||
# ad-blockers Sentry-events blokkeren door ze via ons eigen domein te
|
|
||||||
# tunnelen. VITE_SENTRY_DSN is bewust gedeeld tussen test en productie
|
|
||||||
# (één Sentry-project, environment-tag onderscheidt ze), dus dezelfde
|
|
||||||
# org-/project-id als de testomgeving is hier correct.
|
|
||||||
location /sentry-tunnel {
|
|
||||||
proxy_pass https://o4511795618185216.ingest.de.sentry.io/api/4511795622838352/envelope/;
|
|
||||||
proxy_set_header Host o4511795618185216.ingest.de.sentry.io;
|
|
||||||
proxy_ssl_server_name on;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ ^\/(iredadmin|mail)(\/|$) {
|
|
||||||
proxy_pass https://192.168.1.104:443;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://192.168.1.103:80;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
ssl_certificate /etc/letsencrypt/live/slpsoftware.nl/fullchain.pem; # managed by Certbot
|
|
||||||
ssl_certificate_key /etc/letsencrypt/live/slpsoftware.nl/privkey.pem; # managed by Certbot
|
|
||||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
|
||||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen [::]:443 ssl; # managed by Certbot
|
|
||||||
listen 443 ssl; # managed by Certbot
|
|
||||||
|
|
||||||
server_name mail.slpsoftware.nl;
|
|
||||||
|
|
||||||
access_log /var/log/nginx/mail.slpsoftware_access.log;
|
|
||||||
error_log /var/log/nginx/mail.slpsoftware_error.log;
|
|
||||||
|
|
||||||
location /.well-known/acme-challenge/ {
|
|
||||||
root /var/www/certbot;
|
|
||||||
}
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass https://192.168.1.104:443; # Odroid C4 hosting iRedMail
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
ssl_certificate /etc/letsencrypt/live/mail.slpsoftware.nl/fullchain.pem; # managed by Certbot
|
|
||||||
ssl_certificate_key /etc/letsencrypt/live/mail.slpsoftware.nl/privkey.pem; # managed by Certbot
|
|
||||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
|
||||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80;
|
|
||||||
|
|
||||||
server_name slpsoftware.nl www.slpsoftware.nl mail.slpsoftware.nl;
|
|
||||||
|
|
||||||
if ($host = mail.slpsoftware.nl) {
|
|
||||||
return 301 https://$host$request_uri;
|
|
||||||
} # managed by Certbot
|
|
||||||
|
|
||||||
if ($host = www.slpsoftware.nl) {
|
|
||||||
return 301 https://$host$request_uri;
|
|
||||||
} # managed by Certbot
|
|
||||||
|
|
||||||
|
|
||||||
if ($host = slpsoftware.nl) {
|
|
||||||
return 301 https://$host$request_uri;
|
|
||||||
} # managed by Certbot
|
|
||||||
|
|
||||||
return 404; # managed by Certbot
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user