211 lines
5.1 KiB
Markdown
211 lines
5.1 KiB
Markdown
# Server Aingrad – Komplette Übersicht
|
||
|
||
> Stand: 24.07.2026
|
||
> IP: 159.195.51.99
|
||
> ZeroTier: 10.19.81.21
|
||
> System: Ubuntu 24.04 LTS, 4 Kerne, 8 GB RAM, 251 GB SSD
|
||
> Domain: baka-net.de
|
||
|
||
---
|
||
|
||
## 🔝 Die wichtigsten Befehle (täglich)
|
||
|
||
```bash
|
||
# SSH zum Server
|
||
ssh dustin@159.195.51.99
|
||
|
||
# Docker-Container anzeigen
|
||
docker ps
|
||
|
||
# Logs eines Containers
|
||
docker logs <container>
|
||
|
||
# Server neustarten
|
||
sudo reboot
|
||
|
||
# Festplattenplatz prüfen
|
||
df -h
|
||
|
||
# RAM/Nutzung prüfen
|
||
free -m
|
||
|
||
# Hermes Gateway neustarten
|
||
systemctl --user restart hermes-gateway
|
||
```
|
||
|
||
---
|
||
|
||
## 🔒 1. Firewall (UFW) – Port-Freigaben
|
||
|
||
**Status:** `sudo ufw status`
|
||
|
||
| Erlaubt für | Port | Erklärung |
|
||
|-------------|------|-----------|
|
||
| SSH | 22/tcp | Server-Zugriff |
|
||
| Web (Caddy) | 80, 443/tcp | Websites + SSL |
|
||
| Syncthing | 22000/tcp+udp | Datei-Sync |
|
||
| ZeroTier | 9993/udp | VPN-Netzwerk |
|
||
| ZeroTier-Intern | Alle Ports auf `zt+` | Zugriff über sicheres VPN |
|
||
|
||
---
|
||
|
||
## 📦 2. Docker-Container
|
||
|
||
```bash
|
||
docker ps # Laufende Container anzeigen
|
||
docker ps -a # Alle Container (auch gestoppte)
|
||
docker logs -f <name> # Live-Logs anzeigen
|
||
docker restart <name> # Container neustarten
|
||
docker stop <name> # Container stoppen
|
||
docker system prune -af # Ungenutzte Docker-Daten löschen
|
||
```
|
||
|
||
### Aktive Container
|
||
|
||
| Container | Port | Zweck |
|
||
|-----------|------|-------|
|
||
| **gitea** | `127.0.0.1:3000` | Eigenes Git-System (git.baka-net.de) |
|
||
| **synapse** | `127.0.0.1:8008` | Matrix-Chat-Server (matrix.baka-net.de) |
|
||
| **anisette** | `127.0.0.1:6969` | Anisette-V3 für iOS-Sideloading (anisette.baka-net.de) |
|
||
|
||
---
|
||
|
||
## 🌐 3. Caddy-Webserver (Domain-Routing)
|
||
|
||
**Konfiguration:** `/etc/caddy/Caddyfile`
|
||
|
||
```bash
|
||
caddy reload # Konfiguration neu laden
|
||
systemctl restart caddy # Caddy neustarten
|
||
journalctl -u caddy -n 50 # Letzte 50 Log-Einträge
|
||
```
|
||
|
||
| Domain | Weiterleitung auf |
|
||
|--------|-------------------|
|
||
| baka-net.de | Statische Webseite |
|
||
| matrix.baka-net.de | localhost:8008 (Synapse) |
|
||
| git.baka-net.de | localhost:3000 (Gitea) |
|
||
| anisette.baka-net.de | localhost:6969 (Anisette-V3) |
|
||
|
||
---
|
||
|
||
## 🧰 4. Installierte Entwickler-Tools
|
||
|
||
```bash
|
||
# Flutter & Dart (Android/iOS App-Entwicklung)
|
||
export PATH="$HOME/development/flutter/bin:$PATH"
|
||
flutter doctor # Status prüfen
|
||
flutter build apk --release --split-per-abi # APK bauen
|
||
|
||
# Android SDK
|
||
export ANDROID_HOME="$HOME/development/android-sdk"
|
||
sdkmanager --list_installed # Installierte SDK-Versionen
|
||
|
||
# Java
|
||
java -version # OpenJDK 17
|
||
```
|
||
|
||
---
|
||
|
||
## 🛡️ 5. Security-Tools
|
||
|
||
### Gitleaks – Findet Secrets in Git-Repos
|
||
```bash
|
||
# Aktuelles Repo scannen
|
||
gitleaks detect --source /pfad/zum/repo --verbose
|
||
|
||
# Nur geänderte Dateien vor Commit prüfen
|
||
gitleaks detect --source . --log-level debug
|
||
|
||
# Komplette Git-Historie durchsuchen
|
||
gitleaks detect --source /pfad/zum/repo --no-git
|
||
```
|
||
|
||
### Trivy – Schwachstellen-Scanner
|
||
```bash
|
||
# Repository scannen
|
||
trivy repo https://github.com/user/repo
|
||
|
||
# Dateisystem scannen
|
||
trivy fs /pfad/zum/repo
|
||
|
||
# Docker-Image scannen
|
||
trivy image alpine:latest
|
||
```
|
||
|
||
### Semgrep – Statische Code-Analyse (SAST)
|
||
```bash
|
||
# Projekt analysieren
|
||
semgrep --config=auto /pfad/zum/projekt
|
||
|
||
# Nach Sicherheitslücken suchen
|
||
semgrep --config=p/default /pfad/zum/projekt
|
||
|
||
# Nur bestimmte Regeln
|
||
semgrep --config=p/docker-security /pfad
|
||
```
|
||
|
||
---
|
||
|
||
## 🌐 6. Website-Klon-Tools
|
||
|
||
### HTTrack – Komplette Webseiten kopieren
|
||
```bash
|
||
# Komplette Seite runterladen
|
||
httrack "https://example.com" -O /home/dustin/archiv/seite --depth=3
|
||
|
||
# Nur eine Seite + Ressourcen
|
||
httrack "https://example.com/seite.html" -O /home/dustin/archiv/seite --depth=1
|
||
|
||
# Mit Benutzername/Passwort
|
||
httrack "https://user:pass@example.com" -O /home/dustin/archiv/seite
|
||
```
|
||
|
||
---
|
||
|
||
## 🔄 7. Automatische Backups (Cron - 04:00 Uhr)
|
||
|
||
```bash
|
||
# Backup-Skript manuell ausführen
|
||
sudo /home/dustin/scripts/backup_and_cleanup.sh
|
||
|
||
# Backup-Ordner prüfen
|
||
ls -lh /home/dustin/Sync/backups/
|
||
|
||
# Crontab anzeigen
|
||
sudo crontab -l
|
||
```
|
||
|
||
**Sichert automatisch:** Gitea-Daten + Synapse-Datenbank
|
||
**Bereinigt:** Docker-Müll (`system prune`)
|
||
**Backup-Ziel:** `/home/dustin/Sync/backups/` (7 Tage Aufbewahrung)
|
||
|
||
---
|
||
|
||
## 🧪 8. Weitere Tools
|
||
|
||
| Tool | Befehl | Zweck |
|
||
|------|--------|-------|
|
||
| ZeroTier | `zerotier-cli listnetworks` | VPN-Status prüfen |
|
||
| Syncthing | `systemctl status syncthing@dustin` | Sync-Dienst prüfen |
|
||
| ADB | `adb devices` | Android-Geräte-Liste |
|
||
| Flutter | `flutter build apk --release --split-per-abi` | APK bauen |
|
||
|
||
---
|
||
|
||
## 📁 Wichtige Pfade
|
||
|
||
| Pfad | Inhalt |
|
||
|------|--------|
|
||
| `/home/dustin/` | Benutzer-Home |
|
||
| `/home/dustin/git/` | Git-Repos |
|
||
| `/home/dustin/git/melo_app/` | Melo App Quellcode |
|
||
| `/home/dustin/development/` | Flutter + Android SDK |
|
||
| `/home/dustin/hermes-vault/` | Notizen (Obsidian) |
|
||
| `/home/dustin/.hermes/` | Hermes-Konfiguration |
|
||
| `/home/dustin/scripts/` | Eigene Skripte |
|
||
| `/home/dustin/Sync/` | Syncthing-Synchronisation |
|
||
| `/home/dustin/Sync/backups/` | Backup-Archive |
|
||
| `/home/dustin/musik/` | Musik-Ordner |
|
||
| `/etc/caddy/Caddyfile` | Caddy-Konfiguration |
|