69 lines
2.1 KiB
Markdown
69 lines
2.1 KiB
Markdown
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`
|