Some checks failed
Deploy Development / deploy (push) Successful in 41s
Test Suite / compose-smoke (push) Failing after 3s
Test Suite / pytest-backend (push) Has been skipped
Test Suite / lint-backend (push) Successful in 1s
Test Suite / build-frontend (push) Successful in 1m7s
Test Suite / k6 /api/health Baseline (push) Has been skipped
Test Suite / playwright-smoke (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com>
2.6 KiB
2.6 KiB
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 (localhost) | 5436 | 5437 |
| 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
- Actions aktiviert (Repository → Settings → Actions)
- Pi-Runner registriert — derselbe wie Shinkan/Mitai (
ubuntu-latest) - Push
develop→deploy-dev.yml→curl http://localhost:8097/api/health - Merge
main→deploy-prod.yml→curl http://localhost:8004/api/health - Nach Deploy:
test.yml(workflow_run) — pytest, k6, Playwright smoke gegen localhost
| Workflow | Trigger |
|---|---|
deploy-dev.yml |
Push develop |
deploy-prod.yml |
Push main |
test.yml |
Push/PR (compose-smoke) + nach Deploy (Integration) |
CI auf dem Pi nutzt localhost-Ports. Öffentliche Domains sind für Reverse-Proxy optional.
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)