48 lines
1018 B
Plaintext
48 lines
1018 B
Plaintext
ARG TAG=1.24
|
|
|
|
FROM golang:$TAG
|
|
|
|
WORKDIR /app
|
|
|
|
# Install packages
|
|
RUN apt update && sudo apt upgrade \
|
|
&& \
|
|
set -eux; \
|
|
# Packages to install
|
|
apt install -y \
|
|
git \
|
|
jq \
|
|
rsync \
|
|
nodejs \
|
|
npm \
|
|
# Needed for headless chrome/tests
|
|
libglib2.0-dev \
|
|
libnss3-dev \
|
|
libdbus-1-dev \
|
|
libatk1.0-0 \
|
|
libatk-bridge2.0-0 \
|
|
libcups2 \
|
|
libxcomposite-dev \
|
|
libxdamage1 \
|
|
libxrandr2 \
|
|
libgbm-dev \
|
|
libxkbcommon-x11-0 \
|
|
libpangocairo-1.0-0 \
|
|
libasound2 \
|
|
&& \
|
|
# Clean out directories that don't need to be part of the image
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
|
|
&& \
|
|
# Install node packages \
|
|
npm install -g npm@^10.0.0 \
|
|
npm install -g pnpm \
|
|
&& \
|
|
# Install flyctl cli \
|
|
curl -L https://fly.io/install.sh | sh \
|
|
&& \
|
|
ln -s /root/.fly/bin/flyctl /usr/local/bin/fly \
|
|
&& \
|
|
# Make this a safe .git directory
|
|
git config --global --add safe.directory /app
|
|
|
|
ENTRYPOINT ["/bin/sh"] |