Skip to content

Commit 4f6c6ad

Browse files
committed
feat(base): add base Debian 13 image for testing
1 parent 11964bc commit 4f6c6ad

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed

base/debian-13/Dockerfile

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Base Debian 13 image for AMP containers
2+
# ghcr.io/cubecoders/amp:debian-13
3+
4+
FROM debian:trixie-slim
5+
6+
LABEL org.opencontainers.image.source="https://github.com/CubeCoders/dockerfiles"
7+
LABEL org.opencontainers.image.licenses=MIT
8+
9+
ENV AMP_CONTAINER="1"
10+
ENV DEBIAN_FRONTEND="noninteractive"
11+
12+
ARG TARGETARCH
13+
14+
# Update base packages and install dependencies
15+
RUN set -eux; \
16+
mkdir -p /usr/share/man/man1; \
17+
apt-get update; \
18+
apt-get install -o APT::Keep-Downloaded-Packages="false" -y \
19+
ca-certificates curl wget tar unzip xz-utils bzip2 \
20+
coreutils procps iproute2 iputils-ping socat jq git git-lfs gnupg tmux dbus \
21+
tini tzdata locales gosu \
22+
libssl3t64 libcurl4t64 libsqlite3-0 libzstd1 libsdl2-2.0-0 libsdl1.2-compat libfontconfig1 \
23+
# Required for Core Keeper
24+
xvfb xauth libxi6 \
25+
# Required for Valheim crossplay (and variously some others)
26+
libc6 libatomic1 libpulse0 libpulse-mainloop-glib0 \
27+
# Required for BeamMP
28+
liblua5.3-0 \
29+
# Required for Eco
30+
libgdiplus \
31+
# Required for Pavlov VR (and variously some others)
32+
gdb libc++1 libc++abi1 libunwind8 libgcc-s1; \
33+
\
34+
case "$TARGETARCH" in \
35+
amd64) \
36+
dpkg --add-architecture i386; \
37+
apt-get update; \
38+
apt-get install -o APT::Keep-Downloaded-Packages="false" -y \
39+
# Required for steamcmd
40+
libgcc-s1:i386 \
41+
# Others
42+
libstdc++6:i386 zlib1g:i386 libbz2-1.0:i386 libcurl4t64:i386 libcurl3t64-gnutls:i386 \
43+
libncurses6:i386 libtinfo6:i386 libsdl2-2.0-0:i386 libssl3t64:i386; \
44+
;; \
45+
\
46+
arm64) \
47+
dpkg --add-architecture armhf; \
48+
apt-get update; \
49+
apt-get install -o APT::Keep-Downloaded-Packages="false" -y \
50+
# Required for steamcmd
51+
libgcc-s1:armhf \
52+
# Others
53+
libstdc++6:armhf zlib1g:armhf libbz2-1.0:armhf libcurl4t64:armhf libcurl3t64-gnutls:armhf \
54+
libncurses6:armhf libtinfo6:armhf libsdl2-2.0-0:armhf libssl3t64:armhf; \
55+
\
56+
# Add box86/box64
57+
install -d -m 0755 /etc/apt/keyrings; \
58+
wget -qO- "https://pi-apps-coders.github.io/box86-debs/KEY.gpg" | gpg --dearmor -o /etc/apt/keyrings/box86-archive-keyring.gpg; \
59+
printf "Types: deb\nURIs: https://Pi-Apps-Coders.github.io/box86-debs/debian\nSuites: ./\nSigned-By: /etc/apt/keyrings/box86-archive-keyring.gpg" | tee /etc/apt/sources.list.d/box86.sources >/dev/null; \
60+
wget -qO- "https://pi-apps-coders.github.io/box64-debs/KEY.gpg" | gpg --dearmor -o /etc/apt/keyrings/box64-archive-keyring.gpg; \
61+
printf "Types: deb\nURIs: https://Pi-Apps-Coders.github.io/box64-debs/debian\nSuites: ./\nSigned-By: /etc/apt/keyrings/box64-archive-keyring.gpg" | tee /etc/apt/sources.list.d/box64.sources >/dev/null; \
62+
apt-get update; \
63+
apt-get install -o APT::Keep-Downloaded-Packages="false" -y \
64+
box86-generic-arm:armhf box64-generic-arm; \
65+
;; \
66+
esac; \
67+
\
68+
# Temp fix if libssl1.1 needed
69+
case "${TARGETARCH}" in \
70+
amd64) wget -qO libssl1.1.deb https://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb;; \
71+
arm64) wget -qO libssl1.1.deb https://ports.ubuntu.com/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_arm64.deb;; \
72+
esac; \
73+
apt-get install -y ./libssl1.1.deb; \
74+
rm libssl1.1.deb; \
75+
\
76+
# Install AMP instance manager
77+
case "${TARGETARCH}" in \
78+
amd64) wget -q https://cdn-repo.c7rs.com/ampinstmgr-latest.tgz;; \
79+
arm64) wget -q https://cdn-repo.c7rs.com/aarch64/ampinstmgr-latest.tgz;; \
80+
esac; \
81+
tar -xzf ampinstmgr-latest.tgz -C /; \
82+
rm ampinstmgr-latest.tgz; \
83+
\
84+
# Set up locales
85+
sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen; \
86+
locale-gen; \
87+
\
88+
apt-get clean; \
89+
rm -rf /var/lib/apt/lists/*
90+
91+
ENV LANG="en_US.UTF-8"
92+
ENV LANGUAGE="en_US:en"
93+
ENV LC_ALL="en_US.UTF-8"
94+
95+
COPY ./scripts/base/ampstart.sh /ampstart.sh
96+
RUN chmod +x /ampstart.sh
97+
ENTRYPOINT ["/usr/bin/tini", "-g", "--", "/ampstart.sh"]
98+
CMD []

0 commit comments

Comments
 (0)