politiker

PolitikerKontakt

PolitikerKontakt gör det enkelt att skriva till politiker och andra förtroendevalda, en eller många på en gång, från ditt eget e-postkonto. Breven skickas från din adress, så svaren kommer direkt till dig. Användare skapar egna konton, kan importera brev från Word eller PDF, och väljer mottagare per nivå, till exempel riksdag, region och kommun.

Imagen startar tom: det finns inga konton och ingen kontaktkatalog. Du behöver inget Cloudflare-konto.

Kom igång

  1. Installera Docker. På Windows och Mac: Docker Desktop. På Linux: paketet docker.io (Debian/Ubuntu) eller motsvarande. Podman fungerar också.
  2. Skapa en mapp och en fil i den som heter docker-compose.yml. Klistra in innehållet nedan.
  3. Fyll i PUBLIC_HOST (värdnamnet sidan nås på) och ADMIN_EMAIL (din e-postadress).
  4. Starta i den mappen: docker compose up -d
  5. Registrera ett konto. Öppna http://localhost:8787 och registrera dig med adressen i ADMIN_EMAIL. Inom en minut blir kontot administratör.
  6. Koppla din e-post. Lägg in dina SMTP-uppgifter i kontot, eller logga in med Google eller Microsoft om du har satt upp det. Sedan kan du lägga till mottagare och skicka.
services:
  politiker:
    image: docker.io/driftaegis/politiker:0
    restart: unless-stopped
    ports:
      - "8787:8787"
    environment:
      PUBLIC_HOST: "politiker.example.com"
      ADMIN_EMAIL: "you@example.com"
      SYSTEM_FROM_ADDRESS: "noreply@example.com"
      SYSTEM_SMTP_HOST: ""
      SYSTEM_SMTP_PORT: "587"
      SYSTEM_SMTP_USER: ""
      SYSTEM_SMTP_PASSWORD: ""
      TURNSTILE_SITE_KEY: ""
      TURNSTILE_SECRET: "off"
      OAUTH_GOOGLE_CLIENT_ID: ""
      OAUTH_GOOGLE_CLIENT_SECRET: ""
      OAUTH_MICROSOFT_CLIENT_ID: ""
      OAUTH_MICROSOFT_CLIENT_SECRET: ""
    volumes:
      - politiker-data:/data

volumes:
  politiker-data:

Två sorters e-post

Inställningar

Variabel Krävs Standard Betydelse
PUBLIC_HOST Ja localhost Värdnamnet utan https://. Används i länkar, e-post, inloggning med Google och Microsoft och tvåfaktorkoder.
ADMIN_EMAIL Rekommenderas – Kontot med den här adressen blir administratör och markeras som verifierat.
SYSTEM_FROM_ADDRESS Nej noreply@example.com Avsändare för systemmejl.
SYSTEM_SMTP_HOST, SYSTEM_SMTP_PORT, SYSTEM_SMTP_USER, SYSTEM_SMTP_PASSWORD Nej port 587 SMTP-server för systemmejl. Port 587 (STARTTLS) eller 465 (TLS).
RESEND_API_KEY Nej – Alternativ till SMTP för systemmejl, via Resend.
TURNSTILE_SITE_KEY, TURNSTILE_SECRET Nej off Cloudflare Turnstile mot bot-registreringar (gratis, kräver ett Cloudflare-konto). off stänger av kontrollen. Rekommenderas för en publik sida.
TURNSTILE_HOSTNAMES Nej PUBLIC_HOST Värdnamn som Turnstile-svaret får komma från.
OAUTH_GOOGLE_CLIENT_ID, OAUTH_GOOGLE_CLIENT_SECRET Nej – “Logga in med Google”. Redirect-adress: https://<PUBLIC_HOST>/api/oauth/google/callback.
OAUTH_MICROSOFT_CLIENT_ID, OAUTH_MICROSOFT_CLIENT_SECRET Nej – “Logga in med Microsoft” och utskick via Outlook. Redirect-adresser: https://<PUBLIC_HOST>/api/oauth/microsoft/callback och https://<PUBLIC_HOST>/api/oauth-mail/microsoft/callback.
FEEDBACK_NOTIFY_EMAIL Nej – Adress som får användarnas feedback.
MAIL_CRED_KEY Nej skapas automatiskt Nyckel som krypterar användarnas e-postuppgifter. Skapas första gången och sparas i /data/mail-cred-key.
LETTER_DATA_KEY, VISITOR_SALT Nej MAIL_CRED_KEY Separata nycklar för brevinnehåll och besöksstatistik.
PORT Nej 8787 Porten inne i containern.

Inställningar från en fil i stället

Vill du inte ha värden som lösenord i compose-filen lägger du dem som NAMN=värde-rader i filen import.env i datavolymen (den som monteras på /data) och startar om containern. Vid starten sparas värdena i /data/settings.env, som bara containern kan läsa, och import.env raderas. För att ändra ett värde senare lägger du en ny import.env med bara den raden. En rad med NAMN= och inget värde tar bort inställningen. Värden som är ifyllda i compose-filen gäller före sparade värden.

Data, säkerhetskopiering och uppdatering

HTTPS

Containern talar vanlig HTTP på port 8787. Lägg den bakom en omvänd proxy med certifikat, till exempel Caddy, Traefik eller nginx, eller använd en Cloudflare Tunnel. Inloggning med Google och Microsoft kräver HTTPS.

Teknisk översikt

Changelog

0.12.2

0.12.1

0.12.0

0.11.0

Licens

MIT.