-
Notifications
You must be signed in to change notification settings - Fork 61
/
Dockerfile
42 lines (36 loc) · 1.23 KB
/
Dockerfile
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
FROM alpine:3.19.1
LABEL AboutImage "Alpine_Chromium_NoVNC"
LABEL Maintainer "Apurv Vyavahare <apurvvyavahare@gmail.com>"
#VNC Server Password
ENV VNC_PASS="CHANGE_IT" \
#VNC Server Title(w/o spaces)
VNC_TITLE="Chromium" \
#VNC Resolution(720p is preferable)
VNC_RESOLUTION="1280x720" \
#VNC Shared Mode
VNC_SHARED=false \
#Local Display Server Port
DISPLAY=:0 \
#NoVNC Port
NOVNC_PORT=$PORT \
PORT=8080 \
#Heroku No-Sleep Mode
NO_SLEEP=false \
#Locale
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
LC_ALL=C.UTF-8 \
TZ="Asia/Kolkata"
COPY assets/ /
RUN apk update && \
apk add --no-cache tzdata ca-certificates supervisor curl wget openssl bash python3 py3-requests sed unzip xvfb x11vnc websockify openbox chromium nss alsa-lib font-noto font-noto-cjk && \
# noVNC SSL certificate
openssl req -new -newkey rsa:4096 -days 36500 -nodes -x509 -subj "/C=IN/O=Dis/CN=www.google.com" -keyout /etc/ssl/novnc.key -out /etc/ssl/novnc.cert > /dev/null 2>&1 && \
# TimeZone
cp /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone && \
# Wipe Temp Files
apk del build-base curl wget unzip tzdata openssl && \
rm -rf /var/cache/apk/* /tmp/*
ENTRYPOINT ["supervisord", "-l", "/var/log/supervisord.log", "-c"]
CMD ["/config/supervisord.conf"]