code-server/ci/release-image/Dockerfile

47 lines
1.4 KiB
Docker
Raw Normal View History

2020-02-15 07:54:52 +08:00
FROM debian:10
RUN apt-get update \
&& apt-get install -y \
curl \
dumb-init \
zsh \
htop \
locales \
man \
nano \
git \
procps \
openssh-client \
sudo \
vim.tiny \
lsb-release \
&& rm -rf /var/lib/apt/lists/*
2020-02-15 07:54:52 +08:00
# https://wiki.debian.org/Locale#Manually
2020-03-07 07:00:47 +08:00
RUN sed -i "s/# en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen \
&& locale-gen
2020-02-15 07:54:52 +08:00
ENV LANG=en_US.UTF-8
RUN adduser --gecos '' --disabled-password coder && \
2020-02-26 06:20:47 +08:00
echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd
2020-02-15 07:54:52 +08:00
2020-05-08 08:44:32 +08:00
RUN ARCH="$(dpkg --print-architecture)" && \
curl -fsSL "https://github.com/boxboat/fixuid/releases/download/v0.5/fixuid-0.5-linux-$ARCH.tar.gz" | tar -C /usr/local/bin -xzf - && \
2020-02-15 07:54:52 +08:00
chown root:root /usr/local/bin/fixuid && \
chmod 4755 /usr/local/bin/fixuid && \
mkdir -p /etc/fixuid && \
printf "user: coder\ngroup: coder\n" > /etc/fixuid/config.yml
COPY release-packages/code-server*.deb /tmp/
COPY ci/release-image/entrypoint.sh /usr/bin/entrypoint.sh
RUN dpkg -i /tmp/code-server*$(dpkg --print-architecture).deb && rm /tmp/code-server*.deb
2020-02-15 07:54:52 +08:00
EXPOSE 8080
# This way, if someone sets $DOCKER_USER, docker-exec will still work as
# the uid will remain the same. note: only relevant if -u isn't passed to
# docker-run.
USER 1000
2020-10-22 04:39:30 +08:00
ENV USER=coder
2020-02-15 07:54:52 +08:00
WORKDIR /home/coder
ENTRYPOINT ["/usr/bin/entrypoint.sh", "--bind-addr", "0.0.0.0:8080", "."]