Dein Import-Skript aus Kapitel 12 und 13 kann als eigener Dienst im selben Image laufen:
yaml
import:
build: .
command: ["uv", "run", "--frozen", "--no-dev", "python", "kunden_import.py"]
environment:
DATABASE_URL: postgresql://lernen:${DB_PASSWORD}@db:5432/lerndb
depends_on:
db:
condition: service_healthy
profiles: ["jobs"] # startet nicht mit "up", nur auf Anforderung
Einmal ausführen: docker compose run --rm import. Zeitgesteuert startest du das per Cron auf dem Server, zum Beispiel jeden Tag um 6 Uhr:
text
0 6 * * * cd /pfad/zum/projekt && docker compose run --rm import >> import.log 2>&1