production-nginx.conf.example (vóór certbot) en
production-nginx.conf.post-certbot.example (referentie, na certbot) dekken
alléén de react-frontend-site op slpsoftware.nl/www.slpsoftware.nl; de
mail/iRedAdmin-proxying die op de daadwerkelijke productieserver ook op dit
domein draait valt buiten de scope van deze feature en is bewust
weggelaten. Bevat de acme-challenge location in het 443-blok (niet het
poort-80-blok) en de sentry-tunnel-proxy, analoog aan de testomgeving-
configuratie. Documentatie in deployment-plan.md en
deployment-instructions.md bijgewerkt met productie-nginx-setupstappen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Hernoemt de Gitea-variable achter VITE_UMAMI_WEBSITE_ID naar
VITE_UMAMI_WEBSITE_ID_TEST, zodat deze consistent is met
VITE_UMAMI_WEBSITE_ID_PRODUCTION en DEPLOY_PATH_TEST/DEPLOY_PATH_PRODUCTION.
De Vite build-time envvar-naam die de app zelf verwacht
(VITE_UMAMI_WEBSITE_ID) verandert niet, alleen de naam van de Gitea
repository variable erachter. Bewust gedeelde variabelen (VITE_UMAMI_SCRIPT_URL,
VITE_SENTRY_DSN, PI_MAIN_* secrets) krijgen geen postfix, want die zijn
geen omgevingsspecifieke waarden. Documentatie in umami-setup.md,
deployment-instructions.md en monitoring-plan.md bijgewerkt.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
build-production hergebruikte vars.VITE_UMAMI_WEBSITE_ID van de testbuild,
maar Umami-website-ID's horen bij één specifieke domeinentry in het
dashboard. Zonder deze fix zou productieverkeer in de teststatistieken
terechtkomen. Introduceert VITE_UMAMI_WEBSITE_ID_PRODUCTION als losse Gitea
variable, en documenteert dat er twee aparte Umami-website-entries nodig
zijn (test.slpsoftware.nl / slpsoftware.nl). VITE_UMAMI_SCRIPT_URL en
VITE_SENTRY_DSN blijven bewust gedeeld tussen omgevingen.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Voegt build-production en deploy-production jobs toe aan
continuous_integration.yaml, alleen actief bij een handmatige
workflow_dispatch-run met het deploy_production-vinkje aangevinkt (nooit
automatisch bij een push naar master). Een aparte build-production job is
nodig omdat VITE_APP_ENV een build-time Vite-variabele is: dezelfde bundel
kan niet zowel als test als production getagd zijn in Sentry/analytics.
Uploadpad komt uit de nieuwe Gitea-variable DEPLOY_PATH_PRODUCTION, analoog
aan DEPLOY_PATH_TEST. Documentatie en production-readiness-checklist
bijgewerkt om dit open item als opgelost te markeren.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Vervangt het hardcoded testpad in continuous_integration.yaml door de
Gitea repository variable DEPLOY_PATH_TEST, zodat het uploadpad aan te
passen is zonder de workflow zelf te wijzigen. Documentatie bijgewerkt
met de vereiste eenmalige Gitea-variable-setup.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
De reverse-proxy en analytics nginx-configs toonden al de door certbot beheerde
eindstaat (met SSL-directives), terwijl je die juist nodig hebt vóórdat certbot
draait. Nu is het .example-bestand de kale HTTP-versie om te kopiëren, met een
apart .post-certbot.example ter referentie voor de staat erna. Alle configs
(inclusief webserver-nginx.conf.example) hebben nu ook expliciete error_log/
access_log directives.