From 2f0c5eb028477ba797fc901aa3de87486ba5d711 Mon Sep 17 00:00:00 2001 From: Drake Marino Date: Wed, 21 May 2025 17:19:32 -0500 Subject: [PATCH] fixes --- Dockerfile | 13 ++++++--- entrypoint.sh | 61 ++++++++++++++++++++++++++++++++++++++++++ node_modules/undefined | 1 + 3 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 entrypoint.sh create mode 120000 node_modules/undefined diff --git a/Dockerfile b/Dockerfile index 83fe9c0..bd3a1de 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,8 +16,12 @@ RUN apt update -y \ tini \ zip \ unzip \ - nodejs + gnupg + ##nodejs \ + ##npm +RUN curl -fsSL https://deb.nodesource.com/setup_23.x | bash - && \ + apt install -y nodejs ## Setup user and working directory RUN useradd -m -d /home/container -s /bin/bash container @@ -25,12 +29,13 @@ USER container ENV USER=container HOME=/home/container WORKDIR /home/container RUN git clone https://github.com/ThePansmith/Monifactory.git -RUN node ~/Monifactory/tools/build server-build -RUN cp ~/Monifactory/dist/server/* ~ +RUN cd ~/Monifactory/tools/build && npm install +##RUN node ~/Monifactory/tools/build build-server +##RUN cp ~/Monifactory/dist/server/* ~ STOPSIGNAL SIGINT -COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh +COPY --chown=container:container ./entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/usr/bin/tini", "-g", "--"] CMD ["/entrypoint.sh"] diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..701240f --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +# +# Copyright (c) 2021 Matthew Penner +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +# Default the TZ environment variable to UTC. +TZ=${TZ:-UTC} +export TZ + +# Set environment variable that holds the Internal Docker IP +INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}') +export INTERNAL_IP + + +cd /home/container/Monifactory +git pull + + + +# Switch to the container's working directory +cd /home/container || exit 1 + + +rm -R config/ defaultconfigs/ config-overrides/ kubejs/ mods/ +node ./Monifactory/tools/build build-server +cp ./Monifactory/dist/server/* . + + +# Print Java version +printf "\033[1m\033[33mcontainer@pelican~ \033[0mjava -version\n" +java -version + +# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell +# variable format of "${VARIABLE}" before evaluating the string and automatically +# replacing the values. +PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g') + +# Display the command we're running in the output, and then execute it with eval +printf "\033[1m\033[33mcontainer@pelican~ \033[0m" +echo "$PARSED" +# shellcheck disable=SC2086 +eval "$PARSED" diff --git a/node_modules/undefined b/node_modules/undefined new file mode 120000 index 0000000..a0a04a1 --- /dev/null +++ b/node_modules/undefined @@ -0,0 +1 @@ +../../Monifactory/tools/build \ No newline at end of file