From 15948c1af62d1bd17a1bd304d6ee6013a168ace3 Mon Sep 17 00:00:00 2001 From: Hikari Date: Tue, 12 Mar 2019 02:55:11 +0000 Subject: [PATCH] feat: user-mode docker Signed-off-by: Hikari --- Dockerfile | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index 74f90e69..16c535a8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,18 +17,28 @@ RUN yarn && NODE_ENV=production yarn task build:server:binary # We deploy with ubuntu so that devs have a familiar environment. FROM ubuntu:18.10 -WORKDIR /root/project -COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server -EXPOSE 8443 -RUN apt-get update && apt-get install -y \ - openssl \ - net-tools \ - git \ - locales -RUN locale-gen en_US.UTF-8 # We unfortunately cannot use update-locale because docker will not use the env variables # configured in /etc/default/locale so we need to set it manually. ENV LANG=en_US.UTF-8 -ENV LC_ALL=en_US.UTF-8 -ENTRYPOINT ["code-server"] + +COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server +RUN apt-get update && apt-get install -y \ + sudo \ + openssl \ + locales \ + net-tools && \ + adduser --disabled-password --ingroup sudo --gecos '' coder && \ + echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \ + echo "user ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/user && \ + chmod 0440 /etc/sudoers.d/user; + +RUN locale-gen en_US.UTF-8 + +USER coder + +WORKDIR /home/coder + +EXPOSE 8443 +ENTRYPOINT code-server +CMD ["."]