-
-
Notifications
You must be signed in to change notification settings - Fork 67
Expand file tree
/
Copy pathDockerfile.linux
More file actions
35 lines (30 loc) · 1.96 KB
/
Copy pathDockerfile.linux
File metadata and controls
35 lines (30 loc) · 1.96 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
FROM ubuntu:22.04
ARG ARCH=x86_64
ENV DEBIAN_FRONTEND=noninteractive \
PATH="$HOME/go/bin:/usr/local/go/bin:$PATH"
RUN mkdir -p /usr/share/man/man1 /usr/share/man/man2 && \
apt -y --no-install-recommends update && \
apt -y --no-install-recommends install curl wget && \
rm -f /etc/ssl/certs/ca-bundle.crt && \
apt -y --no-install-recommends reinstall ca-certificates && \
update-ca-certificates && \
curl -sSL https://raw.githubusercontent.com/Xpl0itU/apt-fast/main/install.sh | bash
RUN apt-fast -y --no-install-recommends update && \
apt-fast -y --no-install-recommends upgrade && \
apt-fast install -y --no-install-recommends build-essential libgcrypt20-dev libgtk-3-dev libfuse2 libtool librsvg2-dev && \
GO_ARCH=$(case "$ARCH" in x86_64) echo "amd64" ;; aarch64) echo "arm64" ;; *) echo "Unsupported ARCH: $ARCH" >&2; exit 1 ;; esac) && \
wget "https://go.dev/dl/go1.27.0.linux-${GO_ARCH}.tar.gz" && \
tar -C /usr/local -xzf go*.linux-*.tar.gz && \
chmod +x /usr/local/go/bin/go* && \
LINUXDEPLOY="/usr/bin/linuxdeploy.AppImage" && \
LINUXDEPLOY_PLUGIN_GTK="/usr/bin/linuxdeploy-plugin-gtk.sh" && \
LINUXDEPLOY_PLUGIN_CHECKRT="/usr/bin/linuxdeploy-plugin-checkrt.sh" && \
wget -c "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh" -O "$LINUXDEPLOY_PLUGIN_GTK" && \
chmod +x "$LINUXDEPLOY_PLUGIN_GTK" && \
wget -c "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-${ARCH}.AppImage" -O "$LINUXDEPLOY" && \
chmod +x "$LINUXDEPLOY" && \
rm -f "$LINUXDEPLOY_PLUGIN_CHECKRT" && \
wget -c "https://github.com/darealshinji/linuxdeploy-plugin-checkrt/releases/download/continuous/linuxdeploy-plugin-checkrt.sh" -O "$LINUXDEPLOY_PLUGIN_CHECKRT" 2>/dev/null && \
chmod +x "$LINUXDEPLOY_PLUGIN_CHECKRT" || \
{ echo "checkrt plugin not available for ${ARCH}, skipping"; rm -f "$LINUXDEPLOY_PLUGIN_CHECKRT"; }
WORKDIR /project