Files
kiddo/docs/GETTING_STARTED.md

2.2 KiB

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

# 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

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

make install     # Installation (systemd, env, venv)
make up          # Service starten
make down        # Service stoppen
make restart     # Service neu starten
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