bahngleis-detektor / Dockerfile
Migjomatic's picture
Update Dockerfile
22d7d06 verified
# ---- 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"]