Politiker¶
Politiker är en Cloudflare-baserad webbapplikation för konton, kontakt-/mottagardata, brev och utskick. Repositoryt innehåller både applikationsruntime och verktyg för att underhålla dess data.
Snabb verifiering¶
Från app/:
validate kör tester, produktionsverifieringstester, JavaScript-kontroller, lokala D1-migrationer, Wrangler types, TypeScript typecheck och Worker dry-run.
Dokumentation¶
Börja i dokumentationsöversikten.
- Projektkontext — runtime, state och subsystem
- Arkitektur — request-, auth-, lagrings- och utskicksflöden
- Drift — verifiering, migrationer, queue/DLQ och deployment
README hålls medvetet kort. Detaljerad teknisk dokumentation ligger under docs/.
Runtime i korthet¶
Applikationen använder D1, KV, Queue + DLQ, Durable Object, R2, Cloudflare Email och schemalagd Worker-körning. Dessa lager har olika ansvar och ska inte behandlas som utbytbara state stores.
Operator-wizard¶
Provider-/credentialförutsättningar verifieras utan att exportera eller skriva secretvärden:
Wizarden är human-only och skapar eller roterar inga credentials.
Driftsätta på ett eget Cloudflare-konto¶
Koden innehåller inga kontouppgifter. Där ett eget värde behövs, som domän, resurs-id eller nycklar, står en platshållare (__NAMN__). Alla platshållare finns i cloudflare.example.env, med en kommentar om var värdet hämtas. Värdena hamnar bara i Cloudflare, aldrig i repot.
Alternativ 1: deploy från din egen dator (standard).
- Kopiera
cloudflare.example.envtill en egen fil utanför repot och fyll i dina värden. - Rendera en kopia med dina värden:
node tools/render.mjs <din-fil.env> build [overlay-katalog]. Verktyget stoppar om ett värde saknas. Filer i overlay-katalogen kopieras ovanpå, till exempel egna bilder. - Lägg in hemligheter en gång, antingen var för sig med
npx wrangler secret put <NAMN>eller alla på en gång från en JSON-fil mednpx wrangler secret bulk <fil.json>. Radera filen efteråt. - Kör databasmigreringarna (se
docs/) och deploya:npx wrangler deploy --cwd build/app. - Radera
build/. Cloudflare har nu värdena. Vill du ändra något fyller du i filen igen och upprepar steg 2 och 4.
Alternativ 2: Workers Builds med GitHub-koppling. Lägg in värdena som build variables i Cloudflare (Workers → din Worker → Settings → Build), sätt byggkommandot till node tools/render.mjs - build och deploykommandot till npx wrangler deploy --cwd build/app. Bygg bara produktionsgrenen (stäng av bygg för andra grenar), så skapas inga förhandsversioner. Hemligheter läggs in som i alternativ 1.
Köra med Docker¶
Kopiera docker-compose.yml, fyll i värdena och kör docker compose up -d. Alla inställningar beskrivs i docker/README.md. Vill du inte ha värdena i compose-filen kan du lägga dem som NAMN=värde-rader i import.env i datakatalogen och starta om. Containern sparar dem i settings.env, som bara containern kan läsa, och raderar importfilen. Imagen byggs från repots rot med docker build -t politiker ..
Bidra¶
Frågor och idéer tas i Discussions, fel och förslag som issues här. Läs CONTRIBUTING.md innan du öppnar en pull request. Säkerhetsproblem rapporteras privat via fliken Security.