Spaces:
Running
Running
| # ---- 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"] | |