aripbae commited on
Commit
5524abd
·
verified ·
1 Parent(s): b68ed24

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +76 -0
Dockerfile ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.11-slim
2
+
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+
5
+ RUN apt-get update && apt-get install -y \
6
+ wget \
7
+ gnupg \
8
+ ca-certificates \
9
+ fonts-liberation \
10
+ libasound2 \
11
+ libatk-bridge2.0-0 \
12
+ libatk1.0-0 \
13
+ libatspi2.0-0 \
14
+ libcups2 \
15
+ libdbus-1-3 \
16
+ libdrm2 \
17
+ libgbm1 \
18
+ libgtk-3-0 \
19
+ libnspr4 \
20
+ libnss3 \
21
+ libwayland-client0 \
22
+ libxcomposite1 \
23
+ libxdamage1 \
24
+ libxfixes3 \
25
+ libxkbcommon0 \
26
+ libxrandr2 \
27
+ xdg-utils \
28
+ libx11-xcb1 \
29
+ libxcb1 \
30
+ libxcursor1 \
31
+ libxi6 \
32
+ libxtst6 \
33
+ libpango-1.0-0 \
34
+ libcairo2 \
35
+ libgdk-pixbuf-2.0-0 \
36
+ xvfb \
37
+ x11vnc \
38
+ fluxbox \
39
+ dbus-x11 \
40
+ && rm -rf /var/lib/apt/lists/*
41
+
42
+ RUN apt-get update && apt-get install -y \
43
+ firefox-esr \
44
+ && rm -rf /var/lib/apt/lists/*
45
+
46
+ WORKDIR /app
47
+
48
+ # COPY requirements.txt .
49
+ RUN pip install --no-cache-dir Flask flask-cors camoufox[geoip] asyncio Pillow
50
+
51
+ RUN mkdir -p /root/.cache/camoufox && chmod -R 777 /root/.cache/camoufox
52
+
53
+ RUN python3 -c "from camoufox.sync_api import Camoufox; Camoufox.install()" || echo "Camoufox install failed"
54
+ RUN python3 -c "from camoufox.pkgman import install_geoip; install_geoip()" || echo "GeoIP install failed, continuing without it"
55
+
56
+ COPY . .
57
+
58
+ RUN mkdir -p public
59
+
60
+ ENV DISPLAY=:99
61
+ ENV CAMOUFOX_HEADLESS=true
62
+ ENV PYTHONUNBUFFERED=1
63
+ ENV CAMOUFOX_CACHE_DIR=/root/.cache/camoufox
64
+
65
+ RUN echo '#!/bin/bash\n\
66
+ rm -rf /root/.cache/camoufox/gmp-clearkey 2>/dev/null || true\n\
67
+ rm -rf /root/.cache/camoufox/.lock 2>/dev/null || true\n\
68
+ Xvfb :99 -screen 0 1920x1080x24 -ac +extension GLX +render -noreset &\n\
69
+ sleep 2\n\
70
+ python app.py' > /app/start.sh && chmod +x /app/start.sh
71
+
72
+ RUN camoufox fetch
73
+
74
+ EXPOSE 7860
75
+
76
+ CMD ["/app/start.sh"]