Skip to content

Commit 65d5d2a

Browse files
committed
feat: update nodejs installer and update USER env
1 parent 66481fc commit 65d5d2a

File tree

6 files changed

+46
-36
lines changed

6 files changed

+46
-36
lines changed

Dockerfile.ubuntu-1804

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ENV LGSM_SERVERFILES=/data/serverfiles
1717
ENV LGSM_CONFIG=/data/config-lgsm
1818
ENV GAMESERVER=jc2server
1919
ENV UPDATE_CHECK=1800
20-
ENV USERNAME=linuxgsm
20+
ENV USER=linuxgsm
2121
ENV UID=1000
2222
ENV GID=1000
2323

@@ -70,9 +70,13 @@ RUN echo "**** Install Base LinuxGSM Requirements ****" \
7070

7171
# Install Node.js
7272
RUN echo "**** Install Node.js ****" \
73-
&& curl -sL https://deb.nodesource.com/setup_16.x | bash - \
73+
&& set -uex \
74+
&& mkdir -p /etc/apt/keyrings \
75+
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
76+
&& NODE_MAJOR=16 \
77+
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \
7478
&& apt-get update \
75-
&& apt-get install -y nodejs \
79+
&& apt-get install nodejs -y \
7680
&& apt-get -y autoremove \
7781
&& apt-get -y clean \
7882
&& rm -rf /var/lib/apt/lists/* \
@@ -89,13 +93,13 @@ WORKDIR /app
8993
RUN echo "**** Add linuxgsm user ****" \
9094
&& mkdir /data \
9195
# Create the user
92-
&& groupadd --gid $GID $USERNAME \
93-
&& useradd --uid $UID --gid $GID -m $USERNAME \
96+
&& groupadd --gid $GID $USER \
97+
&& useradd --uid $UID --gid $GID -m $USER \
9498
#
9599
# [Optional] Add sudo support. Omit if you don't need to install software after connecting.
96-
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
97-
&& chmod 0440 /etc/sudoers.d/$USERNAME \
98-
&& chown $USERNAME:$USERNAME /data
100+
&& echo $USER ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USER \
101+
&& chmod 0440 /etc/sudoers.d/$USER \
102+
&& chown $USER:$USER /data
99103

100104
HEALTHCHECK --interval=1m --timeout=1m --start-period=2m --retries=1 CMD /app/entrypoint-healthcheck.sh || exit 1
101105

@@ -116,7 +120,7 @@ RUN echo "**** Get LinuxGSM Modules ****" \
116120
&& chmod +x /app/lgsm/modules/* \
117121
&& cd ../ \
118122
&& rm -rf LinuxGSM \
119-
&& chown -R $USERNAME:$USERNAME /app
123+
&& chown -R $USER:$USER /app
120124

121125
ARG CACHEBUST=1
122126
RUN echo "$CACHEBUST"

Dockerfile.ubuntu-2004

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ENV LGSM_SERVERFILES=/data/serverfiles
1717
ENV LGSM_CONFIG=/data/config-lgsm
1818
ENV GAMESERVER=jc2server
1919
ENV UPDATE_CHECK=1800
20-
ENV USERNAME=linuxgsm
20+
ENV USER=linuxgsm
2121
ENV UID=1000
2222
ENV GID=1000
2323

@@ -70,9 +70,13 @@ RUN echo "**** Install Base LinuxGSM Requirements ****" \
7070

7171
# Install Node.js
7272
RUN echo "**** Install Node.js ****" \
73-
&& curl -sL https://deb.nodesource.com/setup_20.x | bash - \
73+
&& set -uex \
74+
&& mkdir -p /etc/apt/keyrings \
75+
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
76+
&& NODE_MAJOR=20 \
77+
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \
7478
&& apt-get update \
75-
&& apt-get install -y nodejs \
79+
&& apt-get install nodejs -y \
7680
&& apt-get -y autoremove \
7781
&& apt-get -y clean \
7882
&& rm -rf /var/lib/apt/lists/* \
@@ -89,13 +93,13 @@ WORKDIR /app
8993
RUN echo "**** Add linuxgsm user ****" \
9094
&& mkdir /data \
9195
# Create the user
92-
&& groupadd --gid $GID $USERNAME \
93-
&& useradd --uid $UID --gid $GID -m $USERNAME \
96+
&& groupadd --gid $GID $USER \
97+
&& useradd --uid $UID --gid $GID -m $USER \
9498
#
9599
# [Optional] Add sudo support. Omit if you don't need to install software after connecting.
96-
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
97-
&& chmod 0440 /etc/sudoers.d/$USERNAME \
98-
&& chown $USERNAME:$USERNAME /data
100+
&& echo $USER ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USER \
101+
&& chmod 0440 /etc/sudoers.d/$USER \
102+
&& chown $USER:$USER /data
99103

100104
HEALTHCHECK --interval=1m --timeout=1m --start-period=2m --retries=1 CMD /app/entrypoint-healthcheck.sh || exit 1
101105

@@ -116,7 +120,7 @@ RUN echo "**** Get LinuxGSM Modules ****" \
116120
&& chmod +x /app/lgsm/modules/* \
117121
&& cd ../ \
118122
&& rm -rf LinuxGSM \
119-
&& chown -R $USERNAME:$USERNAME /app
123+
&& chown -R $USER:$USER /app
120124

121125
ARG CACHEBUST=1
122126
RUN echo "$CACHEBUST"

Dockerfile.ubuntu-2204

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ENV LGSM_SERVERFILES=/data/serverfiles
1717
ENV LGSM_CONFIG=/data/config-lgsm
1818
ENV GAMESERVER=jc2server
1919
ENV UPDATE_CHECK=1800
20-
ENV USERNAME=linuxgsm
20+
ENV USER=linuxgsm
2121
ENV UID=1000
2222
ENV GID=1000
2323

@@ -42,6 +42,7 @@ RUN echo "**** Install Base LinuxGSM Requirements ****" \
4242
distro-info \
4343
file \
4444
git \
45+
gnupg \
4546
gosu \
4647
gzip \
4748
hostname \
@@ -70,9 +71,13 @@ RUN echo "**** Install Base LinuxGSM Requirements ****" \
7071

7172
# Install Node.js
7273
RUN echo "**** Install Node.js ****" \
73-
&& curl -sL https://deb.nodesource.com/setup_20.x | bash - \
74+
&& set -uex \
75+
&& mkdir -p /etc/apt/keyrings \
76+
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
77+
&& NODE_MAJOR=20 \
78+
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \
7479
&& apt-get update \
75-
&& apt-get install -y nodejs \
80+
&& apt-get install nodejs -y \
7681
&& apt-get -y autoremove \
7782
&& apt-get -y clean \
7883
&& rm -rf /var/lib/apt/lists/* \
@@ -89,13 +94,13 @@ WORKDIR /app
8994
RUN echo "**** Add linuxgsm user ****" \
9095
&& mkdir /data \
9196
# Create the user
92-
&& groupadd --gid $GID $USERNAME \
93-
&& useradd --uid $UID --gid $GID -m $USERNAME \
97+
&& groupadd --gid $GID $USER \
98+
&& useradd --uid $UID --gid $GID -m $USER \
9499
#
95100
# [Optional] Add sudo support. Omit if you don't need to install software after connecting.
96-
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
97-
&& chmod 0440 /etc/sudoers.d/$USERNAME \
98-
&& chown $USERNAME:$USERNAME /data
101+
&& echo $USER ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USER \
102+
&& chmod 0440 /etc/sudoers.d/$USER \
103+
&& chown $USER:$USER /data
99104

100105
HEALTHCHECK --interval=1m --timeout=1m --start-period=2m --retries=1 CMD /app/entrypoint-healthcheck.sh || exit 1
101106

@@ -116,7 +121,7 @@ RUN echo "**** Get LinuxGSM Modules ****" \
116121
&& chmod +x /app/lgsm/modules/* \
117122
&& cd ../ \
118123
&& rm -rf LinuxGSM \
119-
&& chown -R $USERNAME:$USERNAME /app
124+
&& chown -R $USER:$USER /app
120125

121126
ARG CACHEBUST=1
122127
RUN echo "$CACHEBUST"

entrypoint-healthcheck.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
#!/bin/bash
2-
exec gosu "${USERNAME}" /app/*server monitor || exit 1
2+
exec gosu "${USER}" /app/*server monitor || exit 1

entrypoint-user.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ exit_handler_user() {
1212
echo -e "Loading exit handler"
1313
trap exit_handler_user SIGQUIT SIGINT SIGTERM
1414

15-
# Define ${USER} as missing in docker container
16-
USER="${USERNAME}"
17-
1815
# Setup game server
1916
if [ ! -f "${GAMESERVER}" ]; then
2017
echo -e ""

entrypoint.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
exit_handler() {
44
# Execute the shutdown commands
55
echo -e "Stopping ${GAMESERVER}"
6-
exec gosu "${USERNAME}" ./"${GAMESERVER}" stop
6+
exec gosu "${USER}" ./"${GAMESERVER}" stop
77
exitcode=$?
88
exit ${exitcode}
99
}
@@ -21,7 +21,7 @@ echo -e "BUILD TIME: $(cat /build-time.txt)"
2121
echo -e "GAMESERVER: ${GAMESERVER}"
2222
echo -e "DISTRO: ${DISTRO}"
2323
echo -e ""
24-
echo -e "USER: ${USERNAME}"
24+
echo -e "USER: ${USER}"
2525
echo -e "UID: ${UID}"
2626
echo -e "GID: ${GID}"
2727
echo -e ""
@@ -53,11 +53,11 @@ usermod -u "${UID}" -m -d /data linuxgsm > /dev/null 2>&1
5353
echo -e "setting GID to ${GID}"
5454
groupmod -g "${GID}" linuxgsm
5555
echo -e "updating permissions"
56-
chown -R "${USERNAME}":"${USERNAME}" /data
56+
chown -R "${USER}":"${USER}" /data
5757
export HOME=/data
5858

5959
echo -e ""
60-
echo -e "Switch to user ${USERNAME}"
60+
echo -e "Switch to user ${USER}"
6161
echo -e "================================="
62-
exec gosu "${USERNAME}" /app/entrypoint-user.sh &
62+
exec gosu "${USER}" /app/entrypoint-user.sh &
6363
wait

0 commit comments

Comments
 (0)