Spaces:
Paused
Paused
Create Dockerfile
Browse files- Dockerfile +27 -0
Dockerfile
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM python:3.11-slim
|
| 2 |
+
|
| 3 |
+
# Устанавливаем всё для графики и браузера
|
| 4 |
+
RUN apt-get update && apt-get install -y \
|
| 5 |
+
xvfb x11vnc novnc websockify \
|
| 6 |
+
libgbm-dev libnss3 libatk-bridge2.0-0 libgtk-3-0 libasound2 \
|
| 7 |
+
&& rm -rf /var/lib/apt/lists/*
|
| 8 |
+
|
| 9 |
+
WORKDIR /app
|
| 10 |
+
|
| 11 |
+
COPY requirements.txt .
|
| 12 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
| 13 |
+
RUN playwright install chromium
|
| 14 |
+
RUN playwright install-deps chromium
|
| 15 |
+
|
| 16 |
+
COPY . .
|
| 17 |
+
|
| 18 |
+
# Создаем скрипт запуска графики и API
|
| 19 |
+
RUN echo '#!/bin/bash\n\
|
| 20 |
+
Xvfb :99 -screen 0 1280x1024x24 &\n\
|
| 21 |
+
sleep 2\n\
|
| 22 |
+
x11vnc -display :99 -nopw -forever -shared &\n\
|
| 23 |
+
/usr/share/novnc/utils/launch.sh --vnc localhost:5900 --listen 7861 &\n\
|
| 24 |
+
export DISPLAY=:99\n\
|
| 25 |
+
uvicorn app:app --host 0.0.0.0 --port 7860' > /app/run.sh && chmod +x /app/run.sh
|
| 26 |
+
|
| 27 |
+
CMD ["/app/run.sh"]
|