146 lines
2.8 KiB
Markdown
146 lines
2.8 KiB
Markdown
# Home Server Management Scripts
|
||
|
||
Ein Skript-Satz zur Verwaltung von Docker Containern für einen Heimserver.
|
||
|
||
## Überblicke
|
||
|
||
Diese Repository enthält Shell-Skripte zur Verwaltung verschiedener Docker-Compose-Projekte:
|
||
|
||
- **drive_check.sh** – Prüft die Festplatten des Server
|
||
- **restart_containers.sh** – Neustart aller Container
|
||
- **restart_ddns.sh** – Neustart von DDNS-Projekt
|
||
- **restart_forgejo.sh** – Neustart von Forgejo (Gitlab Alternative)
|
||
- **restart_jellyfin.sh** – Neustart von Jellyfin (Media Server)
|
||
- **restart_nextcloud.sh** – Neustart von Nextcloud
|
||
- **restart_vaultwarden.sh** – Neustart von Vaultwarden (Bitwarden Alternative)
|
||
- **start_containers.sh** – Start aller Container
|
||
- **start_jellyfin.sh** – Start von Jellyfin
|
||
- **stop_containers.sh** – Stop aller Container
|
||
- **update_containers.sh** – Automatisches Update aller Container
|
||
|
||
## Konfiguration
|
||
|
||
Die Docker-Compose-Projekte befinden sich unter `/opt/docker/`.
|
||
|
||
### Container-Liste
|
||
|
||
| Projekt | Verwendung |
|
||
|---------|----------|
|
||
| ddns | Dynamic DNS |
|
||
| forgejo | Git-Hosting (Gitlab Fork) |
|
||
| jellyfin | Media Server / Film Streaming |
|
||
| nextcloud | Cloud Storage |
|
||
| vaultwarden | Passwort-Manager (Bitwarden Fork) |
|
||
|
||
## Installation
|
||
|
||
### Voraussetzungen
|
||
|
||
- Docker Desktop oder Docker Engine
|
||
- Bash-Shell (z. B. Terminal, iterm2, zsh)
|
||
|
||
### Vorschau
|
||
|
||
1. Klonen Sie das Repository:
|
||
|
||
```bash
|
||
git clone <repository-url>
|
||
cd scripts
|
||
```
|
||
|
||
2. Stellen Sie sicher, dass `/opt/docker/` mit den Docker-Compose-Dateien existiert:
|
||
|
||
```bash
|
||
sudo chown -R $(whoami) /opt/docker
|
||
```
|
||
|
||
3. Vergeben Sie die Skripte die Ausführungsberechtigung:
|
||
|
||
```bash
|
||
chmod +x *.sh
|
||
```
|
||
|
||
## Nutzung
|
||
|
||
### Container Starten
|
||
|
||
Alle Container starten:
|
||
|
||
```bash
|
||
./start_containers.sh
|
||
```
|
||
|
||
Nur Jellyfin starten:
|
||
|
||
```bash
|
||
./start_jellyfin.sh
|
||
```
|
||
|
||
### Container Stoppen
|
||
|
||
Alle Container stoppen:
|
||
|
||
```bash
|
||
./stop_containers.sh
|
||
```
|
||
|
||
### Container Neustarten
|
||
|
||
Alle Container neu starten:
|
||
|
||
```bash
|
||
./restart_containers.sh
|
||
```
|
||
|
||
Nur spezifisches Projekt neu starten (Beispiel):
|
||
|
||
```bash
|
||
./restart_jellyfin.sh
|
||
```
|
||
|
||
### Container Update
|
||
|
||
Alle Container auf die neuesten Versions-Update prüfen und installieren:
|
||
|
||
```bash
|
||
./update_containers.sh
|
||
```
|
||
|
||
### Festplatte Prüfen
|
||
|
||
Festplattenstatus des Servers überprüfen:
|
||
|
||
```bash
|
||
./drive_check.sh
|
||
```
|
||
|
||
## Log-Aufzeichnung
|
||
|
||
Update-Benachrichtigungen werden in `/var/log/docker-update/` gespeichert:
|
||
|
||
- `{projekt-name}-update.log`
|
||
|
||
Beispiel: `nextcloud-update.log`
|
||
|
||
## Troubleshooting
|
||
|
||
### Container nicht starten
|
||
|
||
Überprüfen Sie die Log-Dateien für detaillierte Fehlermeldungen:
|
||
|
||
```bash
|
||
tail -f /var/log/docker-update/nextcloud-update.log
|
||
```
|
||
|
||
### Docker Problem
|
||
|
||
Neustarten Sie Docker vollständig:
|
||
|
||
```bash
|
||
./stop_containers.sh
|
||
./start_containers.sh
|
||
```
|
||
|
||
## Lizenz
|
||
|
||
Lizenz des Projekts auswählen.
|