1.2 KiB
1.2 KiB
Deploy
Variante A: Docker auf eigenem Server (empfohlen)
cp .env.example .env # SITE_DOMAIN und CORS_ORIGIN setzen, Keys nur hier eintragen
docker compose up -d --build
curl https://$SITE_DOMAIN/api/health
brain: Node-Server (Dockerfile im Repo-Root), Healthcheck auf/health.web: Caddy liefert Web-App +/landing/aus, holt automatisch HTTPS-Zertifikate und leitet/api/*an den Brain weiter (inkl. CORS-Headern für die Extension).- Für sslip.io eignet sich z. B.
SITE_DOMAIN=kumpel.85.190.126.179.sslip.io. Ports 80/443 müssen frei sein. Läuft dort schon ein Reverse-Proxy für Forgejo, Caddy auf andere Ports legen und vom vorhandenen Proxy weiterleiten. - CORS:
CORS_ORIGINauf die Web-App-Domain bzw.chrome-extension://<ID>setzen.
Variante B: Ohne eigenen Server
- Web-App + Landing statisch auf Netlify/Vercel/Render Static (Publish-Ordner: Repo-Root, kein Build).
- Brain als Render Web Service (Docker, Dockerfile im Root, Health-Check-Pfad
/health).
CI
.forgejo/workflows/ci.yml (Forgejo Actions, benötigt einen registrierten Runner mit Label docker) und .github/workflows/ci.yml führen npm test und den Secret-Scan aus.