/
Dockerfile
65 lines (49 loc) · 2.22 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
FROM openkbs/jdk-mvn-py3-vnc
MAINTAINER DrSnowbird "DrSnowbird@openkbs.org"
###############################
#### ---- User setup: ---- ####
###############################
ENV USER=${USER:-developer}
ENV HOME=/home/${USER}
#### ---- Install Directory: ---- ####
ENV INSTALL_DIR=${HOME}
#### ---- App Preparation: ---- ####
ENV PRODUCT_NAME=${PRODUCT_NAME:-rest-dev-vnc-docker}
ENV PRODUCT_HOME=${PRODUCT_HOME:-${INSTALL_DIR}/${PRODUCT_NAME}}
ENV SCRIPT_DIR=${SCRIPT_DIR:-${PRODUCT_HOME}/script}
ENV COMPONENT_DIR=${COMPONENT_DIR:-${PRODUCT_HOME}/component}
ENV NPM_PREFIX=${COMPONENT_DIR:-${PRODUCT_HOME}/npm}}
USER ${USER}
WORKDIR ${HOME}
#### ---- Transfer setup ---- ####
COPY ./script ${SCRIPT_DIR}
COPY ./component ${COMPONENT_DIR}
COPY ./wrapper_process.sh ${PRODUCT_HOME}/wrapper_process.sh
#### ---- Permissions setup: ---- ####
RUN echo "`id -u`" && echo "`id -g`" && \
sudo chown -R ${USER}:${USER} ${PRODUCT_HOME} ${HOME}/.config ${PRODUCT_HOME}/wrapper_process.sh && \
sudo chmod +x ${PRODUCT_HOME}/*.sh ${SCRIPT_DIR}/*.sh ${COMPONENT_DIR}/*.sh && \
ln -sf ${PRODUCT_HOME}/wrapper_process.sh ${HOME}/wrapper_process.sh && \
sudo ln -sf /usr/bin/chromium-browser /usr/bin/chromium && \
sudo find /usr/share -type d -user 4011 -maxdepth 1 && { [ $? -eq 0 ] && sudo chown root:root /usr /usr/share; }
# RUN sudo chown -R ${USER}:$(id -gn ${USER}) ${HOME}/.config
#### ---- Apt (Ubuntu) Proxy setup ---- ####
RUN cd ${SCRIPT_DIR}; ${SCRIPT_DIR}/setup_apt_proxy.sh && \
sudo apt-get update --fix-missing -y
#### ---- NPM Proxy & NPM Permission setup: ---- ####
RUN cd ${SCRIPT_DIR}; ${SCRIPT_DIR}/setup_npm_proxy.sh
RUN cd ${SCRIPT_DIR}; ${SCRIPT_DIR}/setup_npm_with_no_sudo.sh
#### ---- Components Install: ---- ####
RUN cd ${SCRIPT_DIR}; ${SCRIPT_DIR}/install-component-active.sh
#### ---- Permissions tidy up ---- ####
#RUN sudo chown -R root:root $(find /usr/share -type d -user 4011 -maxdepth 1)
##################################
#### ---- VNC: ---- ####
##################################
USER ${USER}
WORKDIR ${HOME}
ENTRYPOINT ["/dockerstartup/vnc_startup.sh"]
##################################
#### ---- Start: ---- ####
##################################
CMD "${HOME}/wrapper_process.sh"