2022-12-16 06:49:26 +00:00
|
|
|
# https://hub.docker.com/repository/docker/terrastruct/d2
|
2023-07-31 05:31:18 +00:00
|
|
|
FROM ubuntu:latest
|
2022-12-16 06:49:26 +00:00
|
|
|
|
|
|
|
|
ARG TARGETARCH
|
|
|
|
|
|
2023-01-24 09:14:30 +00:00
|
|
|
RUN apt-get update && apt-get install -y ca-certificates curl dumb-init sudo
|
|
|
|
|
|
|
|
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_19.x | bash -s - && \
|
|
|
|
|
apt-get install -y nodejs
|
2023-03-03 04:34:12 +00:00
|
|
|
RUN npx playwright@1.31.1 install --with-deps chromium
|
2023-01-24 09:14:30 +00:00
|
|
|
|
|
|
|
|
RUN adduser --gecos '' --disabled-password debian \
|
|
|
|
|
&& echo "debian ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd
|
|
|
|
|
|
|
|
|
|
RUN curl -fsSL "https://github.com/boxboat/fixuid/releases/download/v0.5/fixuid-0.5-linux-$TARGETARCH.tar.gz" | tar -C /usr/local/bin -xzf - \
|
|
|
|
|
&& chown root:root /usr/local/bin/fixuid \
|
|
|
|
|
&& chmod 4755 /usr/local/bin/fixuid \
|
|
|
|
|
&& mkdir -p /etc/fixuid \
|
|
|
|
|
&& printf "user: debian\ngroup: debian\npaths: [/home/debian]\n" > /etc/fixuid/config.yml
|
2023-01-02 18:13:44 +00:00
|
|
|
|
2022-12-16 06:49:26 +00:00
|
|
|
COPY ./d2-*-linux-$TARGETARCH.tar.gz /tmp
|
2023-02-10 02:08:22 +00:00
|
|
|
ADD ./entrypoint.sh /usr/local/bin/entrypoint.sh
|
2022-12-16 06:49:26 +00:00
|
|
|
RUN mkdir -p /usr/local/lib/d2 \
|
|
|
|
|
&& tar -C /usr/local/lib/d2 -xzf /tmp/d2-*-linux-"$TARGETARCH".tar.gz \
|
|
|
|
|
&& /usr/local/lib/d2/d2-*/scripts/install.sh \
|
|
|
|
|
&& rm -Rf /tmp/d2-*-linux-"$TARGETARCH".tar.gz
|
|
|
|
|
|
2023-01-24 09:14:30 +00:00
|
|
|
USER debian:debian
|
2023-02-17 03:38:02 +00:00
|
|
|
RUN d2 init-playwright
|
2023-01-24 09:14:30 +00:00
|
|
|
|
|
|
|
|
WORKDIR /home/debian/src
|
2022-12-16 06:49:26 +00:00
|
|
|
EXPOSE 8080
|
|
|
|
|
ENV PORT 8080
|
|
|
|
|
ENV HOST 0.0.0.0
|
|
|
|
|
ENV BROWSER false
|
|
|
|
|
|
2023-01-24 09:14:30 +00:00
|
|
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|