Dockerized

This commit is contained in:
rxf
2025-10-02 09:19:32 +02:00
parent 88f80252d6
commit 3fc1b91041
8 changed files with 275 additions and 5 deletions

126
README.md Normal file
View File

@@ -0,0 +1,126 @@
# CameraSave Docker Container
Ein Python-Skript, das automatisch Video-Anhänge aus E-Mails herunterlädt und in einer strukturierten Ordnerhierarchie speichert.
## 🚀 Schnellstart mit Docker
### 1. Repository klonen/vorbereiten
```bash
cd /Users/rxf/Projekte/CameraSave
```
### 2. Umgebungsvariablen konfigurieren (optional)
```bash
cp .env.example .env
# Bearbeite .env mit deinen E-Mail-Zugangsdaten
```
### 3. Container mit Docker Compose starten
```bash
docker-compose up -d
```
### 4. Logs überprüfen
```bash
docker-compose logs -f camerasave
```
## 🐋 Manuelle Docker-Befehle
### Image erstellen
```bash
docker build -t camerasave .
```
### Container ausführen
```bash
docker run -d \
--name camerasave \
-v $(pwd)/videospeicher:/app/videospeicher \
-e EMAIL_USER="deine-email@domain.de" \
-e EMAIL_PASS="dein-passwort" \
camerasave
```
### Einmalige Ausführung
```bash
docker run --rm \
-v $(pwd)/videospeicher:/app/videospeicher \
-e EMAIL_USER="deine-email@domain.de" \
-e EMAIL_PASS="dein-passwort" \
camerasave
```
## 📁 Ordnerstruktur
Das Skript erstellt automatisch folgende Struktur:
```
videospeicher/
├── 2025/
│ ├── 01/
│ │ ├── 15/
│ │ │ ├── 01_20250115123456000.mp4
│ │ │ └── ...
│ │ └── ...
│ └── ...
└── ...
```
## ⚙️ Konfiguration
### Umgebungsvariablen
- `IMAP_SERVER`: IMAP-Server (Standard: secureimap.t-online.de)
- `IMAP_PORT`: IMAP-Port (Standard: 993)
- `EMAIL_USER`: E-Mail-Adresse
- `EMAIL_PASS`: E-Mail-Passwort (empfohlen: App-spezifisches Passwort)
- `SAVE_DIR`: Speicherverzeichnis (Standard: /app/videospeicher)
### Automatische Bereinigung
- Dateien älter als 365 Tage werden automatisch gelöscht
- Leere Ordner werden entfernt
## 🔒 Sicherheitshinweise
1. **App-spezifische Passwörter verwenden**: Erstelle ein App-spezifisches Passwort für dein E-Mail-Konto
2. **Umgebungsvariablen nutzen**: Speichere Zugangsdaten nicht im Code
3. **Volume-Backups**: Sichere regelmäßig das `videospeicher` Volume
## 🛠 Wartung
### Container neustarten
```bash
docker-compose restart
```
### Container stoppen
```bash
docker-compose down
```
### Logs anzeigen
```bash
docker-compose logs camerasave
```
### Container-Status prüfen
```bash
docker-compose ps
```
## 🐛 Troubleshooting
### E-Mail-Verbindungsfehler
- Überprüfe IMAP-Server und Port
- Stelle sicher, dass IMAP aktiviert ist
- Verwende App-spezifische Passwörter
### Berechtigung-Fehler
```bash
# Berechtigungen für videospeicher-Ordner setzen
sudo chown -R $(id -u):$(id -g) videospeicher/
```
### Container-Logs überprüfen
```bash
docker logs camerasave
```