-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
61 lines (52 loc) · 1.73 KB
/
Dockerfile
File metadata and controls
61 lines (52 loc) · 1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# syntax=docker/dockerfile:1.4
ARG TAG=5.42-slim-bookworm
FROM perl:${TAG}
WORKDIR /app
RUN <<EOT bash -euo pipefail
apt-get update
apt-get install -y --no-install-recommends \
libc6-dev \
gcc \
g++ \
make \
vim \
inetutils-ping \
bind9-dnsutils \
wget \
git \
openssl \
procps \
jq
curl -sL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh
bash nodesource_setup.sh
apt-get install -y --no-install-recommends nodejs
npm install -g yarn
rm -fr /var/lib/apt/lists/* /var/lib/apt/cache/* nodesource_setup.sh
EOT
RUN <<EOT bash -euo pipefail
ARCH_SHORT="arm64"
ARCH=\$(arch)
if [ \$ARCH = "x86_64" ]; then
ARCH_SHORT="amd64"
fi
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/\$ARCH_SHORT/kubectl"
chmod +x kubectl
install -p kubectl /usr/local/bin;
rm kubectl
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod +x get_helm.sh
./get_helm.sh
rm get_helm.sh
curl -fsSL -o devspace "https://github.com/devspace-sh/devspace/releases/latest/download/devspace-linux-\$ARCH_SHORT"
chmod +x devspace
install -p devspace /usr/local/bin;
rm devspace
devspace add plugin https://github.com/loft-sh/loft-devspace-plugin
LOFT_URL=\$(curl -fsSL https://api.github.com/repos/loft-sh/loft/releases/latest \
| jq --arg arch \${ARCH_SHORT}.tar.gz -r \
'.assets[] | select(.name | test(\$arch)) | .browser_download_url')
curl -fsSL -o loft.tar.gz \$LOFT_URL
tar xzf loft.tar.gz loft
install -p loft /usr/local/bin;
rm loft.tar.gz
EOT