Files
Crumb-Core-v.1/docs/man/debian/systemd_cheatsheet.md

2.0 KiB

🐧 CrumbMan: Debian & Systemd Cheatsheet

Referenz für DeepBit & Gärtner (Native Setup)

1. Service Management (systemctl)

Das Crumbforest-System besteht aus mehreren Services. Der Haupt-Service ist crumbforest.

Status prüfen

# Zeigt Status, PID, und die letzten Logs
systemctl status crumbforest

Start / Stop / Restart

# Neustart (z.B. nach Code-Änderungen)
sudo systemctl restart crumbforest

# Stoppen
sudo systemctl stop crumbforest

# Starten
sudo systemctl start crumbforest

Enable / Disable (Autostart)

# Autostart beim Boot aktivieren
sudo systemctl enable crumbforest

# Deaktivieren
sudo systemctl disable crumbforest

2. Logging (journalctl)

Wir nutzen systemd-journald. Keine wilden Textdateien mehr (außer App-Logs).

Logs lesen

# Letzte 50 Zeilen (Live-View)
journalctl -u crumbforest -f -n 50

# Logs seit letztem Boot
journalctl -u crumbforest -b

# Nur Errors (Priority 3)
journalctl -u crumbforest -p 3 -b

Logs aufräumen

# Behalte nur 100MB
journalctl --vacuum-size=100M

# Behalte nur 2 Wochen
journalctl --vacuum-time=2weeks

3. Unit File Anatomie

Ort: /etc/systemd/system/crumbforest.service

[Unit]
Description=CrumbForest Service
After=network.target mariadb.service

[Service]
User=crumb_prod
Group=crumb_prod
WorkingDirectory=/opt/crumbforest
Environment="PATH=/opt/crumbforest/venv/bin:/usr/bin"
EnvironmentFile=/opt/crumbforest/.env
ExecStart=/opt/crumbforest/venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8000
Restart=always

[Install]
WantedBy=multi-user.target

4. Permissions & User

User Check

id crumb_prod
# uid=1001(crumb_prod) gid=1001(crumb_prod) groups=1001(crumb_prod)

Dateirechte reparieren

Nutze immer unseren Helper:

sudo ./fix_eule.sh

Manuell (Vorsicht!):

# Wem gehört was?
ls -la /opt/crumbforest

# Ändern
chown -R crumb_prod:crumb_prod /opt/crumbforest
chmod -R 755 /opt/crumbforest