forked from kasmtech/workspaces-images
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdockerfile-kasm-zorin-deluxe
More file actions
112 lines (84 loc) · 4.58 KB
/
dockerfile-kasm-zorin-deluxe
File metadata and controls
112 lines (84 loc) · 4.58 KB
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
ARG BASE_TAG="develop"
ARG BASE_IMAGE="core-ubuntu-jammy"
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
USER root
ENV HOME=/home/kasm-default-profile
ENV STARTUPDIR=/dockerstartup
WORKDIR $HOME
### Environment config
ENV DEBIAN_FRONTEND=noninteractive
ENV KASM_RX_HOME=$STARTUPDIR/kasmrx
ENV INST_SCRIPTS=$STARTUPDIR/install
ENV DONT_PROMPT_WSL_INSTALL="No_Prompt_please"
### KasmVNC quality: 60fps, balanced quality for smooth performance
ENV MAX_FRAME_RATE=60
ENV VNCOPTIONS="-DynamicQualityMin 6 -DynamicQualityMax 9 -TreatLossless 9 -JpegVideoQuality 7 -WebpVideoQuality 7 -VideoScaling 2"
######### Customize Container Here ###########
# SSL: Generate CA-signed certs so browsers trust the HTTPS connection
COPY ./src/ubuntu/install/ssl $INST_SCRIPTS/ssl/
RUN bash $INST_SCRIPTS/ssl/install_ssl.sh && rm -rf $INST_SCRIPTS/ssl/
# KasmVNC high-quality settings (1080p, 60fps, max quality)
COPY ./src/ubuntu/install/kasmvnc_settings $INST_SCRIPTS/kasmvnc_settings/
RUN bash $INST_SCRIPTS/kasmvnc_settings/install_kasmvnc_settings.sh && rm -rf $INST_SCRIPTS/kasmvnc_settings/
# Install macOS-style theme (Colloid GTK + Plank dock + XFCE panel)
COPY ./src/ubuntu/install/zorin_theme $INST_SCRIPTS/zorin_theme/
RUN bash $INST_SCRIPTS/zorin_theme/install_zorin_theme.sh && rm -rf $INST_SCRIPTS/zorin_theme/
# Install Wine (Windows app compatibility)
COPY ./src/ubuntu/install/wine $INST_SCRIPTS/wine/
RUN bash $INST_SCRIPTS/wine/install_wine.sh && rm -rf $INST_SCRIPTS/wine/
### Install Tools
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
RUN bash $INST_SCRIPTS/tools/install_tools_deluxe.sh && rm -rf $INST_SCRIPTS/tools/
# Install Utilities
COPY ./src/ubuntu/install/misc $INST_SCRIPTS/misc/
RUN bash $INST_SCRIPTS/misc/install_tools.sh && rm -rf $INST_SCRIPTS/misc/
# Install Google Chrome
COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/
RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/
# Install Firefox
COPY ./src/ubuntu/install/firefox/ $INST_SCRIPTS/firefox/
COPY ./src/ubuntu/install/firefox/firefox.desktop $HOME/Desktop/
RUN bash $INST_SCRIPTS/firefox/install_firefox.sh && rm -rf $INST_SCRIPTS/firefox/
### Install Sublime Text
COPY ./src/ubuntu/install/sublime_text $INST_SCRIPTS/sublime_text/
RUN bash $INST_SCRIPTS/sublime_text/install_sublime_text.sh && rm -rf $INST_SCRIPTS/sublime_text/
### Install Visual Studio Code
COPY ./src/ubuntu/install/vs_code $INST_SCRIPTS/vs_code/
RUN bash $INST_SCRIPTS/vs_code/install_vs_code.sh && rm -rf $INST_SCRIPTS/vs_code/
### Install Only Office
COPY ./src/ubuntu/install/only_office $INST_SCRIPTS/only_office/
RUN bash $INST_SCRIPTS/only_office/install_only_office.sh && rm -rf $INST_SCRIPTS/only_office/
### Install GIMP
COPY ./src/ubuntu/install/gimp $INST_SCRIPTS/gimp/
RUN bash $INST_SCRIPTS/gimp/install_gimp.sh && rm -rf $INST_SCRIPTS/gimp/
### Install Thunderbird
COPY ./src/ubuntu/install/thunderbird $INST_SCRIPTS/thunderbird/
RUN bash $INST_SCRIPTS/thunderbird/install_thunderbird.sh && rm -rf $INST_SCRIPTS/thunderbird/
### Install Remmina
COPY ./src/ubuntu/install/remmina $INST_SCRIPTS/remmina/
RUN bash $INST_SCRIPTS/remmina/install_remmina.sh && rm -rf $INST_SCRIPTS/remmina/
### Install CareerClaw AI Assistant (OpenClaw fork)
COPY ./src/ubuntu/install/careerclaw $INST_SCRIPTS/careerclaw/
RUN bash $INST_SCRIPTS/careerclaw/install_careerclaw.sh && rm -rf $INST_SCRIPTS/careerclaw/
# CareerClaw custom startup (gateway respawn loop)
COPY ./src/ubuntu/install/careerclaw/custom_startup.sh $STARTUPDIR/custom_startup.sh
RUN chmod +x $STARTUPDIR/custom_startup.sh
RUN chmod 755 $STARTUPDIR/custom_startup.sh
# Add extra dock items for deluxe apps
RUN PLANK_DIR="$HOME/.config/plank/dock1/launchers" && \
echo "[PlankDockItemPreferences]" > "$PLANK_DIR/chrome.dockitem" && \
echo "Launcher=file:///usr/share/applications/google-chrome.desktop" >> "$PLANK_DIR/chrome.dockitem" && \
echo "[PlankDockItemPreferences]" > "$PLANK_DIR/vscode.dockitem" && \
echo "Launcher=file:///usr/share/applications/code.desktop" >> "$PLANK_DIR/vscode.dockitem" && \
echo "[PlankDockItemPreferences]" > "$PLANK_DIR/gimp.dockitem" && \
echo "Launcher=file:///usr/share/applications/gimp.desktop" >> "$PLANK_DIR/gimp.dockitem" && \
sed -i 's/^DockItems=.*/DockItems=files.dockitem;firefox.dockitem;chrome.dockitem;vscode.dockitem;terminal.dockitem;gimp.dockitem;careerclaw.dockitem/' "$HOME/.config/plank/dock1/settings"
######### End Customizations ###########
RUN $STARTUPDIR/set_user_permission.sh $HOME
RUN chown 1000:0 $HOME
ENV HOME=/home/kasm-user
WORKDIR $HOME
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
USER 1000
EXPOSE 18789
CMD ["--tail-log"]