Open source · AGPL-3.0

Provozujte Peapod ve vlastní infrastruktuře

Peapod je open-source dashboard s CLI pro soukromé týmové statistiky využití AI nástrojů. Zdrojový kód, databáze i přístupové údaje mohou zůstat kompletně pod vaší správou.

Než začnete

Co budete potřebovat

Self-hosted instance kombinuje webový dashboard, Google OAuth, PostgreSQL databázi a CLI sestavenou s vaším vlastním podpisovým klíčem.

Docker Compose
Docker s Compose pluginem; Compose spustí web i persistentní PostgreSQL.
Google OAuth
Web OAuth klient pro vaši Workspace doménu a callback URL nasazené instance.
Ed25519 identita
Vlastní produkční klíč pro sestavení a ověřování podepsané CLI.
PostgreSQL
Produkční PostgreSQL s pravidelnými zálohami a aplikační rolí bez SUPERUSER/BYPASSRLS.

Rychlý start

Od repozitáře k běžící instanci

Nejdřív nakonfigurujte OAuth a tajné hodnoty v .env. Produkční image záměrně odmítne vývojový podpisový klíč z ukázkové konfigurace.

  1. 1

    Naklonujte repozitář

    Stáhněte zdrojový kód a zkopírujte výchozí konfiguraci.

  2. 2

    Doplňte vlastní hodnoty

    Nastavte PostgreSQL, režim registrace, OAuth, URL, tajné hodnoty a produkční Ed25519 identitu.

  3. 3

    Spusťte a ověřte

    Sestavte službu přes Docker Compose a zkontrolujte health endpoint.

Docker Compose
Terminal
git clone https://github.com/MateeDevs/peapod.git
cd peapod
cp .env.example .env

# Configure OAuth, secrets, your domain, and a production Ed25519 identity in .env
docker compose up -d
curl http://localhost:3000/api/health

Konfigurace

Povinné skupiny proměnných

Úplný seznam a vysvětlení je v .env.example a README. Na webu záměrně nezobrazujeme žádné reálné tajné hodnoty.

Autentizace a registrace
AUTH_GOOGLE_ID, AUTH_GOOGLE_SECRET, AUTH_SECRET, REGISTRATION_MODE
Google OAuth klient, náhodný Auth.js secret a režim open, bootstrap nebo invite-only.
Veřejné URL
AUTH_URL, REPORT_API_URL, AUTH_TRUST_HOST
HTTPS adresa dashboardu, cílová reportovací API adresa a důvěra v host hlavičky.
Reporty a podpisy
CLI_REPORT_PUBLIC_KEYS, CLI_REPORT_SIGNING_*, CLI_REPORT_MIN_VERSION
Veřejná i privátní část produkční CLI identity; reportovací zařízení dostávají vlastní revokovatelný credential.
Databáze a pozvánky
DATABASE_URL, DASHBOARD_TIME_ZONE, SMTP_URL, EMAIL_FROM
PostgreSQL připojení, výchozí časová zóna a volitelné SMTP pro firemní pozvánky.

Nasazení

Vyberte si způsob provozu

Docker Compose
Nejkratší cesta pro vlastní VM nebo server. Compose sestaví web i podepsanou CLI pro macOS a Windows a uloží databázi do lokálního volume.
  • Nastavte všechny povinné hodnoty v .env
  • Pravidelně zálohujte PostgreSQL a otestujte obnovu
  • Použijte aplikační DB roli bez SUPERUSER/BYPASSRLS
Railway
Oficiální template připraví webovou službu, PostgreSQL, veřejnou doménu a healthcheck. Do publikování template použijte přesný maintainer runbook.
  • PostgreSQL je připojené přes Railway reference
  • Databáze má zapnuté automatické zálohy
  • OAuth a vlastní Ed25519 klíče doplní uživatel

Railway krok za krokem

Připravte si hodnoty před nasazením

Template automatizuje infrastrukturu a bezpečné náhodné secrets. Google OAuth a vlastní CLI podpisovou identitu ale musíte dodat vy.

  1. 1

    Vygenerujte podpisovou identitu

    Spusťte lokální helper a bezpečně uložte tři vypsané Railway proměnné.

  2. 2

    Otevřete template nebo runbook

    Po publikování použijte přímé tlačítko. Do té doby postupujte podle přesné konfigurace pro správce.

  3. 3

    Nastavte Google callback

    Do OAuth klienta přidejte callback s veřejnou HTTPS doménou přidělenou Railway.

  4. 4

    Ověřte data a zálohy

    Zkontrolujte health endpoint, odešlete report a ověřte PostgreSQL backup a obnovu.

Příprava a kontrola
Tyto hodnoty spusťte nebo doplňte mimo repozitář.
bun run generate:railway-keys

# Add this exact callback to your Google Web OAuth client:
https://<railway-domain>/api/auth/callback/google

# Verify the deployed service:
curl https://<railway-domain>/api/health

Produkční checklist

Před prvním ostrým reportem

Před prvním ostrým reportem
  • OAuth callback používá veřejnou HTTPS doménu instance.
  • GET /api/health vrací {"ok":true}.
  • PostgreSQL má pravidelné zálohy a prakticky ověřenou obnovu.
  • Aplikační DB role nemá SUPERUSER ani BYPASSRLS a tenant RLS je vynucené.
  • Produkční privátní klíč není v repozitáři ani v runtime image.
  • Po restartu nebo redeployi zůstávají dříve přijaté reporty dostupné.

Další zdroje

Pokračujte v repozitáři

README
Kompletní popis produktu, CLI, soukromí a administrace.
.env.example
Aktuální seznam podporovaných proměnných prostředí.
GitHub Issues
Hlášení chyb, návrhy a diskuse o self-hostingu.
Zpět na hlavní stránku