2020-02-15 06:54:52 +07:00
|
|
|
FROM debian:10
|
|
|
|
|
2020-03-07 06:00:27 +07:00
|
|
|
RUN apt-get update \
|
|
|
|
&& apt-get install -y \
|
|
|
|
curl \
|
|
|
|
dumb-init \
|
2021-03-23 04:15:06 +07:00
|
|
|
zsh \
|
2020-03-07 06:00:27 +07:00
|
|
|
htop \
|
|
|
|
locales \
|
|
|
|
man \
|
|
|
|
nano \
|
|
|
|
git \
|
|
|
|
procps \
|
2020-12-15 00:32:53 +07:00
|
|
|
openssh-client \
|
2020-03-07 06:00:27 +07:00
|
|
|
sudo \
|
2020-12-15 00:32:53 +07:00
|
|
|
vim.tiny \
|
2020-04-30 18:52:54 +07:00
|
|
|
lsb-release \
|
2020-03-07 06:00:27 +07:00
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
2020-02-15 06:54:52 +07:00
|
|
|
|
|
|
|
# https://wiki.debian.org/Locale#Manually
|
2020-03-07 06:00:47 +07:00
|
|
|
RUN sed -i "s/# en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen \
|
|
|
|
&& locale-gen
|
2020-02-15 06:54:52 +07:00
|
|
|
ENV LANG=en_US.UTF-8
|
|
|
|
|
|
|
|
RUN adduser --gecos '' --disabled-password coder && \
|
2020-02-26 05:20:47 +07:00
|
|
|
echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd
|
2020-02-15 06:54:52 +07:00
|
|
|
|
2020-05-08 07:44:32 +07:00
|
|
|
RUN ARCH="$(dpkg --print-architecture)" && \
|
2021-03-23 04:15:06 +07:00
|
|
|
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 06:54:52 +07: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
|
|
|
|
|
2020-05-08 11:34:20 +07:00
|
|
|
COPY release-packages/code-server*.deb /tmp/
|
2020-08-26 02:38:12 +07:00
|
|
|
COPY ci/release-image/entrypoint.sh /usr/bin/entrypoint.sh
|
2020-05-16 21:55:46 +07:00
|
|
|
RUN dpkg -i /tmp/code-server*$(dpkg --print-architecture).deb && rm /tmp/code-server*.deb
|
2020-02-21 07:11:01 +07:00
|
|
|
|
2020-02-15 06:54:52 +07:00
|
|
|
EXPOSE 8080
|
2020-09-04 05:38:40 +07:00
|
|
|
# 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 03:39:30 +07:00
|
|
|
ENV USER=coder
|
2020-02-15 06:54:52 +07:00
|
|
|
WORKDIR /home/coder
|
2020-08-26 02:38:12 +07:00
|
|
|
ENTRYPOINT ["/usr/bin/entrypoint.sh", "--bind-addr", "0.0.0.0:8080", "."]
|