Joachim Hummel 8a9a50273f replace Self-Hosting with On-Premise / Selfhosting
Updated terminology throughout README for clearer
business positioning targeting enterprise customers.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-27 17:51:53 +01:00
2026-01-27 12:28:41 +00:00
2026-01-27 12:58:04 +00:00
2026-01-27 15:19:39 +00:00

SafeDocs Portal

Sichere Dokumentenverwaltung für Ihr Unternehmen - On-Premise / Selfhosting, DSGVO-konform, einfach

Über SafeDocs Portal

SafeDocs Portal ist eine On-Premise 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% On-Premise / Selfhosting - 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


🔧 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

git clone https://git.unixweb.net/unixweb/safedocsportal.git
cd safedocsportal

Schritt 2: Environment konfigurieren

Das mitgelieferte keygen.sh Script generiert automatisch alle Secrets:

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):

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

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 On-Premise / Selfhosting):

MAIL_PROVIDER=smtp
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your_user
SMTP_PASSWORD=your_password

Brevo (ehemals Sendinblue):

MAIL_PROVIDER=brevo
BREVO_API_KEY=your_api_key

SendGrid:

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:

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:

LICENSE_SERVER_URL=https://license.unixweb.de
LICENSE_KEY=ihre_lizenz_key

🔄 Betrieb

Container verwalten

# 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:

# 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:

# 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

📄 Lizenz

SafeDocs Portal ist proprietäre Software. © 2024-2026 UnixWeb. Alle Rechte vorbehalten.

Für Lizenzinformationen besuchen Sie safedocsportal.com


Made with ❤️ by UnixWeb

Description
SafeDocs Portal Docker Container
https://safedocsportal.com
Readme 487 KiB
Languages
Shell 100%