From 0775eaa7a363aa5b8f8ad4ed8daabb424196f4c7 Mon Sep 17 00:00:00 2001 From: Joachim Hummel Date: Tue, 27 Jan 2026 17:39:25 +0100 Subject: [PATCH] add comprehensive customer and admin README Created complete German README with two sections: - Business section: features, security, GDPR compliance - Technical section: installation, configuration, operations Includes keygen.sh setup guide, email configuration, reverse proxy examples, backup strategies, and troubleshooting. Co-Authored-By: Claude Sonnet 4.5 --- README.md | 272 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 271 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a22e79d..100d6ab 100644 --- a/README.md +++ b/README.md @@ -1 +1,271 @@ -SafeDocs Portal Container Images +# SafeDocs Portal + +> Sichere Dokumentenverwaltung für Ihr Unternehmen - Self-Hosted, DSGVO-konform, einfach + +## Über SafeDocs Portal + +SafeDocs Portal ist eine self-hosted Lösung für sichere Dokumentenverwaltung und -freigabe. +Mit integriertem Virenscanner, Ende-zu-Ende-Verschlüsselung und vollständiger Datenkontrolle +behalten Sie die volle Kontrolle über Ihre sensiblen Daten. + +**Perfekt für:** Rechtsanwälte, Steuerberater, Gesundheitswesen, Behörden, KMUs mit +hohen Datenschutzanforderungen + +## ✨ Kernfunktionen + +### 🔒 Maximale Sicherheit +- **ClamAV Virenscanner** - Jede hochgeladene Datei wird automatisch gescannt +- **AES-256 Verschlüsselung** - Ihre Daten sind verschlüsselt gespeichert +- **Sichere Authentifizierung** - JWT-basierte Zugriffskontrolle mit Passwort-Reset +- **Redis Cache** - Schnelle Performance mit sicherer Session-Verwaltung + +### 🇪🇺 DSGVO & Compliance +- **100% Self-Hosted** - Ihre Daten bleiben auf Ihren Servern +- **Keine Cloud-Abhängigkeit** - Vollständige Datenkontrolle +- **On-Premise oder eigener Server** - Sie entscheiden, wo Daten liegen +- **Audit-fähig** - Nachvollziehbare Logs und Zugriffskontrollen + +### 🚀 Einfach & Schnell +- **Docker-basiert** - Installation in unter 5 Minuten +- **Automatisches Setup** - Keygen-Script generiert alle Secrets +- **Moderne Weboberfläche** - Intuitive Bedienung, keine Schulung nötig +- **E-Mail Integration** - SMTP, Brevo oder SendGrid Support + +## 📸 Screenshots + +Weitere Informationen und Screenshots finden Sie auf [safedocsportal.com](https://safedocsportal.com) + +--- + +## 🔧 Technische Dokumentation + +*Dieser Bereich richtet sich an IT-Administratoren und technisches Personal.* + +## Systemanforderungen + +- **Docker** & **Docker Compose** (v2.0+) +- **Linux Server** (Debian, Ubuntu, oder Alpine empfohlen) +- Mindestens **2 GB RAM** (4 GB empfohlen für ClamAV) +- **10 GB Festplattenspeicher** (plus Speicher für Uploads) +- **Internetzugang** für ClamAV Virendatenbank-Updates + +## Architektur + +SafeDocs Portal besteht aus folgenden Komponenten: + +- **Frontend** (Nginx) - React-basierte Weboberfläche auf Port 80 +- **Backend** (Node.js) - REST API auf Port 3000 +- **PostgreSQL** - Datenbank für Benutzer und Metadaten +- **Redis** - Session-Cache und Performance-Optimierung +- **ClamAV** - Virenscanner für alle Uploads + +Alle Komponenten laufen in isolierten Docker-Containern mit Health-Checks. + +## 🚀 Installation + +### Schritt 1: Repository klonen + +```bash +git clone https://github.com/IHR-USERNAME/safedocsportal.git +cd safedocsportal +``` + +### Schritt 2: Environment konfigurieren + +Das mitgelieferte `keygen.sh` Script generiert automatisch alle Secrets: + +```bash +chmod +x keygen.sh +./keygen.sh +``` + +Das Script: +- ✅ Generiert sichere Passwörter für PostgreSQL und Redis +- ✅ Erstellt JWT Secrets für die Authentifizierung +- ✅ Generiert einen AES-256 Encryption Key +- ✅ Konfiguriert alle URLs basierend auf Ihrer Domain +- ✅ Erstellt automatisch Backups bei Überschreibung + +**Manuelle Konfiguration** (optional): +```bash +cp env.example .env +nano .env +# Passen Sie folgende Werte an: +# - Domain/URLs +# - E-Mail Einstellungen (SMTP, Brevo, oder SendGrid) +# - Optional: Lizenzserver-Konfiguration +``` + +### Schritt 3: Container starten + +```bash +docker compose pull +docker compose up -d +``` + +Der erste Start dauert ca. 2-3 Minuten (ClamAV lädt Virendatenbank). + +### Schritt 4: Zugriff + +Öffnen Sie `http://ihre-domain` im Browser. + +**Erster Admin-Account:** +Nach dem Start können Sie sich registrieren. Danach sollten Sie `ENABLE_REGISTER=false` +in der `.env` setzen, um weitere Registrierungen zu deaktivieren. + +## ⚙️ Konfiguration + +### E-Mail Versand + +SafeDocs Portal unterstützt mehrere E-Mail Provider: + +**SMTP (empfohlen für Self-Hosting):** +```bash +MAIL_PROVIDER=smtp +SMTP_HOST=smtp.example.com +SMTP_PORT=587 +SMTP_USER=your_user +SMTP_PASSWORD=your_password +``` + +**Brevo (ehemals Sendinblue):** +```bash +MAIL_PROVIDER=brevo +BREVO_API_KEY=your_api_key +``` + +**SendGrid:** +```bash +MAIL_PROVIDER=sendgrid +SENDGRID_API_KEY=your_api_key +``` + +### Reverse Proxy (Production) + +Für HTTPS sollten Sie einen Reverse Proxy (Nginx, Traefik, Caddy) vorschalten: + +**Nginx Beispiel:** +```nginx +server { + listen 443 ssl http2; + server_name portal.example.com; + + ssl_certificate /path/to/cert.pem; + ssl_certificate_key /path/to/key.pem; + + location / { + proxy_pass http://localhost:80; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } + + location /api { + proxy_pass http://localhost:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } +} +``` + +### Lizenzierung (Optional) + +Wenn Sie eine Lizenz erworben haben: +```bash +LICENSE_SERVER_URL=https://license.unixweb.de +LICENSE_KEY=ihre_lizenz_key +``` + +## 🔄 Betrieb + +### Container verwalten + +```bash +# Status prüfen +docker compose ps + +# Logs anzeigen +docker compose logs -f + +# Container neustarten +docker compose restart + +# Container stoppen +docker compose down + +# Updates einspielen +docker compose pull +docker compose up -d +``` + +### Backups + +**Wichtige Daten:** +- PostgreSQL Datenbank: `postgres_data` Volume +- Uploads: `uploads_data` Volume +- `.env` Datei mit Secrets + +**Backup erstellen:** +```bash +# Datenbank Backup +docker compose exec postgres pg_dump -U portal_user secure_portal > backup.sql + +# Volume Backups +docker run --rm -v safedocsportal_uploads_data:/data -v $(pwd):/backup alpine tar czf /backup/uploads-backup.tar.gz /data +``` + +## 🛡️ Sicherheit + +### Best Practices + +- **Firewall konfigurieren** - Nur Port 80/443 öffnen +- **Secrets rotieren** - Passwörter regelmäßig ändern +- **Updates einspielen** - Container regelmäßig aktualisieren +- **Backups testen** - Restore-Prozess regelmäßig prüfen +- **HTTPS erzwingen** - Reverse Proxy mit SSL/TLS +- **Registrierung deaktivieren** - Nach Admin-Erstellung `ENABLE_REGISTER=false` + +### ClamAV Virenscanner + +Der integrierte ClamAV Scanner: +- Scannt alle Uploads automatisch +- Updated Virendatenbank täglich +- Blockiert infizierte Dateien +- Kann mit `CLAMAV_ENABLED=false` deaktiviert werden (nicht empfohlen) + +## 🐛 Troubleshooting + +**Container startet nicht:** +```bash +# Logs prüfen +docker compose logs + +# Health Status prüfen +docker compose ps +``` + +**ClamAV braucht zu lange:** +- Erster Start: 2-3 Minuten (Virendatenbank Download) +- Braucht mindestens 2 GB RAM +- Bei wenig RAM: `CLAMAV_ENABLED=false` setzen + +**E-Mail Versand funktioniert nicht:** +- SMTP Zugangsdaten prüfen +- Firewall für ausgehende Verbindungen prüfen +- Logs: `docker compose logs backend` + +## 📞 Support & Links + +- **Website:** [https://safedocsportal.com](https://safedocsportal.com) +- **Support:** `kontakt@safedocsportal.com` +- **Lizenz:** Kommerzielle Lizenz (Details auf Website) + +## 📄 Lizenz + +SafeDocs Portal ist proprietäre Software. +© 2024-2026 UnixWeb. Alle Rechte vorbehalten. + +Für Lizenzinformationen besuchen Sie [safedocsportal.com](https://safedocsportal.com) + +--- + +**Made with ❤️ by UnixWeb**