Installation
Systemvoraussetzungen
Systemvoraussetzungen
| Komponente | Minimum | Empfohlen |
|---|---|---|
| Betriebssystem | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS |
| CPU | 2 vCPU | 2 vCPU |
| RAM | 1 GB | 2 GB |
| Speicher | 30 GB | 60 GB SSD |
Software
- Docker Engine 24+
- Docker Compose v2
- Git
- Nginx als Reverse Proxy
- SSL-Zertifikat
Powerbird SQL-Benutzer benoetigt
- SELECT auf HWTER, HWMIT, LOURL, ELWZV, ELDVD, ELDVV, ELDVK
- INSERT und UPDATE auf HWTER
Dimensionierung nach Mitarbeiterzahl
Die Last entsteht weniger durch die Node.js-Anwendung selbst als durch SMB-Lesevorgaenge (Werkzeugbilder, Dokumente) und MSSQL-Abfragen gegen Powerbird. Massgeblich ist die Anzahl gleichzeitig aktiver Nutzer, nicht die Gesamtzahl der Accounts.
| Mitarbeiter (Accounts) | Gleichzeitige Nutzer | CPU | RAM |
|---|---|---|---|
| bis 25 | bis 10 | 1-2 vCPU | 1 GB |
| bis 75 | bis 25 | 2 vCPU | 2 GB |
| bis 150 | bis 50 | 2-4 vCPU | 4 GB |
| bis 300+ | bis 100 | 4 vCPU | 4-8 GB |
Bei sehr kleinen Betrieben (unter 30 Mitarbeitern) reicht oft schon ein 1-vCPU/1-GB-Server aus. Die in der Tabelle oben genannten 2 vCPU/2 GB sind der komfortable Standardwert, mit dem auch Lastspitzen (z.B. morgens beim gleichzeitigen App-Start vieler Mitarbeiter) gut abgefedert werden. Der Sync-Job laeuft alle 5 Minuten im Hintergrund und ist fuer die genannten Groessenordnungen vernachlaessigbar.
Installation Schritt fuer Schritt
Installation
1. Docker und Git
curl -fsSL https://get.docker.com | sh
systemctl enable docker
apt-get install -y git2. Repository klonen
cd /opt
git clone https://github.com/ldroeger/LD-Connect-Portal.git
cd LD-Connect-Portal3. Konfiguration
cp .env.example .env
nano .env
# DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD, JWT_SECRET anpassen4. Starten
docker compose up -d --build5. Nginx und SSL
apt-get install -y nginx certbot python3-certbot-nginx
certbot --nginx -d portal.ihrefirma.de6. Einrichtungsassistent
Browser oeffnen: https://portal.ihrefirma.de und den Schritten folgen.
Backup einrichten
Backup
Nur die SQLite-Datenbank muss gesichert werden.
# Crontab -e
0 2 * * * cp /opt/LD-Connect-Portal/data/local.db /backup/local_$(date +%Y%m%d).db
0 3 * * * find /backup -name local_*.db -mtime +30 -deleteGesicherte Daten
- Benutzerkonten und Rollen
- Urlaubsantraege
- Krankmeldungen
- Einstellungen und Branding