# INSIGHT MVP - Zugangsdaten & Server-Zugriff > **Dieses Dokument wird laufend aktualisiert und enthaelt alle relevanten > Zugangsinformationen fuer das Projekt.** --- ## 1. Git Repository | Parameter | Wert | |------------------|-----------------------------------------------------| | Git-Server | Forgejo (self-hosted) | | URL | `git.xinion.lan` | | Repository (SSH) | `ssh://git@git.xinion.lan/gitadmin/INSIGHT-MVP.git` | | Repository (HTTP)| `https://git.xinion.lan/gitadmin/INSIGHT-MVP` | | Organisation | `gitadmin` | | Zugriff | SSH Key-basiert | | CI/CD | Forgejo Actions (GitHub Actions kompatibel) | | Container Registry | `git.xinion.lan` (Forgejo built-in) | --- ## 2. SSH Keys Alle Keys liegen im Repository unter `.keys/` (Repo ist nur intern verfuegbar). ### 2.1 Deploy Key (Server-Zugriff) Fuer den SSH-Zugriff auf den Entwicklungsserver `insight-dev-01`. | Datei | Beschreibung | |------------------------------|---------------------------------| | `.keys/deploy_ed25519` | Private Key (Server-Zugriff) | | `.keys/deploy_ed25519.pub` | Public Key | **Public Key:** ``` ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMuTpqzLyjqTIDMJ4bwEE4o2JeHH3imL+NeipeuBfiTo insight-deploy@xinion.lan ``` **Hinterlegen auf:** Server `insight-dev-01` in `/home/deploy/.ssh/authorized_keys` ### 2.2 CI/CD Key (Forgejo Actions) Fuer automatisierte Deployments durch die Forgejo Actions CI/CD-Pipeline. Die Pipeline nutzt diesen Key, um sich per SSH auf den Server zu verbinden und Docker-Container zu aktualisieren. | Datei | Beschreibung | |------------------------------|---------------------------------| | `.keys/cicd_ed25519` | Private Key (CI/CD Pipeline) | | `.keys/cicd_ed25519.pub` | Public Key | **Public Key:** ``` ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINlPo+AvDMTMZC0G49o+kuU98/aC85N90QU3a+FaTjoG insight-cicd@xinion.lan ``` **Hinterlegen auf:** 1. Server `insight-dev-01` in `/home/deploy/.ssh/authorized_keys` 2. Forgejo: Repository Settings > Secrets (als `SSH_DEPLOY_KEY` fuer Actions) ### 2.3 SSH-Verbindung zum Server ```bash # Verbindung zum Entwicklungsserver: ssh -i .keys/deploy_ed25519 deploy@172.20.10.59 # Mit SSH-Config (empfohlen): # Eintrag in ~/.ssh/config: Host insight-dev HostName 172.20.10.59 User deploy IdentityFile ~/git.xinion.lan/INSIGHT-MVP/.keys/deploy_ed25519 StrictHostKeyChecking accept-new ``` ### 2.4 Wo welcher Key hinterlegt werden muss | Key | Server `authorized_keys` | Forgejo Secrets | |--------------|--------------------------|------------------------| | deploy | Ja | Nein | | cicd | Ja | Ja (`SSH_DEPLOY_KEY`) | --- ## 3. Entwicklungsserver (ProxmoxVE VM) | Parameter | Wert | |------------------|-----------------------------------------| | **Hostname** | `insight-dev-01` | | **OS** | Ubuntu 24.04 LTS | | **IP** | `172.20.10.59` | | **SSH-Port** | 22 | | **SSH-User** | `deploy` | | **SSH-Key** | `.keys/deploy_ed25519` | | **Docker** | Docker Engine + Compose Plugin | | **Projekt-Pfad** | `/home/deploy/insight/` | ### Schnellzugriff nach VM-Setup ```bash # SSH auf den Server ssh -i .keys/deploy_ed25519 deploy@172.20.10.59 # Status aller Container pruefen docker compose ps # Logs eines Services docker compose logs -f core # Neustart aller Services docker compose restart # Nur Backend neustarten docker compose restart core ``` --- ## 4. Service-Ports (auf der VM) > **Alpha/Dev:** Kein HTTPS, kein DNS. Zugriff via `http://172.20.10.59` | Service | Interner Port | Externer Port | URL | |-----------------|---------------|---------------|----------------------------------| | Traefik (HTTP) | 80 | 80 | http://172.20.10.59 | | Traefik Dashboard | 8080 | - | Nur intern | | Core-Service | 3000 | - | Via Traefik: /api/v1/* | | Frontend | 8080 | - | Via Traefik: /* | | PostgreSQL | 5432 | - | Nur intern (Docker-Netzwerk) | | PgBouncer | 6432 | - | Nur intern (Docker-Netzwerk) | | Redis | 6379 | - | Nur intern (Docker-Netzwerk) | | step-ca | 9000 | - | Nur intern (Docker-Netzwerk) | ### Observability (nur intern, kein oeffentlicher Zugriff) | Service | Port | Zugriff | |-----------------|-------|----------------------------------| | Grafana | 3001 | SSH-Tunnel: `ssh -L 3001:localhost:3001 deploy@172.20.10.59` | | Prometheus | 9090 | Nur intern | | Loki | 3100 | Nur intern | | Tempo | 3200 | Nur intern | --- ## 5. Datenbank-Zugangsdaten > **Echte Passwoerter stehen in der `.env`-Datei auf dem Server. > Niemals in Git committen!** | Parameter | Wert (Platzhalter) | |-------------------|---------------------------------| | DB-Host | `pgbouncer` (via Docker-Netzwerk) | | DB-Port | `6432` | | Core-DB-Name | `platform_core` | | Tenant-DB-Schema | `tenant_{slug}` | | DB-User | Siehe `.env` -> `DB_USER` | | DB-Passwort | Siehe `.env` -> `DB_PASSWORD` | --- ## 6. Container Registry | Parameter | Wert | |------------------|-----------------------------------------------------| | Registry-URL | `git.xinion.lan` | | Image-Prefix | `git.xinion.lan/gitadmin/insight-{service}` | | Authentifizierung| Forgejo Login-Credentials | ### Image-Namen ``` git.xinion.lan/gitadmin/insight-core:latest git.xinion.lan/gitadmin/insight-core:develop git.xinion.lan/gitadmin/insight-core:v0.1.0 git.xinion.lan/gitadmin/insight-frontend:latest ``` --- ## 7. Deployment-Pfad ``` MacBook (Entwicklung) | | git push v Forgejo (git.xinion.lan) | | Forgejo Actions CI/CD | - Lint, Type-Check, Tests, Build | - Docker Image bauen & pushen v Server (insight-dev-01) | | docker compose pull && docker compose up -d v Laufende Anwendung ``` --- ## 8. Git-Server (Forgejo) | Parameter | Wert | |------------------|-----------------------------------------| | **Hostname** | `git.xinion.lan` | | **IP** | `172.20.10.11` | | **SSH-User** | `sysadmin` | | **SSH-Port** | 22 | | **Web-UI** | `https://git.xinion.lan` | | **Forgejo-User** | `gitadmin` | --- ## 9. Default-Zugangsdaten (Alpha/Dev) > **WICHTIG:** Diese Zugangsdaten gelten nur fuer die Ersteinrichtung! > Passwoerter muessen nach dem ersten Login geaendert werden. | Service | User / E-Mail | Passwort | |-------------------|------------------------|--------------------| | Plattform-Admin | `admin@xinion.de` | `ChangeMe123!` | | Grafana | `admin` | Siehe `.env` | | Traefik Dashboard | `admin` | Siehe `.env` | --- ## 10. Wichtige Befehle ### Vom MacBook aus ```bash # Code pushen git push origin develop # SSH auf Server ssh -i .keys/deploy_ed25519 deploy@172.20.10.59 # Plattform oeffnen open http://172.20.10.59 # Grafana oeffnen (SSH-Tunnel) ssh -L 3001:localhost:3001 -i .keys/deploy_ed25519 deploy@172.20.10.59 # Dann im Browser: http://localhost:3001 ``` ### Auf dem Server ```bash # Alle Services starten docker compose up -d # Mit Observability docker compose -f docker-compose.yml -f docker-compose.observability.yml up -d # Health-Check curl http://172.20.10.59/health # Datenbank-Migration docker compose run --rm core npx prisma migrate deploy --schema=./prisma/core.schema.prisma # Admin-User seeden docker compose run --rm core npx ts-node prisma/seed.ts # Logs folgen docker compose logs -f --tail=100 ```