b1ghawk commited on
Commit
90a97ca
·
1 Parent(s): 0cfdb04

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +51 -63
Dockerfile CHANGED
@@ -1,63 +1,51 @@
1
- # This Dockerfile is used to build an headles vnc image based on Rocky linux
2
-
3
- FROM rockylinux:9
4
-
5
- MAINTAINER Sven Nierlein "sven@consol.de"
6
- ENV REFRESHED_AT 2023-01-27
7
-
8
- LABEL io.k8s.description="Headless VNC Container with Xfce window manager, firefox and chromium" \
9
- io.k8s.display-name="Headless VNC Container based on Rocky linux" \
10
- io.openshift.expose-services="6901:http,5901:xvnc" \
11
- io.openshift.tags="vnc, rocky, xfce" \
12
- io.openshift.non-scalable=true
13
-
14
- ## Connection ports for controlling the UI:
15
- # VNC port:5901
16
- # noVNC webport, connect via http://IP:6901/?password=vncpassword
17
- ENV DISPLAY=:1 \
18
- VNC_PORT=5901 \
19
- NO_VNC_PORT=6901
20
- EXPOSE $VNC_PORT $NO_VNC_PORT
21
-
22
- ### Envrionment config
23
- ENV HOME=/headless \
24
- TERM=xterm \
25
- STARTUPDIR=/dockerstartup \
26
- INST_SCRIPTS=/headless/install \
27
- NO_VNC_HOME=/headless/noVNC \
28
- VNC_COL_DEPTH=24 \
29
- VNC_RESOLUTION=1280x1024 \
30
- VNC_PW=vncpassword \
31
- VNC_VIEW_ONLY=false
32
- WORKDIR $HOME
33
-
34
- ### Add all install scripts for further steps
35
- ADD ./src/common/install/ $INST_SCRIPTS/
36
- ADD ./src/rocky/install/ $INST_SCRIPTS/
37
-
38
- ### Install some common tools
39
- RUN $INST_SCRIPTS/tools.sh
40
- ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
41
-
42
- ### Install xvnc-server & noVNC - HTML5 based VNC viewer
43
- RUN $INST_SCRIPTS/tigervnc.sh
44
- RUN $INST_SCRIPTS/no_vnc.sh
45
-
46
- ### Install firefox and chrome browser
47
- RUN $INST_SCRIPTS/firefox.sh
48
- RUN $INST_SCRIPTS/chrome.sh
49
-
50
- ### Install xfce UI
51
- RUN $INST_SCRIPTS/xfce_ui.sh
52
- ADD ./src/common/xfce/ $HOME/
53
-
54
- ### configure startup
55
- RUN $INST_SCRIPTS/libnss_wrapper.sh
56
- ADD ./src/common/scripts $STARTUPDIR
57
- RUN $INST_SCRIPTS/set_user_permission.sh $STARTUPDIR $HOME
58
- RUN $INST_SCRIPTS/rocky.sh
59
-
60
- USER 1000
61
-
62
- ENTRYPOINT ["/dockerstartup/vnc_startup.sh"]
63
- CMD ["--wait"]
 
1
+ FROM ubuntu:22.04
2
+
3
+ LABEL AboutImage "Ubuntu22.04_Chromium_NoVNC"
4
+
5
+ LABEL Maintainer "Apoorv Vyavahare <apoorvvyavahare@pm.me>"
6
+
7
+ ARG DEBIAN_FRONTEND=noninteractive
8
+
9
+ #VNC Server Password
10
+ ENV VNC_PASS="samplepass" \
11
+ #VNC Server Title(w/o spaces)
12
+ VNC_TITLE="Chromium" \
13
+ #VNC Resolution(720p is preferable)
14
+ VNC_RESOLUTION="1280x720" \
15
+ #VNC Shared Mode (0=off, 1=on)
16
+ VNC_SHARED=0 \
17
+ #Local Display Server Port
18
+ DISPLAY=:0 \
19
+ #NoVNC Port
20
+ NOVNC_PORT=$PORT \
21
+ PORT=8080 \
22
+ #Locale
23
+ LANG=en_US.UTF-8 \
24
+ LANGUAGE=en_US.UTF-8 \
25
+ LC_ALL=C.UTF-8 \
26
+ TZ="Asia/Kolkata"
27
+
28
+ COPY rootfs/ /
29
+
30
+ SHELL ["/bin/bash", "-c"]
31
+
32
+ RUN apt-get update && \
33
+ apt-get install -y tzdata ca-certificates supervisor curl wget python3 python3-pip sed unzip xvfb x11vnc websockify openbox libnss3 libgbm-dev libasound2 fonts-droid-fallback && \
34
+ #Chromium
35
+ wget https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F1235467%2Fchrome-linux.zip?alt=media -O /tmp/chrome-linux.zip && \
36
+ unzip /tmp/chrome-linux.zip -d /opt && \
37
+ #noVNC
38
+ openssl req -new -newkey rsa:4096 -days 36500 -nodes -x509 -subj "/C=IN/ST=Maharastra/L=Private/O=Dis/CN=www.google.com" -keyout /etc/ssl/novnc.key -out /etc/ssl/novnc.cert && \
39
+ #TimeZone
40
+ ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
41
+ echo $TZ > /etc/timezone && \
42
+ #Wipe Temp Files
43
+ rm -rf /var/lib/apt/lists/* && \
44
+ apt-get remove -y wget python3-pip unzip && \
45
+ apt-get -y autoremove && \
46
+ apt-get clean && \
47
+ rm -rf /tmp/*
48
+
49
+ ENTRYPOINT ["supervisord", "-l", "/var/log/supervisord.log", "-c"]
50
+
51
+ CMD ["/config/supervisord.conf"]