diff --git a/Dockerfile b/Dockerfile index da02c570..e00bd66a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,17 +16,30 @@ COPY . . 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 +FROM ubuntu:18.04 RUN apt-get update && apt-get install -y \ openssl \ net-tools \ git \ locales \ + sudo \ dumb-init + 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 ["/usr/bin/dumb-init", "code-server"] +ENV LC_ALL=en_US.UTF-8 + +RUN adduser --gecos '' --disabled-password coder +RUN echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd + +USER coder +# We create first instead of just using WORKDIR as when WORKDIR creates, the user is root. +RUN mkdir -p /home/coder/project +WORKDIR /home/coder/project + +COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server +EXPOSE 8443 + +ENTRYPOINT ["dumb-init", "code-server"]