ID: DOC_000009 | Version: 0.2.1 | Status: Draft By: Codex (GPT-5) # Getting Started ## Ziel Schneller Einstieg fuer neue Nutzer: Installation, erster Login und erste Aktion. ## Voraussetzungen - Linux-System mit systemd. - Root-Zugriff (PAM, usermod, shutdown). - Python 3, curl, tar, sha256sum (fuer Update-Client-Skripte). - Optional: notify-send (Benachrichtigungen), paplay/aplay (Sound). ## Schnellstart ```bash # 1) Repo installieren sudo mkdir -p /opt/sk sudo git clone ssh://git@git.wlkns.org:2222/stephan/kiddo /opt/sk # Hinweis: verwende hier die Repo-URL deiner Instanz cd /opt/sk # 2) Installation (legt Service-User, env, systemd-Unit an) make install # 3) Service pruefen sudo systemctl status skd.service # 4) Login (PAM) curl -s -X POST -H "Content-Type: application/json" \ -d '{"username":"root","password":"..."}' \ http://localhost/login ``` ## Erster API-Test ```bash token=$(curl -s -X POST -H "Content-Type: application/json" \ -d '{"username":"root","password":"example-password"}' \ http://localhost/login | jq -r .token) curl -s -H "Authorization: Bearer $token" http://localhost/me ``` Hinweis: `jq` ist optional; ohne jq das Token manuell aus der JSON-Antwort lesen. ## Makefile-Kurzbefehle ```bash make install # Installation (systemd, env, venv) make up # Service starten make down # Service stoppen make update # Code-Update (git reset --hard origin/main) make healthcheck TOKEN=... # Healthcheck mit Bearer-Token ``` ## Naechste Schritte - Konfiguration anpassen: `docs/CONFIGURATION.md` - API und Web-UI nutzen: `docs/USAGE.md` - Deployment und Updates: `docs/DEPLOYMENT.md` ## Typische Einsteigerfehler - Service startet, aber Port 80 ist bereits belegt (loese den Konflikt oder nutze einen anderen Port). - Login scheitert, weil `SKD_AUTH_ALLOWED_USERS`/`SKD_AUTH_ALLOWED_GROUPS` den Nutzer nicht erlauben. - OIDC wird erwartet, ist aber nicht aktiv (Issuer/Client-ID/Secret fehlen). - Token wird nicht gesendet (fehlender `Authorization: Bearer` Header). ## Weitere Dokumente - Endnutzer-Sicht: `docs/FOR_USERS.md` - FAQ: `docs/FAQ.md` - Troubleshooting: `docs/TROUBLESHOOTING.md`