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 <noreply@anthropic.com>
This commit is contained in:
2026-01-27 17:39:25 +01:00
parent 658c9d01b6
commit 0775eaa7a3

272
README.md
View File

@@ -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**