You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wiki/.devcontainer/Dockerfile

54 lines
1.3 KiB

# Based of https://github.com/devcontainers/images/blob/main/src/javascript-node/.devcontainer/Dockerfile
ARG VARIANT=26
FROM node:${VARIANT}
ARG USERNAME=node
ENV DEBIAN_FRONTEND=noninteractive
EXPOSE 3000
# Install the packages we need
RUN apt-get update && apt-get install -qy \
bash \
build-essential \
curl \
jq \
less \
git \
gnupg2 \
nano \
netcat-openbsd \
pandoc \
unzip \
wget
# The Puppeteer extension installs its own browser, in app-init.sh: the one Chrome release it is built
# against, where a distro Chromium moves on with every update and eventually stops being one Puppeteer
# can drive. Only the headless shell, which is all the renderer uses.
ENV PUPPETEER_CHROME_SKIP_DOWNLOAD=true
# avoid million NPM install messages
ENV npm_config_loglevel=warn
# disable NPM funding messages
ENV npm_config_fund=false
# Colorize the bash shell
RUN sed -i 's/#force_color_prompt=/force_color_prompt=/' /root/.bashrc
# Copy wait-for utility
COPY wait-for.sh /usr/local/bin/wait-for
RUN chmod +rx /usr/local/bin/wait-for
# Copy the startup file
COPY app-init.sh /docker-init.sh
RUN sed -i 's/\r$//' /docker-init.sh && \
chmod +x /docker-init.sh
# Create workspace
RUN mkdir -p /workspace
WORKDIR /workspace
ENV NODE_ENV=development