|
|
|
@@ -185,28 +185,36 @@ uit stap 0.3 is hiervoor al gezet, dus deze service blijft ook draaien zonder da
|
|
|
|
|
wijzigen na eerste login**).
|
|
|
|
|
|
|
|
|
|
## 4. Website registreren in Umami en het website-ID ophalen
|
|
|
|
|
Maak een **aparte Umami-website-entry per omgeving** aan — test en productie zijn
|
|
|
|
|
verschillende domeinen en horen dus niet in dezelfde statistieken te belanden:
|
|
|
|
|
1. Log in op `https://analytics.slpsoftware.nl` en wijzig direct het standaardwachtwoord.
|
|
|
|
|
2. Ga naar **Settings → Websites → Add website** en vul in:
|
|
|
|
|
- Name: `SLP Software` (of naar keuze)
|
|
|
|
|
- Domain: het domein van de daadwerkelijke website (bv. `slpsoftware.nl` of
|
|
|
|
|
`test.slpsoftware.nl`, afhankelijk van welke omgeving je eerst wilt meten)
|
|
|
|
|
3. Na het opslaan toont Umami een **Website ID** (een UUID) — dit heb je nodig voor de
|
|
|
|
|
volgende stap.
|
|
|
|
|
2. Ga naar **Settings → Websites → Add website** en maak een entry voor de testomgeving:
|
|
|
|
|
- Name: `SLP Software (test)` (of naar keuze)
|
|
|
|
|
- Domain: `test.slpsoftware.nl`
|
|
|
|
|
3. Na het opslaan toont Umami een **Website ID** (een UUID) voor deze entry — nodig voor
|
|
|
|
|
`VITE_UMAMI_WEBSITE_ID` in de volgende stap.
|
|
|
|
|
4. Herhaal stap 2-3 voor productie zodra die omgeving wordt opgezet: een tweede website-
|
|
|
|
|
entry met Domain `slpsoftware.nl`, met een eigen Website ID voor
|
|
|
|
|
`VITE_UMAMI_WEBSITE_ID_PRODUCTION`.
|
|
|
|
|
|
|
|
|
|
## 5. Tracking script koppelen aan de website (build-configuratie)
|
|
|
|
|
De React-app (`src/components/UmamiAnalytics.tsx`) injecteert het Umami tracking-script
|
|
|
|
|
automatisch, mits de volgende twee build-time variabelen zijn ingesteld — beide zijn
|
|
|
|
|
**geen secrets** (client-side zichtbaar), dus als Gitea Actions **repository variables**
|
|
|
|
|
automatisch, mits de volgende build-time variabelen zijn ingesteld — geen van deze zijn
|
|
|
|
|
**secrets** (client-side zichtbaar), dus als Gitea Actions **repository variables**
|
|
|
|
|
(niet secrets), net als `VITE_SENTRY_DSN`:
|
|
|
|
|
|
|
|
|
|
| Variabele | Waarde |
|
|
|
|
|
|---|---|
|
|
|
|
|
| `VITE_UMAMI_SCRIPT_URL` | `https://analytics.slpsoftware.nl/script.js` |
|
|
|
|
|
| `VITE_UMAMI_WEBSITE_ID` | het Website ID uit stap 4 |
|
|
|
|
|
| `VITE_UMAMI_SCRIPT_URL` | `https://analytics.slpsoftware.nl/script.js` (gedeeld tussen test en productie — zelfde Umami-instance/endpoint voor beide) |
|
|
|
|
|
| `VITE_UMAMI_WEBSITE_ID` | het Website ID van de **test**-website-entry uit stap 4 |
|
|
|
|
|
| `VITE_UMAMI_WEBSITE_ID_PRODUCTION` | het Website ID van de **productie**-website-entry uit stap 4 (pas nodig vóór de eerste `deploy_production`-run) |
|
|
|
|
|
|
|
|
|
|
Stel deze in via **Gitea → Repository Settings → Actions → Variables**. Zodra beide
|
|
|
|
|
bestaan, pakt de eerstvolgende build ze automatisch op; zonder deze variabelen slaat de
|
|
|
|
|
app het inladen van het script gewoon over (geen crash, geen tracking).
|
|
|
|
|
Stel deze in via **Gitea → Repository Settings → Actions → Variables**. Zodra ze bestaan,
|
|
|
|
|
pakt de eerstvolgende build ze automatisch op; zonder deze variabelen slaat de app het
|
|
|
|
|
inladen van het script gewoon over (geen crash, geen tracking). Let op:
|
|
|
|
|
`continuous_integration.yaml`'s `build`-job (test) leest `VITE_UMAMI_WEBSITE_ID`, de
|
|
|
|
|
`build-production`-job leest `VITE_UMAMI_WEBSITE_ID_PRODUCTION` — verwissel deze niet,
|
|
|
|
|
anders komt productieverkeer in de teststatistieken terecht (of andersom).
|
|
|
|
|
|
|
|
|
|
**Lokaal (`pnpm dev`)**: het tracking-script wordt hier bewust nooit geladen (zie
|
|
|
|
|
`UmamiAnalytics.tsx`), zodat lokaal testen de bezoekersstatistieken niet vervuilt. Wil je
|
|
|
|
@@ -220,8 +228,9 @@ dit toch lokaal testen, zet dan tijdelijk beide waarden in `.env.local` (zie
|
|
|
|
|
- [ ] Systemd user-service instellen (onder de `umami`-user) voor auto-start na reboot.
|
|
|
|
|
- [ ] DNS-record + certbot voor `analytics.slpsoftware.nl` op de reverse-proxy-Pi.
|
|
|
|
|
- [ ] Standaard Umami-wachtwoord direct wijzigen na eerste login.
|
|
|
|
|
- [ ] Website aanmaken in Umami en het Website ID overnemen.
|
|
|
|
|
- [ ] Website aanmaken in Umami voor de testomgeving en het Website ID overnemen.
|
|
|
|
|
- [ ] `VITE_UMAMI_SCRIPT_URL` en `VITE_UMAMI_WEBSITE_ID` als Gitea repository variables instellen.
|
|
|
|
|
- [ ] Zodra productie wordt opgezet: aparte website aanmaken in Umami voor `slpsoftware.nl` en het Website ID als `VITE_UMAMI_WEBSITE_ID_PRODUCTION` instellen (zie stap 4/5 hierboven — vereist vóór de eerste `deploy_production`-run).
|
|
|
|
|
|
|
|
|
|
## Vervolgstappen voor toekomstige self-hosted diensten
|
|
|
|
|
Dit dedicated-user-patroon (stap 0 hierboven) is bewust generiek gehouden zodat het
|
|
|
|
|