diff --git a/Dockerfile b/Dockerfile index b8d5a7b..abbdaa5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -95,9 +95,7 @@ RUN echo "TZ=Asia/Seoul" >> /etc/environment && \ echo "XMODIFIERS=@im=fcitx" >> /etc/environment -## code server -RUN curl -fsSL https://code-server.dev/install.sh | sh -RUN which code-server && code-server --version +# code server will be installed per-user in entrypoint.sh EXPOSE 3389 ENTRYPOINT /entrypoint.sh diff --git a/entrypoint.sh b/entrypoint.sh index 5527a01..34a3b8e 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -57,6 +57,12 @@ set -e # clean chromium config for fresh start su - $XWINDOW_USER -c "rm -rf ~/.config/chromium/" +# install code-server for user if not exists +if ! su - $XWINDOW_USER -c "which code-server" >/dev/null 2>&1; then + echo "Installing code-server for user $XWINDOW_USER..." + su - $XWINDOW_USER -c "curl -fsSL https://code-server.dev/install.sh | sh -s -- --method standalone" +fi + # start code-server in background su - $XWINDOW_USER -c "code-server --bind-addr 0.0.0.0:30145 --auth password /mnt" &