File size: 1,253 Bytes
d8fbbb6
 
 
 
 
 
 
 
c57e638
 
 
 
 
 
d8fbbb6
 
 
 
22d7d06
 
 
 
 
 
 
d8fbbb6
 
 
 
 
 
 
 
 
 
0c0ddc6
 
 
d8fbbb6
 
0c0ddc6
d8fbbb6
 
 
b687e78
 
 
c57e638
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# ---- 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"]