36 lines
1.5 KiB
Docker
36 lines
1.5 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/installer.py 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"]
|