Swapped to a template for file where you agree to EULA. Server now runs.
This commit is contained in:
parent
539e75c11d
commit
3b60e70d88
7 changed files with 25 additions and 7 deletions
10
Dockerfile
10
Dockerfile
|
|
@ -10,8 +10,9 @@ ENV STEAM_DIR=/usr/lib/games/steam
|
||||||
ENV INSTALL_DIR=/home/steam
|
ENV INSTALL_DIR=/home/steam
|
||||||
ENV SERVER_DIR=$INSTALL_DIR/server
|
ENV SERVER_DIR=$INSTALL_DIR/server
|
||||||
ENV CONFIG_DIR=$INSTALL_DIR/.config
|
ENV CONFIG_DIR=$INSTALL_DIR/.config
|
||||||
|
ENV CONFIG_TEMPLATES_DIR=$INSTALL_DIR/.config-templates
|
||||||
|
|
||||||
RUN mkdir -p ${INSTALL_DIR} ${SERVER_DIR} ${CONFIG_DIR}
|
RUN mkdir -p ${INSTALL_DIR} ${SERVER_DIR} ${CONFIG_DIR} ${CONFIG_TEMPLATES_DIR}
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y libicu-dev
|
apt-get install -y libicu-dev
|
||||||
|
|
@ -24,14 +25,17 @@ RUN apt-get update && \
|
||||||
# Create steam user and group
|
# Create steam user and group
|
||||||
RUN groupadd --gid $GID steam && \
|
RUN groupadd --gid $GID steam && \
|
||||||
useradd --create-home -c 'Steam User' -l --uid $UID --gid $GID --home-dir $INSTALL_DIR steam && \
|
useradd --create-home -c 'Steam User' -l --uid $UID --gid $GID --home-dir $INSTALL_DIR steam && \
|
||||||
chown -R steam:steam ${INSTALL_DIR} ${SERVER_DIR} ${CONFIG_DIR} && \
|
chown -R steam:steam ${INSTALL_DIR} ${SERVER_DIR} ${CONFIG_DIR} ${CONFIG_TEMPLATES_DIR} && \
|
||||||
chmod 777 ${INSTALL_DIR} ${SERVER_DIR} ${CONFIG_DIR}
|
chmod 777 ${INSTALL_DIR} ${SERVER_DIR} ${CONFIG_DIR} ${CONFIG_TEMPLATES_DIR}
|
||||||
|
|
||||||
# Copy and prepare start script
|
# Copy and prepare start script
|
||||||
COPY start.sh $INSTALL_DIR/start.sh
|
COPY start.sh $INSTALL_DIR/start.sh
|
||||||
RUN chmod +x ${INSTALL_DIR}/start.sh && \
|
RUN chmod +x ${INSTALL_DIR}/start.sh && \
|
||||||
chown -R steam:steam ${INSTALL_DIR}/start.sh
|
chown -R steam:steam ${INSTALL_DIR}/start.sh
|
||||||
|
|
||||||
|
# Copy configuration template files
|
||||||
|
COPY config-templates/ ${CONFIG_TEMPLATES_DIR}
|
||||||
|
|
||||||
# Switch to steam user
|
# Switch to steam user
|
||||||
USER steam
|
USER steam
|
||||||
WORKDIR $INSTALL_DIR
|
WORKDIR $INSTALL_DIR
|
||||||
|
|
|
||||||
1
config-templates/localadmin_internal_data.json.template
Normal file
1
config-templates/localadmin_internal_data.json.template
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"GitHubPersonalAccessToken":null,"EulaAccepted":"${EulaDateAccepted}","PluginManagerWarningDismissed":false,"LastPluginAliasesRefresh":null,"PluginVersionCache":{},"PluginAliases":{}}
|
||||||
21
start.sh
21
start.sh
|
|
@ -5,11 +5,24 @@ echo "Current user is: $(whoami)"
|
||||||
steamcmd +force_install_dir $SERVER_DIR +login anonymous +app_update 996560 validate +quit
|
steamcmd +force_install_dir $SERVER_DIR +login anonymous +app_update 996560 validate +quit
|
||||||
|
|
||||||
# # Ensure config directory exists
|
# # Ensure config directory exists
|
||||||
CONFIGS="$INSTALL_DIR/.config/SCP Secret Laboratory/config/"
|
INTERNAL_CONFIG_SUBDIR="$CONFIG_DIR/SCP Secret Laboratory/config/"
|
||||||
mkdir -p "$CONFIGS"
|
mkdir -p "$INTERNAL_CONFIG_SUBDIR"
|
||||||
chmod 755 "$CONFIGS"
|
chmod 755 "$INTERNAL_CONFIG_SUBDIR"
|
||||||
|
|
||||||
|
# Process the internal data template to accept EULA
|
||||||
|
INTERNAL_DATA_TEMPLATE_FILE="$CONFIG_TEMPLATES_DIR/localadmin_internal_data.json.template"
|
||||||
|
INTERNAL_DATA_FILE="$INTERNAL_CONFIG_SUBDIR/localadmin_internal_data.json"
|
||||||
|
if [ ! -f "$INTERNAL_DATA_FILE" ]; then
|
||||||
|
echo "Creating \`localadmin_internal_data.json\` file with EULA acceptance..."
|
||||||
|
# Get current date in the correct format
|
||||||
|
CURRENT_DATE=$(date -u +"%Y-%m-%dT%H:%M:%S.%7NZ")
|
||||||
|
# Replace placeholder in template
|
||||||
|
sed "s/\${EulaDateAccepted}/$CURRENT_DATE/g" "$INTERNAL_DATA_TEMPLATE_FILE" > "$INTERNAL_DATA_FILE"
|
||||||
|
chmod 644 "$INTERNAL_DATA_FILE"
|
||||||
|
echo "Successfully created \`localadmin_internal_data.json\` file with EULA acceptance."
|
||||||
|
fi
|
||||||
|
|
||||||
# Run server directly (no need to su)
|
# Run server directly (no need to su)
|
||||||
cd $SERVER_DIR && HOME=$INSTALL_DIR ./LocalAdmin $PORT --help #--config "$CONFIGS"
|
cd $SERVER_DIR && HOME=$INSTALL_DIR ./LocalAdmin $PORT
|
||||||
|
|
||||||
sleep infinity
|
sleep infinity
|
||||||
Loading…
Reference in a new issue