-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile.desktop
57 lines (49 loc) · 1.77 KB
/
Dockerfile.desktop
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
FROM temp
LABEL maintainer="Joshua L. Phillips <https://www.cs.mtsu.edu/~jphillips/>"
USER root
# Additional tools
COPY patches/firefox.gpg /etc/apt/trusted.gpg.d/.
COPY patches/firefox.list /etc/apt/sources.list.d/.
RUN apt-get update && \
apt-get install -y \
default-jre \
dbus-x11 \
firefox-esr \
xfce4 \
xfce4-panel \
xfce4-session \
xfce4-settings \
xorg && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Install:
# TurboVNC (for Desktop)
# VSCode (for IDE)
RUN wget 'https://sourceforge.net/projects/turbovnc/files/2.2.5/turbovnc_2.2.5_amd64.deb/download' -O turbovnc_2.2.5_amd64.deb && \
apt-get install -y -q ./turbovnc_2.2.5_amd64.deb && \
apt-get remove -y -q light-locker && \
rm ./turbovnc_2.2.5_amd64.deb && \
ln -s /opt/TurboVNC/bin/* /usr/local/bin/ && \
echo -e "jovyan\njovyan" | sudo passwd jovyan && \
curl -fsSL https://code-server.dev/install.sh | sh -s -- --version=4.14.1 && \
rm -rf "${HOME}/.cache" && \
wget https://versaweb.dl.sourceforge.net/project/circuit/2.7.x/2.7.1/logisim-generic-2.7.1.jar && \
mkdir /opt/logisim && \
mv logisim-generic-2.7.1.jar /opt/logisim/.
# Install Logisim
COPY logisim* /opt/logisim/
RUN ln -s /opt/logisim/logisim /usr/local/bin/. && \
ln -s /opt/logisim/logisim.desktop /usr/share/applications/. && \
ln -s /opt/logisim/mimeapps.list /usr/share/applications/.
# JS-Proxy package(s) configuration:
# jupyter-desktop-server (for Desktop)
# jupyter_codeserver_proxy (for IDE)
# ENV CODE_WORKINGDIR="${HOME}"
COPY ./dist/*.whl /${HOME}/
RUN pip install --quiet --no-cache-dir *.whl && \
rm *.whl && \
fix-permissions "${CONDA_DIR}" && \
fix-permissions "/home/${NB_USER}"
# Switch back to user for final env
# configuration...
USER $NB_UID