# 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://git.unixweb.net/unixweb/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**