KC@FlessingLabs 1.0.0: Testmodus ohne Lizenz, Installationsanleitung, Nutzungsbedingungen
Testmodus (ohne gültige Lizenz): 1 Personal-Konto, 2 Kunden; Discord-Bot, E-Mail-Posteingang (IMAP), DATEV-Export und Backups auf externe Ziele nur mit Lizenz. Mit Lizenz gelten deren Grenzen und Module (Lizenz ohne Modulliste = voller Umfang). Bestehende Daten bleiben bei Ablauf vollständig nutzbar, nur Neuanlagen über die Grenzen und die Zusatzfunktionen pausieren. - Edition zentral in @kc/platform/license (getEdition, hasFeature, assertCustomerCapacity, assertStaffCapacity), auch in der CLI durchgesetzt - Einstellungen → Lizenz zeigt die Edition, Hinweisbanner im Testmodus - README mit Installation, Update und Betrieb; systemd-Units unter ops/systemd - .env.example bereinigt (Kommentare nicht mehr hinter Werten, veraltete SMTP/Discord-Variablen entfernt; beides wird in der Oberfläche eingestellt) - LICENSE.md: Nutzungsbedingungen Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
fdd51b18e2
commit
17267b7c05
26 changed files with 368 additions and 73 deletions
21
ops/systemd/kc-api.service
Normal file
21
ops/systemd/kc-api.service
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
[Unit]
|
||||
Description=Kundencenter API
|
||||
After=network-online.target mariadb.service
|
||||
Wants=network-online.target mariadb.service
|
||||
[Service]
|
||||
User=kundencenter
|
||||
WorkingDirectory=/srv/kundencenter/apps/api
|
||||
Environment=KC_ENV_DIR=/nonexistent
|
||||
EnvironmentFile=/etc/kundencenter/db.env
|
||||
EnvironmentFile=-/etc/kundencenter/backup.env
|
||||
EnvironmentFile=/etc/kundencenter/app.env
|
||||
ExecStart=/usr/bin/node dist/server.js
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ReadWritePaths=/var/lib/kundencenter/requests /var/lib/kundencenter/ticket-attachments
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
7
ops/systemd/kc-backup-request.path
Normal file
7
ops/systemd/kc-backup-request.path
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
[Unit]
|
||||
Description=Kundencenter: Backup-Anfragen aus der Oberflaeche
|
||||
[Path]
|
||||
PathExistsGlob=/var/lib/kundencenter/requests/backup-*
|
||||
Unit=kc-backup-request.service
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
21
ops/systemd/kc-backup-request.service
Normal file
21
ops/systemd/kc-backup-request.service
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
[Unit]
|
||||
Description=Kundencenter: Backup-Anfrage aus der Oberflaeche abarbeiten
|
||||
After=mariadb.service network-online.target
|
||||
Wants=network-online.target
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=root
|
||||
WorkingDirectory=/srv/kundencenter/apps/api
|
||||
Environment=KC_ENV_DIR=/nonexistent
|
||||
Environment=PATH=/usr/local/bin:/usr/bin:/bin
|
||||
Environment=NODE_BIN=/usr/bin/node
|
||||
EnvironmentFile=/etc/kundencenter/db.env
|
||||
EnvironmentFile=/etc/kundencenter/app.env
|
||||
EnvironmentFile=-/etc/kundencenter/backup.env
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
ReadWritePaths=/var/backups/kundencenter /var/lib/kundencenter
|
||||
ExecStart=/bin/bash /srv/kundencenter/ops/process-requests.sh
|
||||
TimeoutStartSec=1h
|
||||
20
ops/systemd/kc-backup.service
Normal file
20
ops/systemd/kc-backup.service
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
[Unit]
|
||||
Description=Kundencenter-Backup
|
||||
After=mariadb.service network-online.target
|
||||
Wants=network-online.target
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=root
|
||||
WorkingDirectory=/srv/kundencenter/apps/api
|
||||
Environment=KC_ENV_DIR=/nonexistent
|
||||
Environment=PATH=/usr/local/bin:/usr/bin:/bin
|
||||
EnvironmentFile=/etc/kundencenter/db.env
|
||||
EnvironmentFile=/etc/kundencenter/app.env
|
||||
EnvironmentFile=-/etc/kundencenter/backup.env
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
ReadWritePaths=/var/backups/kundencenter /var/lib/kundencenter
|
||||
ExecStart=/usr/bin/node dist/cli/index.js backup run
|
||||
TimeoutStartSec=1h
|
||||
8
ops/systemd/kc-backup.timer
Normal file
8
ops/systemd/kc-backup.timer
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[Unit]
|
||||
Description=Taegliches Kundencenter-Backup
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 02:30:00
|
||||
RandomizedDelaySec=10min
|
||||
Persistent=true
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
20
ops/systemd/kc-restore-test.service
Normal file
20
ops/systemd/kc-restore-test.service
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
[Unit]
|
||||
Description=Kundencenter Wiederherstellungstest
|
||||
After=mariadb.service network-online.target
|
||||
Wants=network-online.target
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=root
|
||||
WorkingDirectory=/srv/kundencenter/apps/api
|
||||
Environment=KC_ENV_DIR=/nonexistent
|
||||
Environment=PATH=/usr/local/bin:/usr/bin:/bin
|
||||
EnvironmentFile=/etc/kundencenter/db.env
|
||||
EnvironmentFile=/etc/kundencenter/app.env
|
||||
EnvironmentFile=-/etc/kundencenter/backup.env
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
ReadWritePaths=/var/backups/kundencenter /var/lib/kundencenter
|
||||
ExecStart=/usr/bin/node dist/cli/index.js backup restore-test
|
||||
TimeoutStartSec=1h
|
||||
8
ops/systemd/kc-restore-test.timer
Normal file
8
ops/systemd/kc-restore-test.timer
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[Unit]
|
||||
Description=Woechentlicher Wiederherstellungstest
|
||||
[Timer]
|
||||
OnCalendar=Sun *-*-* 04:30:00
|
||||
RandomizedDelaySec=10min
|
||||
Persistent=true
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
19
ops/systemd/kc-web.service
Normal file
19
ops/systemd/kc-web.service
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
[Unit]
|
||||
Description=Kundencenter Web
|
||||
After=network-online.target kc-api.service
|
||||
Wants=network-online.target
|
||||
[Service]
|
||||
User=kundencenter
|
||||
WorkingDirectory=/srv/kundencenter/apps/web
|
||||
Environment=NODE_ENV=production
|
||||
Environment=NEXT_TELEMETRY_DISABLED=1
|
||||
ExecStart=/usr/bin/node node_modules/next/dist/bin/next start -p 4101 -H 127.0.0.1
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
ReadWritePaths=/srv/kundencenter/apps/web/.next
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
21
ops/systemd/kc-worker.service
Normal file
21
ops/systemd/kc-worker.service
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
[Unit]
|
||||
Description=Kundencenter Worker (Jobs, Discord-Bot)
|
||||
After=network-online.target mariadb.service kc-api.service
|
||||
Wants=network-online.target mariadb.service
|
||||
[Service]
|
||||
User=kundencenter
|
||||
WorkingDirectory=/srv/kundencenter/apps/worker
|
||||
Environment=KC_ENV_DIR=/nonexistent
|
||||
EnvironmentFile=/etc/kundencenter/db.env
|
||||
EnvironmentFile=-/etc/kundencenter/backup.env
|
||||
EnvironmentFile=/etc/kundencenter/app.env
|
||||
EnvironmentFile=-/etc/kundencenter/discord.env
|
||||
ExecStart=/usr/bin/node dist/index.js
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Loading…
Add table
Add a link
Reference in a new issue