-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdockerfile_install_octosuite
83 lines (61 loc) · 3.47 KB
/
dockerfile_install_octosuite
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Pre-Built Installers are here (https://github.com/kasmtech/workspaces-images/tree/develop/src/ubuntu/install)
#
ARG BASE_TAG="1.13.0"
ARG BASE_IMAGE="core-ubuntu-focal"
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
USER root
ENV HOME /home/kasm-default-profile
ENV STARTUPDIR /dockerstartup
ENV INST_SCRIPTS $STARTUPDIR/install
WORKDIR $HOME
# Reference the Install Directories
ENV UNBUNTU_INSTALL_FILES src/ubuntu/install
ENV CUSTOM_INSTALL_FILES src/custom/install
ENV CUSTOM_WORKSPACE_CUSTOMIZATIONS workspace_customizations
# ---------------------------------------------------------------------------- #
# Customizations #
# ---------------------------------------------------------------------------- #
# ----------------------------- User Permissions ----------------------------- #
# Add Sudo Permissions to Kasm User #
RUN apt-get update \
&& apt-get install -y sudo neofetch \
&& echo 'kasm-user ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers \
&& rm -rf /var/lib/apt/list/*
# -------------------------------- Predefined -------------------------------- #
RUN apt-get update && apt-get install -y tmux screen nano dnsutils zip
RUN echo "set -g mouse on" > $HOME/.tmux.conf && chown 1000:1000 $HOME/.tmux.conf
### Update .bashrc to run an arbitrary command if specified as an environment variable
RUN echo "if [ ! -z \"\${SHELL_EXEC}\" ] && [ \"\${TERM}\" == \"xterm-256color\" ] ; \n\
then \n\
set +e \n\
eval \${SHELL_EXEC} \n\
fi " >> $HOME/.bashrc && chown 1000:1000 $HOME/.bashrc
# ----------------------------- Install Octosuite ---------------------------- #
COPY $CUSTOM_INSTALL_FILES/octosuite/install_octosuite.sh $INST_SCRIPTS/octosuite/install_octosuite.sh
RUN bash $INST_SCRIPTS/octosuite/install_octosuite.sh && rm -rf $INST_SCRIPTS/octosuite/install_octosuite.sh
# ----------------------------- Install TorGhost ----------------------------- #
COPY $CUSTOM_INSTALL_FILES/torghost/install_torghost.sh $INST_SCRIPTS/torghost/install_torghost.sh
RUN bash $INST_SCRIPTS/torghost/install_torghost.sh && rm -rf $INST_SCRIPTS/torghost/install_torghost.sh
# ---------------------------- Copy Startup Script --------------------------- #
# Because the terminal can't execute 2 commands at the same time without 2
# terminal shells, we have it run a bash script that executes both.
COPY $CUSTOM_INSTALL_FILES/octosuite/start_octosuite.sh $HOME/Desktop/start_octosuite.sh
RUN chmod +x $HOME/Desktop/start_octosuite.sh
RUN chmod 755 $HOME/Desktop/start_octosuite.sh
# --------------------------------- PostSetup -------------------------------- #
COPY $CUSTOM_INSTALL_FILES/octosuite/custom_startup.sh $STARTUPDIR/custom_startup.sh
RUN chmod +x $STARTUPDIR/custom_startup.sh
RUN chmod 755 $STARTUPDIR/custom_startup.sh
# Update the desktop environment to be optimized for a single application
RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/
RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png
RUN apt-get remove -y xfce4-panel
# ---------------------------------------------------------------------------- #
# End Customizations #
# ---------------------------------------------------------------------------- #
RUN chown 1000:0 $HOME
RUN $STARTUPDIR/set_user_permission.sh $HOME
ENV HOME /home/kasm-user
WORKDIR $HOME
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
USER 1000