f146f33f5d
Ampel / ampel (push) Successful in 30s
Commander: "Und wenn man den worker installiert braucht man auch eine exe auf dem
Desktop abgelegt wird zum starten you know?"
Berechtigt: Die Startdateien lagen nur im Programmordner. Wer den Worker von Hand
starten wollte, musste erst "C:\Program Files\Rippy Worker" suchen - und genau
das war heute noetig, als der Worker stand.
Jetzt legen beide Installer eine Verknuepfung "Rippy Worker" auf den Desktop
(GUI mit Haekchen, Kommandozeile per -KeineDesktopVerknuepfung abschaltbar). Drei
Details, die den Unterschied machen:
* Das ICON wird mit ausgeliefert. rippy.ico lag im Repo, ging aber nie an die
Zielmaschine - die Verknuepfung haette das Batch-Standardsymbol getragen und
waere zwischen den anderen Icons unfindbar gewesen. Jetzt im Worker-Paket.
* WindowStyle 7 (minimiert): start-tray.bat startet pythonw, also ohne
Konsolenfenster - aber die .bat selbst blitzt sonst kurz auf. Gilt jetzt auch
fuer die Autostart-Verknuepfung, wo derselbe Blitz war.
* Der DEINSTALLER nimmt sie mit, an beiden moeglichen Orten (eigener Desktop
und Desktop aller Benutzer). "Rueckstandsfrei entfernbar" ist ein
MUSS-Kriterium; ein totes Symbol auf dem Desktop waere genau so ein Rueckstand.
Dieselbe Rechte-Ueberlegung wie beim Autostart: bei einer Installation unter
"Programme" auf den Desktop ALLER Benutzer, sonst auf den eigenen - bei einer
UAC-Erhoehung ueber ein fremdes Admin-Konto waere der eigene der falsche.
Layout headless gerendert und angesehen (Fenster 648 -> 672 px, nichts
ueberlappt), beide .ps1 mit echtem PowerShell 5.1 geprueft, .exe neu gebaut.
Und die CRLF-Falle aus dem Savepoint hat prompt wieder zugeschlagen: Mein
Python-Rewrite machte aus install-gui.ps1 LF - zurueckgedreht, `file` bestaetigt
BOM und CRLF fuer beide.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
36 lines
1.6 KiB
Docker
36 lines
1.6 KiB
Docker
FROM python:3.12-slim-bookworm
|
|
|
|
WORKDIR /app
|
|
|
|
# udev ist raus (23.07.): udevadm lieferte im Container nie Daten (kein udevd) —
|
|
# die Geräte-Erkennung läuft jetzt über /sys + ioctls.
|
|
# nfs-common/cifs-utils: Netzwerk-Speicherziele werden aus dem UI heraus
|
|
# eingehängt (mounts.py, braucht CAP_SYS_ADMIN aus dem Compose).
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
nfs-common \
|
|
cifs-utils \
|
|
smbclient \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY docker/api/requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY docker/api/ .
|
|
|
|
# Worker-Selbstversorgung: die API liefert Installer + Worker-Code an
|
|
# native Worker aus (GET /worker-setup/windows bzw. /worker-setup/paket) —
|
|
# die Zielmaschine braucht weder git noch Docker.
|
|
COPY docker/worker/*.py docker/worker/requirements.txt worker_dist/
|
|
COPY deploy/worker-windows/install.ps1 deploy/worker-windows/install-gui.ps1 worker_dist/
|
|
# Rippy-Icon: Der Installer legt damit eine Verknüpfung auf den Desktop
|
|
# (Commander-Wunsch 26.07.2026). Ohne die Datei auf der Zielmaschine trüge die
|
|
# Verknüpfung das Standard-Batch-Symbol — und niemand fände sie zwischen den
|
|
# anderen Icons wieder.
|
|
COPY deploy/worker-windows/rippy.ico worker_dist/
|
|
# Vorgebaute .exe (Rippy-Icon, kein Konsolenfenster) — auf Windows via
|
|
# deploy/worker-windows/build-exe.ps1 erzeugt (Windows-.exe geht nicht von
|
|
# Linux). Nur bei GUI-Aenderungen neu bauen, nicht bei Tool-Updates.
|
|
COPY deploy/worker-windows/RippyWorkerSetup.exe worker_dist/
|
|
|
|
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--app-dir", "/app"]
|