Kairo-Jinkendo/docs/DEPLOYMENT.md
Lars 486268efd9
All checks were successful
Deploy Development / deploy (push) Successful in 1m30s
Test Suite / compose-smoke (push) Has been skipped
Test Suite / lint-backend (push) Successful in 1s
Test Suite / build-frontend (push) Successful in 9s
CI: Integrationstests in Deploy-Workflow, Test Suite nur Lint/Build bei Push.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 19:37:29 +02:00

2.8 KiB
Raw Blame History

Deployment Kairo Jinkendo

Stand: 2026-07-04 (AP0.1)
Server: Raspberry Pi 5 (192.168.2.49) — gleicher Host wie Shinkan/Mitai
Runner: Gitea Actions (/home/lars/gitea-runner/)


Port- und Pfad-Übersicht

Production Development
Git-Branch main develop
Server-Verzeichnis /home/lars/docker/kairo /home/lars/docker/kairo-dev
Frontend-Port 3004 3097
Backend-Port 8004 8097
PostgreSQL nur im Container-Netz (Prod optional localhost:5436) nur im Container-Netz
Domain kairo.jinkendo.de dev.kairo.jinkendo.de

Einmalige Server-Einrichtung

mkdir -p /home/lars/docker/kairo /home/lars/docker/kairo-dev

cd /home/lars/docker/kairo-dev
git clone http://192.168.2.144:3000/Lars/Kairo-Jinkendo.git .
git checkout develop
cp .env.example .env
# DB_PASSWORD setzen

cd /home/lars/docker/kairo
git clone http://192.168.2.144:3000/Lars/Kairo-Jinkendo.git .
git checkout main
cp .env.example .env
# Prod-DB_PASSWORD setzen

Gitea Actions Checkliste

  1. Actions aktiviert (Repository → Settings → Actions)
  2. Pi-Runner registriert — derselbe wie Shinkan/Mitai (ubuntu-latest)
  3. Push developdeploy-dev.ymlcurl http://localhost:8097/api/health
  4. Merge maindeploy-prod.ymlcurl http://localhost:8004/api/health
  5. Nach Deploy: test.yml (workflow_run) — pytest, k6, Playwright smoke gegen localhost
Workflow Trigger Inhalt
deploy-dev.yml Push develop Deploy + Health + pytest + k6/Playwright (falls installiert)
deploy-prod.yml Push main Deploy + Health + pytest + k6/Playwright (falls installiert)
test.yml Push/PR Lint + Frontend-Build; PR zusätzlich compose-smoke

Bei Push auf develop sind in Test Suite nur lint-backend und build-frontend aktiv — das ist beabsichtigt. Die Integrationstests laufen im Workflow Deploy Development.


Medien (optional)

Aktuell keine Medien-Speicherung. Bei Bedarf: NAS-Mount + docker-compose.override.yml (siehe frühere Doku-Version im Git-Verlauf).


Reverse Proxy (optional)

Hostname Ziel (Pi)
kairo.jinkendo.de http://192.168.2.49:3004
dev.kairo.jinkendo.de http://192.168.2.49:3097

Manuelles Deploy

# Development
cd /home/lars/docker/kairo-dev
git fetch origin develop && git reset --hard origin/develop
docker compose -f docker-compose.dev-env.yml build --no-cache
docker compose -f docker-compose.dev-env.yml up -d

# Production
cd /home/lars/docker/kairo
git fetch origin main && git reset --hard origin/main
docker compose build --no-cache
docker compose up -d

Health: curl http://localhost:8097/api/health (Dev) bzw. http://localhost:8004/api/health (Prod)