# ---- Base image mit Python 3.11 FROM python:3.11-slim # Environment-Variablen ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ HOME=/home/user ENV STREAMLIT_SERVER_ENABLE_CORS=false \ STREAMLIT_SERVER_ENABLE_XSRF_PROTECTION=false \ STREAMLIT_SERVER_MAX_UPLOAD_SIZE=500 # Non-root-User anlegen (vermeidet Rechtefehler) RUN useradd -m -u 1000 user # Systempakete für Video/OpenCV RUN apt-get update && apt-get install -y --no-install-recommends \ ffmpeg \ libgl1 \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Dependencies zuerst installieren (Docker-Layer-Cache) COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # App-Code kopieren COPY . . RUN mkdir -p $HOME/.streamlit && \ printf "[server]\nheadless = true\nport = 7860\naddress = \"0.0.0.0\"\n" \ "enableXsrfProtection = false\nenableCORS = false\nmaxUploadSize = 500\n\n" \ "[browser]\ngatherUsageStats = false\n" > $HOME/.streamlit/config.toml && \ chown -R user:user $HOME USER user # Start-Befehl # Start-Befehl CMD ["streamlit","run","app.py","--server.port=7860","--server.address=0.0.0.0","--server.enableXsrfProtection=false","--server.enableCORS=false"]