From b88e26100f01505edc612d6d9ee6c23c08dbdd02 Mon Sep 17 00:00:00 2001 From: anaxios Date: Sat, 10 May 2025 17:31:20 -0700 Subject: [PATCH 1/5] bump holesail version to 2.0.3 and cleanup --- Dockerfile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index c4be5e6..7d31180 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,10 @@ FROM node:lts-slim AS base -WORKDIR /temp +WORKDIR / COPY run.sh . RUN chmod +x run.sh -RUN npm install -g holesail@1.10.1 +RUN npm install -g holesail@2.0.3 ENV MODE server ENV HOST 0.0.0.0 @@ -16,8 +16,6 @@ ENV ROLE user ENV CONNECTOR "" ENV FORCE "" -#EXPOSE 8989 - WORKDIR /data -ENTRYPOINT [ "/temp/run.sh" ] +ENTRYPOINT [ "/run.sh" ] -- 2.43.5 From b6e113fbef312b8490d32b144b1bc287e2c5b84a Mon Sep 17 00:00:00 2001 From: anaxios Date: Sat, 10 May 2025 17:32:09 -0700 Subject: [PATCH 2/5] Add proper singal handling for quicker shutdown --- run.sh | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/run.sh b/run.sh index 2f7f897..c450389 100644 --- a/run.sh +++ b/run.sh @@ -1,5 +1,9 @@ #!/bin/bash +#set -x + +pid=0 + CYAN="\033[1;96m" RED="\033[0;91m" GREEN="\033[0;92m" @@ -52,7 +56,6 @@ cmd_argument_builder () { printf "%s" "$args"; } - ARGS="$(cmd_argument_builder)" if [[ ! $ARGS ]]; then @@ -60,5 +63,30 @@ if [[ ! $ARGS ]]; then exit 1 fi -holesail $ARGS +# SIGUSR1-handler +# my_handler() { +# echo "my_handler" +# } +term_handler() { + if [ $pid -ne 0 ]; then + kill -SIGTERM "$pid" + wait "$pid" + fi + exit 143; # 128 + 15 -- SIGTERM +} + +# setup handlers +# on callback, kill the last background process, which is `tail -f /dev/null` and execute the specified handler +#trap 'kill ${!}; my_handler' SIGUSR1 +trap 'kill ${!}; term_handler' SIGTERM + +# run application +holesail $ARGS & +pid="$!" + +# wait forever +while true +do + tail -f /dev/null & wait ${!} +done -- 2.43.5 From e83868695ba42bae00004bb05c28217420dca43b Mon Sep 17 00:00:00 2001 From: anaxios Date: Sat, 10 May 2025 17:42:17 -0700 Subject: [PATCH 3/5] fix action --- .github/workflows/publish-image.yaml | 64 ++++++++++++++++++++++++---- 1 file changed, 55 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish-image.yaml b/.github/workflows/publish-image.yaml index ec82934..062e97e 100644 --- a/.github/workflows/publish-image.yaml +++ b/.github/workflows/publish-image.yaml @@ -1,14 +1,60 @@ -name: Docker image CI for GHCR +name: Docker Image CI -on: push +on: + # schedule: + # - cron: "0 10 * * *" + push: + branches: + - "**" + tags: + - "v*.*.*" + pull_request: jobs: - build_and_publish: + docker: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - name: Build and push image - run: | - docker login --username anaxios --password ${{ secrets.GH_TOKEN }} ghcr.io - docker build . --tag ghcr.io/anaxios/holesail-docker:latest - docker push ghcr.io/anaxios/holesail-docker:latest + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + # list of Docker images to use as base name for tags + images: | + anaxios/holesail + # generate Docker tags based on the following events/attributes + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + # - name: Login to GHCR + # if: github.event_name != 'pull_request' + # uses: docker/login-action@v3 + # with: + # registry: ghcr.io + # username: ${{ github.repository_owner }} + # password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and push + uses: docker/build-push-action@v6 + with: + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file -- 2.43.5 From b0e982ba6fb684d2018f005803fce663f764f107 Mon Sep 17 00:00:00 2001 From: anaxios Date: Sat, 10 May 2025 20:57:13 -0700 Subject: [PATCH 4/5] feature: add secret my-mc.link mode --- Dockerfile | 3 +-- fetch-my-mc-connector.js | 13 +++++++++++++ run.sh | 9 +++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 fetch-my-mc-connector.js diff --git a/Dockerfile b/Dockerfile index 7d31180..2aebbd8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,7 @@ FROM node:lts-slim AS base WORKDIR / COPY run.sh . +COPY fetch-my-mc-connector.js . RUN chmod +x run.sh RUN npm install -g holesail@2.0.3 @@ -16,6 +17,4 @@ ENV ROLE user ENV CONNECTOR "" ENV FORCE "" -WORKDIR /data - ENTRYPOINT [ "/run.sh" ] diff --git a/fetch-my-mc-connector.js b/fetch-my-mc-connector.js new file mode 100644 index 0000000..c23446e --- /dev/null +++ b/fetch-my-mc-connector.js @@ -0,0 +1,13 @@ +const apiKey = process.env.CONNECTOR; + +const result = fetch('https://api.my-mc.link/my-hash',{ + method: "GET", + headers: { + 'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': apiKey} + }) + .then(async response => { + const r = await response.json(); + if (r.success == true) { + console.log(r.message); + } + }) diff --git a/run.sh b/run.sh index c450389..60458f3 100644 --- a/run.sh +++ b/run.sh @@ -25,6 +25,10 @@ success() { print "$GREEN" "$1" } +get_connector_my-mc() { + printf "$(node /fetch-my-mc-connector.js)" +} + cmd_argument_builder () { local args=""; case "$MODE" in @@ -51,6 +55,11 @@ cmd_argument_builder () { [[ "$ROLE" = "user" ]] && args="$args --role user"; [[ "$CONNECTOR" ]] && args="$args --connector $CONNECTOR"; ;; + "my-mc") + [[ "$PORT" ]] && args="$args --port $PORT"; + [[ "$HOST" ]] && args="$args --host $HOST"; + [[ "$CONNECTOR" ]] && args="$args $(get_connector_my-mc)"; + ;; esac printf "%s" "$args"; -- 2.43.5 From fd64e8f81666f70a7c525212d64ee36fa20c4466 Mon Sep 17 00:00:00 2001 From: ilguappo Date: Fri, 18 Jul 2025 19:57:59 -0700 Subject: [PATCH 5/5] move action to gitea --- {.github => .gitea}/workflows/publish-image.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {.github => .gitea}/workflows/publish-image.yaml (100%) diff --git a/.github/workflows/publish-image.yaml b/.gitea/workflows/publish-image.yaml similarity index 100% rename from .github/workflows/publish-image.yaml rename to .gitea/workflows/publish-image.yaml -- 2.43.5