chore(scanner): alte Scanner-App zurueckgebaut
Die eigenstaendige Vorgaenger-App unter scanner.perinco.de ist auf dem Server entfernt: Unit project-scanner-backend (Port 5005), beide Apache-Vhosts, das Let's-Encrypt-Zertifikat samt Renewal-Config, /var/www/Projekt Scanner (486 MB) und die Datenbank project_scanner (Dump unter /root/backups). Damit entfallen die LEGACY_*-Variablen und das Importskript, dessen Quelle es nicht mehr gibt. /root/.cache/ms-playwright bleibt bewusst stehen: der Cache stammt aus der Installation der alten App, liegt aber ausserhalb beider Verzeichnisse und wird vom CRM-Scanner benutzt - playwright ist auf 1.60.0 gepinnt, damit es genau dieser Build (chromium-1223) bleibt. Der Hinweis steht jetzt in README und docs/06-betrieb.md, damit ihn beim naechsten Aufraeumen niemand mitnimmt. SCANNER_SCHEDULER_OFFSET geht auf 0: der Versatz sollte verhindern, dass beide Instanzen mit denselben Portal-Cookies gleichzeitig losziehen. Ohne zweite Instanz hat er keinen Zweck mehr, die Mechanik bleibt fuer kuenftige Erststarts im Code. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
ab6b9f2372
commit
3c9d83161e
+11
-46
@@ -2,23 +2,22 @@
|
||||
# ---------------------------------------------------------------------------
|
||||
# Einmalige Einrichtung des portierten Projekt Scanners im CRM-Backend.
|
||||
#
|
||||
# Ergaenzt /var/www/perinco_CRM/server/.env um die SCANNER_*- und LEGACY_*-
|
||||
# Variablen. Idempotent: vorhandene Werte werden nicht ueberschrieben, der
|
||||
# Ergaenzt /var/www/perinco_CRM/server/.env um die SCANNER_*-Variablen.
|
||||
# Idempotent: vorhandene Werte werden nicht ueberschrieben, der
|
||||
# Verschluesselungsschluessel wird nur erzeugt, wenn noch keiner drinsteht.
|
||||
#
|
||||
# Geheimnisse werden nie ausgegeben - nur, ob ein Wert gesetzt ist.
|
||||
#
|
||||
# Die eigenstaendige Vorgaenger-App (scanner.perinco.de, Port 5005, Datenbank
|
||||
# project_scanner) wurde am 09.09.2026 zurueckgebaut. Die frueher hier
|
||||
# gesetzten LEGACY_*-Variablen und das Importskript sind damit entfallen.
|
||||
#
|
||||
# Aufruf auf dem Server:
|
||||
# bash /tmp/scanner-setup.sh
|
||||
# ---------------------------------------------------------------------------
|
||||
set -euo pipefail
|
||||
|
||||
CRM_ENV=/var/www/perinco_CRM/server/.env
|
||||
# Achtung: der Pfad der laufenden Scanner-App enthaelt ein Leerzeichen, deshalb
|
||||
# ueberall in Anfuehrungszeichen. Die Unit heisst project-scanner-backend und
|
||||
# hoert auf Port 5005.
|
||||
LEGACY_DIR="/var/www/Projekt Scanner/backend"
|
||||
LEGACY_ENV="$LEGACY_DIR/.env"
|
||||
|
||||
if [ ! -f "$CRM_ENV" ]; then
|
||||
echo "FEHLER: $CRM_ENV fehlt."
|
||||
@@ -30,9 +29,8 @@ cp -a "$CRM_ENV" "$CRM_ENV.bak.$(date +%Y%m%d%H%M%S)"
|
||||
# Wert nur setzen, wenn der Schluessel fehlt oder leer ist.
|
||||
#
|
||||
# Werte mit Leerzeichen werden gequotet: systemd liest diese Datei als
|
||||
# EnvironmentFile und trennt dort an Leerzeichen - ein ungequoteter Pfad wie
|
||||
# "/var/www/Projekt Scanner/backend/uploads" kaeme abgeschnitten an. dotenv
|
||||
# entfernt die Quotes beim Einlesen wieder.
|
||||
# EnvironmentFile und trennt dort an Leerzeichen - ein ungequoteter Pfad kaeme
|
||||
# abgeschnitten an. dotenv entfernt die Quotes beim Einlesen wieder.
|
||||
upsert() {
|
||||
local key="$1" value="$2"
|
||||
if grep -qE "^${key}=.+" "$CRM_ENV"; then
|
||||
@@ -48,13 +46,6 @@ upsert() {
|
||||
echo " $key: gesetzt"
|
||||
}
|
||||
|
||||
# Aus der alten .env lesen, ohne sie in die eigene Umgebung zu uebernehmen.
|
||||
legacy_value() {
|
||||
local key="$1"
|
||||
[ -f "$LEGACY_ENV" ] || return 0
|
||||
sed -n "s/^${key}=//p" "$LEGACY_ENV" | tail -n1 | tr -d '\r'
|
||||
}
|
||||
|
||||
echo "== Scanner-Konfiguration in $CRM_ENV =="
|
||||
|
||||
# Kopfzeile nur beim ersten Lauf, sonst sammelt sich bei jedem Aufruf eine an.
|
||||
@@ -65,7 +56,7 @@ fi
|
||||
upsert SCANNER_DB_NAME perinco_scanner
|
||||
upsert SCANNER_UPLOAD_DIR /var/www/perinco_CRM/server/uploads
|
||||
upsert SCANNER_SCHEDULER true
|
||||
upsert SCANNER_SCHEDULER_OFFSET 30
|
||||
upsert SCANNER_SCHEDULER_OFFSET 0
|
||||
|
||||
if grep -qE '^SCANNER_ENCRYPTION_KEY=.+' "$CRM_ENV"; then
|
||||
echo " SCANNER_ENCRYPTION_KEY: bleibt unveraendert"
|
||||
@@ -75,35 +66,9 @@ else
|
||||
echo " SCANNER_ENCRYPTION_KEY: neu erzeugt (64 Hex-Zeichen)"
|
||||
fi
|
||||
|
||||
echo "== Uebernahme aus der alten App =="
|
||||
|
||||
if [ ! -f "$LEGACY_ENV" ]; then
|
||||
echo " $LEGACY_ENV nicht gefunden - LEGACY_* bleibt leer, Import faellt aus."
|
||||
else
|
||||
LEGACY_DB_NAME_VALUE="$(legacy_value DB_NAME)"
|
||||
LEGACY_DB_USER_VALUE="$(legacy_value DB_USER)"
|
||||
LEGACY_DB_PASSWORD_VALUE="$(legacy_value DB_PASSWORD)"
|
||||
LEGACY_DB_HOST_VALUE="$(legacy_value DB_HOST)"
|
||||
LEGACY_DB_PORT_VALUE="$(legacy_value DB_PORT)"
|
||||
LEGACY_KEY_VALUE="$(legacy_value ENCRYPTION_KEY)"
|
||||
|
||||
upsert LEGACY_DB_NAME "${LEGACY_DB_NAME_VALUE:-project_scanner}"
|
||||
upsert LEGACY_DB_HOST "${LEGACY_DB_HOST_VALUE:-localhost}"
|
||||
upsert LEGACY_DB_PORT "${LEGACY_DB_PORT_VALUE:-3306}"
|
||||
upsert LEGACY_DB_USER "${LEGACY_DB_USER_VALUE:-root}"
|
||||
upsert LEGACY_DB_PASSWORD "${LEGACY_DB_PASSWORD_VALUE:-}"
|
||||
upsert LEGACY_UPLOAD_DIR "$LEGACY_DIR/uploads"
|
||||
|
||||
if [ -n "$LEGACY_KEY_VALUE" ]; then
|
||||
upsert LEGACY_ENCRYPTION_KEY "$LEGACY_KEY_VALUE"
|
||||
else
|
||||
echo " LEGACY_ENCRYPTION_KEY: in der alten .env nicht gefunden - Portal-Passwoerter werden nicht uebernommen"
|
||||
fi
|
||||
fi
|
||||
|
||||
chmod 600 "$CRM_ENV"
|
||||
|
||||
echo "== Ergebnis (Werte maskiert) =="
|
||||
grep -E '^(SCANNER|LEGACY)_' "$CRM_ENV" | sed -E 's/=(.+)/= <gesetzt>/' | sort -u
|
||||
grep -E '^SCANNER_' "$CRM_ENV" | sed -E 's/=(.+)/= <gesetzt>/' | sort -u
|
||||
|
||||
echo "Fertig."
|
||||
echo "Fertig. Danach: systemctl restart perinco-crm-backend"
|
||||
|
||||
Reference in New Issue
Block a user