Matthew Kobayashi 48fc429153
docker: multiple updates
* Update Debian base image to 12
* Add --break-system-packages option to pip3 install command
* Remove chmod a+s from Dockerfile (newer versions of gosu in particular don't support this)
* Add sudo to relevant commands in entrypoint.sh
* Add UID_MIN key to adduser command (allows the container to run on MacOS)
* Formatting and spelling fixes
2024-05-10 20:15:36 +02:00

56 lines
1.3 KiB
Docker

# Must be run with --privileged flag
# Recommended to run the container with a volume mapped
# in order to easy exprort images built to "external" world
FROM debian:12
LABEL authors="VyOS Maintainers <maintainers@vyos.io>"
ENV DEBIAN_FRONTEND noninteractive
# Standard shell should be bash not dash
RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
dpkg-reconfigure dash
RUN apt-get update && apt-get install -y \
vim \
nano \
git \
mc \
make \
python3-pip \
latexmk \
texlive-latex-recommended \
texlive-fonts-recommended \
texlive-latex-extra \
sudo \
gosu \
graphviz \
curl \
dos2unix
RUN pip3 install --break-system-packages \
Sphinx \
sphinx-rtd-theme \
sphinx-autobuild \
sphinx-notfound-page \
lxml \
myst-parser \
sphinx_design
# Cleanup
RUN rm -rf /var/lib/apt/lists/*
EXPOSE 8000
# Allow password-less 'sudo' for all users in group 'sudo'
RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
# We need to convert the entrypoint with appropriate line endings, else
# there will be an error:
# standard_init_linux.go:175: exec user process caused
# "no such file or directory"
RUN dos2unix /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]