# ---- server/ en db/setup.js ---- DATABASE_URL=postgres://postgres:postgres@localhost:5432/liefdesbrieven PORT=3000 # Extra origins toestaan (komma-gescheiden). Standaard: Vite-dev + Capacitor-schema's. # CORS_ORIGINS=http://localhost:5173,https://localhost,capacitor://localhost # Waar deze installatie voor de buitenwereld staat, zonder slash aan het eind — hieruit wordt de # herstel-link van "wachtwoord vergeten" gebouwd. Standaard PUBLIC_URL uit src/constants.js; zet dit # alleen voor een andere installatie, of om de herstelmail lokaal een keer helemaal te doorlopen. # De Host-header van het verzoek wordt er bewust niet meer voor gebruikt: die schrijft de bezoeker # zelf op, en de link gaat naar iemand anders. # PUBLIC_BASE_URL=http://localhost:3000 # Vertrouwen we X-Real-IP / X-Forwarded-For? Standaard alleen als het verzoek van de eigen machine # of het eigen netwerk komt — dat is nginx die proxyt. Rechtstreeks verkeer van buiten heeft geen # proxy, dus zijn die headers verzonnen en telt het socket-adres. Hierop hangt elke rem die per # adres telt, dus zet dit alleen als je opstelling anders in elkaar zit: 1 = altijd vertrouwen # (proxy op een andere machine), 0 = nooit (geen proxy ervoor). # TRUST_PROXY= # ---- betaalde plekken (server/billing.js) ---- # Nodig zodra de gratis bak (FREE_ACCOUNTS in src/constants.js) op is: zonder deze sleutel # weigert de server een betaalde registratie met 503 in plaats van hem door te laten. # PLAY_SERVICE_ACCOUNT mag een pad naar het JSON-sleutelbestand zijn, of de JSON zelf. # PLAY_PACKAGE=nl.bramluiken.liefdesbrieven # PLAY_SERVICE_ACCOUNT=./play-service-account.json # ---- promotieteam (server/promotie.js, db/promotie/) ---- # De beheerpagina /promotieteam: de ledenlijst van de vrienden die mond-tot-mondreclame maken. # Eén wachtwoord, via HTTP Basic (de gebruikersnaam doet niet mee). Staat het er niet, dan geeft # de pagina 503 — dicht, niet open. Eigen database, los van die van de app: die wordt bij elke # schemawijziging opnieuw opgezet en deze lijst hoort dat niet mee te maken. # PROMOTIE_PASSWORD= # PROMOTIE_DATABASE_URL=postgres://postgres:postgres@localhost:5432/promotie # De post aan het team gaat via Postmark (server/mail.js). Zonder token wordt er niets verstuurd # en zegt de pagina dat ook. De afzender staat op het platformdomein, zodat DKIM uitlijnt met # DMARC; de broadcast-stream is voor groepspost (de welkomstmail gaat via 'outbound') en levert # ook de afmeldingen aan, die de pagina terugleest. # POSTMARK_SERVER_TOKEN= # PROMOTIE_FROM=Bram van Liefdesbrieven # PROMOTIE_STREAM=liefdesbrieven-promotieteam # ---- de twee echte seed-accounts (alleen gelezen door npm run db:setup) ---- # De seed maakt "Bram" en "Nina" aan op @voorbeeld.nl met het gewone seed-wachtwoord. Staan deze # variabelen er, dan zet db/setup.js daar het echte adres en wachtwoord overheen. Zo staat er geen # bruikbaar inloggegeven in deze repository, terwijl een installatie toch met één opdracht klaarstaat # voor de beoordelaar van de app-store — die heeft een account nodig, want alles zit achter de login. # Los te zetten: alleen een wachtwoord mag ook, dan blijft het adres uit de seed staan. # SEED_BRAM_EMAIL= # SEED_BRAM_PASSWORD= # SEED_REVIEW_EMAIL= # SEED_REVIEW_PASSWORD= # ---- frontend (Vite leest alleen VITE_*) ---- # Leeg = zelfde origin (Vite proxyt /api naar :3000) — zo blijft `npm run dev` lokaal. # Builds (npm run build / cap:sync) lezen .env.production, waar de productie-URL staat. # Wil je de app op een toestel tegen je lokale API testen, zet VITE_API_URL dan in # .env.production.local (gitignored, wint van .env.production): Android-emulator # http://10.0.2.2:3000, fysiek toestel http://:3000 — en zet # android.allowMixedContent op true in capacitor.config.json. VITE_API_URL=