Skip to content

Commit bbb6310

Browse files
committed
Fix locale generation on all debian/ubuntu base images
Previous code didn't actually generate anything, just set the system to use a locale that wasn't available
1 parent b668cd2 commit bbb6310

2 files changed

Lines changed: 57 additions & 55 deletions

File tree

oses/debian_bookworm/Dockerfile

Lines changed: 53 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,53 @@
1-
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
2-
3-
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
4-
5-
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
6-
LABEL org.opencontainers.image.licenses=MIT
7-
8-
ENV DEBIAN_FRONTEND noninteractive
9-
10-
RUN useradd -m -d /home/container -s /bin/bash container
11-
12-
RUN ln -s /home/container/ /nonexistent
13-
14-
ENV USER=container HOME=/home/container
15-
16-
## Update base packages
17-
RUN apt update \
18-
&& apt upgrade -y
19-
20-
## Install dependencies
21-
RUN apt install -y gcc g++ libgcc-12-dev libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat-traditional telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \
22-
libfontconfig1 icu-devtools libunwind8 libssl-dev sqlite3 libsqlite3-dev libmariadb-dev-compat libduktape207 locales ffmpeg gnupg2 apt-transport-https software-properties-common ca-certificates \
23-
liblua5.3-0 libz3-dev libzadc4 rapidjson-dev tzdata libevent-dev libzip4 libprotobuf32 libfluidsynth3 procps libstdc++6 tini
24-
25-
# Temp fix for libicu66.1 for RAGE-MP and libssl1.1 for fivem and many more
26-
RUN if [ "$(uname -m)" = "x86_64" ]; then \
27-
wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu66_66.1-2ubuntu2.1_amd64.deb && \
28-
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
29-
dpkg -i libicu66_66.1-2ubuntu2.1_amd64.deb && \
30-
dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
31-
rm libicu66_66.1-2ubuntu2.1_amd64.deb libssl1.1_1.1.0g-2ubuntu4_amd64.deb; \
32-
fi
33-
# ARM64
34-
RUN if [ ! "$(uname -m)" = "x86_64" ]; then \
35-
wget http://ports.ubuntu.com/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_arm64.deb && \
36-
dpkg -i libssl1.1_1.1.1f-1ubuntu2_arm64.deb && \
37-
rm libssl1.1_1.1.1f-1ubuntu2_arm64.deb; \
38-
fi
39-
40-
## Configure locale
41-
RUN update-locale lang=en_US.UTF-8 \
42-
&& dpkg-reconfigure --frontend noninteractive locales
43-
44-
45-
WORKDIR /home/container
46-
47-
STOPSIGNAL SIGINT
48-
49-
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
50-
RUN chmod +x /entrypoint.sh
51-
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
52-
CMD ["/entrypoint.sh"]
1+
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
2+
3+
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
4+
5+
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
6+
LABEL org.opencontainers.image.licenses=MIT
7+
8+
ENV DEBIAN_FRONTEND noninteractive
9+
10+
RUN useradd -m -d /home/container -s /bin/bash container
11+
12+
RUN ln -s /home/container/ /nonexistent
13+
14+
ENV USER=container HOME=/home/container
15+
16+
## Update base packages
17+
RUN apt update \
18+
&& apt upgrade -y
19+
20+
## Install dependencies
21+
RUN apt install -y gcc g++ libgcc-12-dev libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat-traditional telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \
22+
libfontconfig1 icu-devtools libunwind8 libssl-dev sqlite3 libsqlite3-dev libmariadb-dev-compat libduktape207 locales ffmpeg gnupg2 apt-transport-https software-properties-common ca-certificates \
23+
liblua5.3-0 libz3-dev libzadc4 rapidjson-dev tzdata libevent-dev libzip4 libprotobuf32 libfluidsynth3 procps libstdc++6 tini
24+
25+
# Temp fix for libicu66.1 for RAGE-MP and libssl1.1 for fivem and many more
26+
RUN if [ "$(uname -m)" = "x86_64" ]; then \
27+
wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu66_66.1-2ubuntu2.1_amd64.deb && \
28+
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
29+
dpkg -i libicu66_66.1-2ubuntu2.1_amd64.deb && \
30+
dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
31+
rm libicu66_66.1-2ubuntu2.1_amd64.deb libssl1.1_1.1.0g-2ubuntu4_amd64.deb; \
32+
fi
33+
# ARM64
34+
RUN if [ ! "$(uname -m)" = "x86_64" ]; then \
35+
wget http://ports.ubuntu.com/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_arm64.deb && \
36+
dpkg -i libssl1.1_1.1.1f-1ubuntu2_arm64.deb && \
37+
rm libssl1.1_1.1.1f-1ubuntu2_arm64.deb; \
38+
fi
39+
40+
# Generate locale
41+
RUN sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
42+
&& locale-gen \
43+
&& update-locale LANG=en_US.UTF-8
44+
45+
46+
WORKDIR /home/container
47+
48+
STOPSIGNAL SIGINT
49+
50+
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
51+
RUN chmod +x /entrypoint.sh
52+
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
53+
CMD ["/entrypoint.sh"]

oses/ubuntu/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,10 @@ RUN apt install -y \
6868
zlib1g
6969

7070

71-
## configure locale
72-
RUN update-locale lang=en_US.UTF-8 \
73-
&& dpkg-reconfigure --frontend noninteractive locales
71+
# Generate locale
72+
RUN sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
73+
&& locale-gen \
74+
&& update-locale LANG=en_US.UTF-8
7475

7576
WORKDIR /home/container
7677

0 commit comments

Comments
 (0)