From 6d60a52a5d189d687d6a8c2693dcb498dee1373e Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 17:57:51 +0100 Subject: [PATCH 01/14] feat: moved v30 to v36 to archive --- .github/workflows/v30.0.yml | 159 ------------------ .github/workflows/v31.0.yml | 159 ------------------ .github/workflows/v31.1.yml | 159 ------------------ .github/workflows/v31.2.yml | 159 ------------------ .github/workflows/v32.0.yml | 159 ------------------ .github/workflows/v33.0.yml | 159 ------------------ .github/workflows/v34.0.yml | 159 ------------------ .github/workflows/v34.1.yml | 159 ------------------ .github/workflows/v35.0.yml | 159 ------------------ .github/workflows/v35.1.yml | 159 ------------------ .github/workflows/v36.0.yml | 159 ------------------ .github/workflows/v36.1.yml | 159 ------------------ .github/workflows/v36.2.yml | 159 ------------------ {v30.0 => archive/v30.0}/Dockerfile.amd64 | 0 {v30.0 => archive/v30.0}/Dockerfile.arm | 0 {v30.0 => archive/v30.0}/Dockerfile.arm64 | 0 .../v30.0}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v30.0}/overlay/usr/bin/container | 0 {v31.0 => archive/v31.0}/Dockerfile.amd64 | 0 {v31.0 => archive/v31.0}/Dockerfile.arm | 0 {v31.0 => archive/v31.0}/Dockerfile.arm64 | 0 .../v31.0}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v31.0}/overlay/usr/bin/container | 0 {v31.1 => archive/v31.1}/Dockerfile.amd64 | 0 {v31.1 => archive/v31.1}/Dockerfile.arm | 0 {v31.1 => archive/v31.1}/Dockerfile.arm64 | 0 .../v31.1}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v31.1}/overlay/usr/bin/container | 0 {v31.2 => archive/v31.2}/Dockerfile.amd64 | 0 {v31.2 => archive/v31.2}/Dockerfile.arm | 0 {v31.2 => archive/v31.2}/Dockerfile.arm64 | 0 .../v31.2}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v31.2}/overlay/usr/bin/container | 0 {v32.0 => archive/v32.0}/Dockerfile.amd64 | 0 {v32.0 => archive/v32.0}/Dockerfile.arm | 0 {v32.0 => archive/v32.0}/Dockerfile.arm64 | 0 .../v32.0}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v32.0}/overlay/usr/bin/container | 0 {v33.0 => archive/v33.0}/Dockerfile.amd64 | 0 {v33.0 => archive/v33.0}/Dockerfile.arm | 0 {v33.0 => archive/v33.0}/Dockerfile.arm64 | 0 .../v33.0}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v33.0}/overlay/usr/bin/container | 0 {v34.0 => archive/v34.0}/Dockerfile.amd64 | 0 {v34.0 => archive/v34.0}/Dockerfile.arm | 0 {v34.0 => archive/v34.0}/Dockerfile.arm64 | 0 .../v34.0}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v34.0}/overlay/usr/bin/container | 0 {v34.1 => archive/v34.1}/Dockerfile.amd64 | 0 {v34.1 => archive/v34.1}/Dockerfile.arm | 0 {v34.1 => archive/v34.1}/Dockerfile.arm64 | 0 .../v34.1}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v34.1}/overlay/usr/bin/container | 0 {v35.0 => archive/v35.0}/Dockerfile.amd64 | 0 {v35.0 => archive/v35.0}/Dockerfile.arm | 0 {v35.0 => archive/v35.0}/Dockerfile.arm64 | 0 .../v35.0}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v35.0}/overlay/usr/bin/container | 0 {v35.1 => archive/v35.1}/Dockerfile.amd64 | 0 {v35.1 => archive/v35.1}/Dockerfile.arm | 0 {v35.1 => archive/v35.1}/Dockerfile.arm64 | 0 .../v35.1}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v35.1}/overlay/usr/bin/container | 0 {v36.0 => archive/v36.0}/Dockerfile.amd64 | 0 {v36.0 => archive/v36.0}/Dockerfile.arm | 0 {v36.0 => archive/v36.0}/Dockerfile.arm64 | 0 .../v36.0}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v36.0}/overlay/usr/bin/container | 0 {v36.1 => archive/v36.1}/Dockerfile.amd64 | 0 {v36.1 => archive/v36.1}/Dockerfile.arm | 0 {v36.1 => archive/v36.1}/Dockerfile.arm64 | 0 .../v36.1}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v36.1}/overlay/usr/bin/container | 0 {v36.2 => archive/v36.2}/Dockerfile.amd64 | 0 {v36.2 => archive/v36.2}/Dockerfile.arm | 0 {v36.2 => archive/v36.2}/Dockerfile.arm64 | 0 .../v36.2}/overlay/etc/container.d/25-mods.sh | 0 .../overlay/etc/entrypoint.d/20-forge.sh | 0 .../v36.2}/overlay/usr/bin/container | 0 91 files changed, 2067 deletions(-) delete mode 100644 .github/workflows/v30.0.yml delete mode 100644 .github/workflows/v31.0.yml delete mode 100644 .github/workflows/v31.1.yml delete mode 100644 .github/workflows/v31.2.yml delete mode 100644 .github/workflows/v32.0.yml delete mode 100644 .github/workflows/v33.0.yml delete mode 100644 .github/workflows/v34.0.yml delete mode 100644 .github/workflows/v34.1.yml delete mode 100644 .github/workflows/v35.0.yml delete mode 100644 .github/workflows/v35.1.yml delete mode 100644 .github/workflows/v36.0.yml delete mode 100644 .github/workflows/v36.1.yml delete mode 100644 .github/workflows/v36.2.yml rename {v30.0 => archive/v30.0}/Dockerfile.amd64 (100%) rename {v30.0 => archive/v30.0}/Dockerfile.arm (100%) rename {v30.0 => archive/v30.0}/Dockerfile.arm64 (100%) rename {v30.0 => archive/v30.0}/overlay/etc/container.d/25-mods.sh (100%) rename {v30.0 => archive/v30.0}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v30.0 => archive/v30.0}/overlay/usr/bin/container (100%) rename {v31.0 => archive/v31.0}/Dockerfile.amd64 (100%) rename {v31.0 => archive/v31.0}/Dockerfile.arm (100%) rename {v31.0 => archive/v31.0}/Dockerfile.arm64 (100%) rename {v31.0 => archive/v31.0}/overlay/etc/container.d/25-mods.sh (100%) rename {v31.0 => archive/v31.0}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v31.0 => archive/v31.0}/overlay/usr/bin/container (100%) rename {v31.1 => archive/v31.1}/Dockerfile.amd64 (100%) rename {v31.1 => archive/v31.1}/Dockerfile.arm (100%) rename {v31.1 => archive/v31.1}/Dockerfile.arm64 (100%) rename {v31.1 => archive/v31.1}/overlay/etc/container.d/25-mods.sh (100%) rename {v31.1 => archive/v31.1}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v31.1 => archive/v31.1}/overlay/usr/bin/container (100%) rename {v31.2 => archive/v31.2}/Dockerfile.amd64 (100%) rename {v31.2 => archive/v31.2}/Dockerfile.arm (100%) rename {v31.2 => archive/v31.2}/Dockerfile.arm64 (100%) rename {v31.2 => archive/v31.2}/overlay/etc/container.d/25-mods.sh (100%) rename {v31.2 => archive/v31.2}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v31.2 => archive/v31.2}/overlay/usr/bin/container (100%) rename {v32.0 => archive/v32.0}/Dockerfile.amd64 (100%) rename {v32.0 => archive/v32.0}/Dockerfile.arm (100%) rename {v32.0 => archive/v32.0}/Dockerfile.arm64 (100%) rename {v32.0 => archive/v32.0}/overlay/etc/container.d/25-mods.sh (100%) rename {v32.0 => archive/v32.0}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v32.0 => archive/v32.0}/overlay/usr/bin/container (100%) rename {v33.0 => archive/v33.0}/Dockerfile.amd64 (100%) rename {v33.0 => archive/v33.0}/Dockerfile.arm (100%) rename {v33.0 => archive/v33.0}/Dockerfile.arm64 (100%) rename {v33.0 => archive/v33.0}/overlay/etc/container.d/25-mods.sh (100%) rename {v33.0 => archive/v33.0}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v33.0 => archive/v33.0}/overlay/usr/bin/container (100%) rename {v34.0 => archive/v34.0}/Dockerfile.amd64 (100%) rename {v34.0 => archive/v34.0}/Dockerfile.arm (100%) rename {v34.0 => archive/v34.0}/Dockerfile.arm64 (100%) rename {v34.0 => archive/v34.0}/overlay/etc/container.d/25-mods.sh (100%) rename {v34.0 => archive/v34.0}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v34.0 => archive/v34.0}/overlay/usr/bin/container (100%) rename {v34.1 => archive/v34.1}/Dockerfile.amd64 (100%) rename {v34.1 => archive/v34.1}/Dockerfile.arm (100%) rename {v34.1 => archive/v34.1}/Dockerfile.arm64 (100%) rename {v34.1 => archive/v34.1}/overlay/etc/container.d/25-mods.sh (100%) rename {v34.1 => archive/v34.1}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v34.1 => archive/v34.1}/overlay/usr/bin/container (100%) rename {v35.0 => archive/v35.0}/Dockerfile.amd64 (100%) rename {v35.0 => archive/v35.0}/Dockerfile.arm (100%) rename {v35.0 => archive/v35.0}/Dockerfile.arm64 (100%) rename {v35.0 => archive/v35.0}/overlay/etc/container.d/25-mods.sh (100%) rename {v35.0 => archive/v35.0}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v35.0 => archive/v35.0}/overlay/usr/bin/container (100%) rename {v35.1 => archive/v35.1}/Dockerfile.amd64 (100%) rename {v35.1 => archive/v35.1}/Dockerfile.arm (100%) rename {v35.1 => archive/v35.1}/Dockerfile.arm64 (100%) rename {v35.1 => archive/v35.1}/overlay/etc/container.d/25-mods.sh (100%) rename {v35.1 => archive/v35.1}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v35.1 => archive/v35.1}/overlay/usr/bin/container (100%) rename {v36.0 => archive/v36.0}/Dockerfile.amd64 (100%) rename {v36.0 => archive/v36.0}/Dockerfile.arm (100%) rename {v36.0 => archive/v36.0}/Dockerfile.arm64 (100%) rename {v36.0 => archive/v36.0}/overlay/etc/container.d/25-mods.sh (100%) rename {v36.0 => archive/v36.0}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v36.0 => archive/v36.0}/overlay/usr/bin/container (100%) rename {v36.1 => archive/v36.1}/Dockerfile.amd64 (100%) rename {v36.1 => archive/v36.1}/Dockerfile.arm (100%) rename {v36.1 => archive/v36.1}/Dockerfile.arm64 (100%) rename {v36.1 => archive/v36.1}/overlay/etc/container.d/25-mods.sh (100%) rename {v36.1 => archive/v36.1}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v36.1 => archive/v36.1}/overlay/usr/bin/container (100%) rename {v36.2 => archive/v36.2}/Dockerfile.amd64 (100%) rename {v36.2 => archive/v36.2}/Dockerfile.arm (100%) rename {v36.2 => archive/v36.2}/Dockerfile.arm64 (100%) rename {v36.2 => archive/v36.2}/overlay/etc/container.d/25-mods.sh (100%) rename {v36.2 => archive/v36.2}/overlay/etc/entrypoint.d/20-forge.sh (100%) rename {v36.2 => archive/v36.2}/overlay/usr/bin/container (100%) diff --git a/.github/workflows/v30.0.yml b/.github/workflows/v30.0.yml deleted file mode 100644 index d80a33ca..00000000 --- a/.github/workflows/v30.0.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v30.0 - -"on": - push: - branches: - - master - paths: - - v30.0/* - - .github/workflows/v30.0.yml - pull_request: - branches: - - master - paths: - - v30.0/* - - .github/workflows/v30.0.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v30.0/ - provenance: false - file: v30.0/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:30.0-amd64 - quay.io/webhippie/minecraft-forge:30.0-amd64 - ghcr.io/dockhippie/minecraft-forge:30.0-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v30.0/ - provenance: false - file: v30.0/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:30.0-arm64 - quay.io/webhippie/minecraft-forge:30.0-arm64 - ghcr.io/dockhippie/minecraft-forge:30.0-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v30.0/ - provenance: false - file: v30.0/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:30.0-arm - quay.io/webhippie/minecraft-forge:30.0-arm - ghcr.io/dockhippie/minecraft-forge:30.0-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:30.0-ARCH - target: webhippie/minecraft-forge:30.0 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:30.0-ARCH - target: quay.io/webhippie/minecraft-forge:30.0 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:30.0-ARCH - target: ghcr.io/dockhippie/minecraft-forge:30.0 - ignore_missing: true - -... diff --git a/.github/workflows/v31.0.yml b/.github/workflows/v31.0.yml deleted file mode 100644 index cabd0264..00000000 --- a/.github/workflows/v31.0.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v31.0 - -"on": - push: - branches: - - master - paths: - - v31.0/* - - .github/workflows/v31.0.yml - pull_request: - branches: - - master - paths: - - v31.0/* - - .github/workflows/v31.0.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v31.0/ - provenance: false - file: v31.0/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:31.0-amd64 - quay.io/webhippie/minecraft-forge:31.0-amd64 - ghcr.io/dockhippie/minecraft-forge:31.0-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v31.0/ - provenance: false - file: v31.0/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:31.0-arm64 - quay.io/webhippie/minecraft-forge:31.0-arm64 - ghcr.io/dockhippie/minecraft-forge:31.0-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v31.0/ - provenance: false - file: v31.0/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:31.0-arm - quay.io/webhippie/minecraft-forge:31.0-arm - ghcr.io/dockhippie/minecraft-forge:31.0-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:31.0-ARCH - target: webhippie/minecraft-forge:31.0 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:31.0-ARCH - target: quay.io/webhippie/minecraft-forge:31.0 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:31.0-ARCH - target: ghcr.io/dockhippie/minecraft-forge:31.0 - ignore_missing: true - -... diff --git a/.github/workflows/v31.1.yml b/.github/workflows/v31.1.yml deleted file mode 100644 index cfec82d6..00000000 --- a/.github/workflows/v31.1.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v31.1 - -"on": - push: - branches: - - master - paths: - - v31.1/* - - .github/workflows/v31.1.yml - pull_request: - branches: - - master - paths: - - v31.1/* - - .github/workflows/v31.1.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v31.1/ - provenance: false - file: v31.1/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:31.1-amd64 - quay.io/webhippie/minecraft-forge:31.1-amd64 - ghcr.io/dockhippie/minecraft-forge:31.1-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v31.1/ - provenance: false - file: v31.1/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:31.1-arm64 - quay.io/webhippie/minecraft-forge:31.1-arm64 - ghcr.io/dockhippie/minecraft-forge:31.1-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v31.1/ - provenance: false - file: v31.1/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:31.1-arm - quay.io/webhippie/minecraft-forge:31.1-arm - ghcr.io/dockhippie/minecraft-forge:31.1-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:31.1-ARCH - target: webhippie/minecraft-forge:31.1 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:31.1-ARCH - target: quay.io/webhippie/minecraft-forge:31.1 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:31.1-ARCH - target: ghcr.io/dockhippie/minecraft-forge:31.1 - ignore_missing: true - -... diff --git a/.github/workflows/v31.2.yml b/.github/workflows/v31.2.yml deleted file mode 100644 index 237deefb..00000000 --- a/.github/workflows/v31.2.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v31.2 - -"on": - push: - branches: - - master - paths: - - v31.2/* - - .github/workflows/v31.2.yml - pull_request: - branches: - - master - paths: - - v31.2/* - - .github/workflows/v31.2.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v31.2/ - provenance: false - file: v31.2/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:31.2-amd64 - quay.io/webhippie/minecraft-forge:31.2-amd64 - ghcr.io/dockhippie/minecraft-forge:31.2-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v31.2/ - provenance: false - file: v31.2/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:31.2-arm64 - quay.io/webhippie/minecraft-forge:31.2-arm64 - ghcr.io/dockhippie/minecraft-forge:31.2-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v31.2/ - provenance: false - file: v31.2/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:31.2-arm - quay.io/webhippie/minecraft-forge:31.2-arm - ghcr.io/dockhippie/minecraft-forge:31.2-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:31.2-ARCH - target: webhippie/minecraft-forge:31.2 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:31.2-ARCH - target: quay.io/webhippie/minecraft-forge:31.2 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:31.2-ARCH - target: ghcr.io/dockhippie/minecraft-forge:31.2 - ignore_missing: true - -... diff --git a/.github/workflows/v32.0.yml b/.github/workflows/v32.0.yml deleted file mode 100644 index 2586a1ea..00000000 --- a/.github/workflows/v32.0.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v32.0 - -"on": - push: - branches: - - master - paths: - - v32.0/* - - .github/workflows/v32.0.yml - pull_request: - branches: - - master - paths: - - v32.0/* - - .github/workflows/v32.0.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v32.0/ - provenance: false - file: v32.0/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:32.0-amd64 - quay.io/webhippie/minecraft-forge:32.0-amd64 - ghcr.io/dockhippie/minecraft-forge:32.0-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v32.0/ - provenance: false - file: v32.0/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:32.0-arm64 - quay.io/webhippie/minecraft-forge:32.0-arm64 - ghcr.io/dockhippie/minecraft-forge:32.0-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v32.0/ - provenance: false - file: v32.0/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:32.0-arm - quay.io/webhippie/minecraft-forge:32.0-arm - ghcr.io/dockhippie/minecraft-forge:32.0-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:32.0-ARCH - target: webhippie/minecraft-forge:32.0 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:32.0-ARCH - target: quay.io/webhippie/minecraft-forge:32.0 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:32.0-ARCH - target: ghcr.io/dockhippie/minecraft-forge:32.0 - ignore_missing: true - -... diff --git a/.github/workflows/v33.0.yml b/.github/workflows/v33.0.yml deleted file mode 100644 index 60389612..00000000 --- a/.github/workflows/v33.0.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v33.0 - -"on": - push: - branches: - - master - paths: - - v33.0/* - - .github/workflows/v33.0.yml - pull_request: - branches: - - master - paths: - - v33.0/* - - .github/workflows/v33.0.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v33.0/ - provenance: false - file: v33.0/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:33.0-amd64 - quay.io/webhippie/minecraft-forge:33.0-amd64 - ghcr.io/dockhippie/minecraft-forge:33.0-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v33.0/ - provenance: false - file: v33.0/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:33.0-arm64 - quay.io/webhippie/minecraft-forge:33.0-arm64 - ghcr.io/dockhippie/minecraft-forge:33.0-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v33.0/ - provenance: false - file: v33.0/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:33.0-arm - quay.io/webhippie/minecraft-forge:33.0-arm - ghcr.io/dockhippie/minecraft-forge:33.0-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:33.0-ARCH - target: webhippie/minecraft-forge:33.0 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:33.0-ARCH - target: quay.io/webhippie/minecraft-forge:33.0 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:33.0-ARCH - target: ghcr.io/dockhippie/minecraft-forge:33.0 - ignore_missing: true - -... diff --git a/.github/workflows/v34.0.yml b/.github/workflows/v34.0.yml deleted file mode 100644 index ca40ca4c..00000000 --- a/.github/workflows/v34.0.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v34.0 - -"on": - push: - branches: - - master - paths: - - v34.0/* - - .github/workflows/v34.0.yml - pull_request: - branches: - - master - paths: - - v34.0/* - - .github/workflows/v34.0.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v34.0/ - provenance: false - file: v34.0/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:34.0-amd64 - quay.io/webhippie/minecraft-forge:34.0-amd64 - ghcr.io/dockhippie/minecraft-forge:34.0-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v34.0/ - provenance: false - file: v34.0/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:34.0-arm64 - quay.io/webhippie/minecraft-forge:34.0-arm64 - ghcr.io/dockhippie/minecraft-forge:34.0-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v34.0/ - provenance: false - file: v34.0/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:34.0-arm - quay.io/webhippie/minecraft-forge:34.0-arm - ghcr.io/dockhippie/minecraft-forge:34.0-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:34.0-ARCH - target: webhippie/minecraft-forge:34.0 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:34.0-ARCH - target: quay.io/webhippie/minecraft-forge:34.0 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:34.0-ARCH - target: ghcr.io/dockhippie/minecraft-forge:34.0 - ignore_missing: true - -... diff --git a/.github/workflows/v34.1.yml b/.github/workflows/v34.1.yml deleted file mode 100644 index bf08cac8..00000000 --- a/.github/workflows/v34.1.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v34.1 - -"on": - push: - branches: - - master - paths: - - v34.1/* - - .github/workflows/v34.1.yml - pull_request: - branches: - - master - paths: - - v34.1/* - - .github/workflows/v34.1.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v34.1/ - provenance: false - file: v34.1/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:34.1-amd64 - quay.io/webhippie/minecraft-forge:34.1-amd64 - ghcr.io/dockhippie/minecraft-forge:34.1-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v34.1/ - provenance: false - file: v34.1/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:34.1-arm64 - quay.io/webhippie/minecraft-forge:34.1-arm64 - ghcr.io/dockhippie/minecraft-forge:34.1-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v34.1/ - provenance: false - file: v34.1/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:34.1-arm - quay.io/webhippie/minecraft-forge:34.1-arm - ghcr.io/dockhippie/minecraft-forge:34.1-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:34.1-ARCH - target: webhippie/minecraft-forge:34.1 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:34.1-ARCH - target: quay.io/webhippie/minecraft-forge:34.1 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:34.1-ARCH - target: ghcr.io/dockhippie/minecraft-forge:34.1 - ignore_missing: true - -... diff --git a/.github/workflows/v35.0.yml b/.github/workflows/v35.0.yml deleted file mode 100644 index 62496238..00000000 --- a/.github/workflows/v35.0.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v35.0 - -"on": - push: - branches: - - master - paths: - - v35.0/* - - .github/workflows/v35.0.yml - pull_request: - branches: - - master - paths: - - v35.0/* - - .github/workflows/v35.0.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v35.0/ - provenance: false - file: v35.0/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:35.0-amd64 - quay.io/webhippie/minecraft-forge:35.0-amd64 - ghcr.io/dockhippie/minecraft-forge:35.0-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v35.0/ - provenance: false - file: v35.0/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:35.0-arm64 - quay.io/webhippie/minecraft-forge:35.0-arm64 - ghcr.io/dockhippie/minecraft-forge:35.0-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v35.0/ - provenance: false - file: v35.0/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:35.0-arm - quay.io/webhippie/minecraft-forge:35.0-arm - ghcr.io/dockhippie/minecraft-forge:35.0-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:35.0-ARCH - target: webhippie/minecraft-forge:35.0 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:35.0-ARCH - target: quay.io/webhippie/minecraft-forge:35.0 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:35.0-ARCH - target: ghcr.io/dockhippie/minecraft-forge:35.0 - ignore_missing: true - -... diff --git a/.github/workflows/v35.1.yml b/.github/workflows/v35.1.yml deleted file mode 100644 index 3f1abca5..00000000 --- a/.github/workflows/v35.1.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v35.1 - -"on": - push: - branches: - - master - paths: - - v35.1/* - - .github/workflows/v35.1.yml - pull_request: - branches: - - master - paths: - - v35.1/* - - .github/workflows/v35.1.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v35.1/ - provenance: false - file: v35.1/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:35.1-amd64 - quay.io/webhippie/minecraft-forge:35.1-amd64 - ghcr.io/dockhippie/minecraft-forge:35.1-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v35.1/ - provenance: false - file: v35.1/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:35.1-arm64 - quay.io/webhippie/minecraft-forge:35.1-arm64 - ghcr.io/dockhippie/minecraft-forge:35.1-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v35.1/ - provenance: false - file: v35.1/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:35.1-arm - quay.io/webhippie/minecraft-forge:35.1-arm - ghcr.io/dockhippie/minecraft-forge:35.1-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:35.1-ARCH - target: webhippie/minecraft-forge:35.1 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:35.1-ARCH - target: quay.io/webhippie/minecraft-forge:35.1 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:35.1-ARCH - target: ghcr.io/dockhippie/minecraft-forge:35.1 - ignore_missing: true - -... diff --git a/.github/workflows/v36.0.yml b/.github/workflows/v36.0.yml deleted file mode 100644 index ea62dd24..00000000 --- a/.github/workflows/v36.0.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v36.0 - -"on": - push: - branches: - - master - paths: - - v36.0/* - - .github/workflows/v36.0.yml - pull_request: - branches: - - master - paths: - - v36.0/* - - .github/workflows/v36.0.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v36.0/ - provenance: false - file: v36.0/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:36.0-amd64 - quay.io/webhippie/minecraft-forge:36.0-amd64 - ghcr.io/dockhippie/minecraft-forge:36.0-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v36.0/ - provenance: false - file: v36.0/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:36.0-arm64 - quay.io/webhippie/minecraft-forge:36.0-arm64 - ghcr.io/dockhippie/minecraft-forge:36.0-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v36.0/ - provenance: false - file: v36.0/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:36.0-arm - quay.io/webhippie/minecraft-forge:36.0-arm - ghcr.io/dockhippie/minecraft-forge:36.0-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:36.0-ARCH - target: webhippie/minecraft-forge:36.0 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:36.0-ARCH - target: quay.io/webhippie/minecraft-forge:36.0 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:36.0-ARCH - target: ghcr.io/dockhippie/minecraft-forge:36.0 - ignore_missing: true - -... diff --git a/.github/workflows/v36.1.yml b/.github/workflows/v36.1.yml deleted file mode 100644 index 17e01811..00000000 --- a/.github/workflows/v36.1.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v36.1 - -"on": - push: - branches: - - master - paths: - - v36.1/* - - .github/workflows/v36.1.yml - pull_request: - branches: - - master - paths: - - v36.1/* - - .github/workflows/v36.1.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v36.1/ - provenance: false - file: v36.1/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:36.1-amd64 - quay.io/webhippie/minecraft-forge:36.1-amd64 - ghcr.io/dockhippie/minecraft-forge:36.1-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v36.1/ - provenance: false - file: v36.1/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:36.1-arm64 - quay.io/webhippie/minecraft-forge:36.1-arm64 - ghcr.io/dockhippie/minecraft-forge:36.1-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v36.1/ - provenance: false - file: v36.1/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:36.1-arm - quay.io/webhippie/minecraft-forge:36.1-arm - ghcr.io/dockhippie/minecraft-forge:36.1-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:36.1-ARCH - target: webhippie/minecraft-forge:36.1 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:36.1-ARCH - target: quay.io/webhippie/minecraft-forge:36.1 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:36.1-ARCH - target: ghcr.io/dockhippie/minecraft-forge:36.1 - ignore_missing: true - -... diff --git a/.github/workflows/v36.2.yml b/.github/workflows/v36.2.yml deleted file mode 100644 index 678c6bb8..00000000 --- a/.github/workflows/v36.2.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -name: v36.2 - -"on": - push: - branches: - - master - paths: - - v36.2/* - - .github/workflows/v36.2.yml - pull_request: - branches: - - master - paths: - - v36.2/* - - .github/workflows/v36.2.yml - workflow_dispatch: - -jobs: - docker: - runs-on: ubuntu-latest - - steps: - - name: Checkout source - id: source - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v5 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - images: | - webhippie/minecraft-forge - quay.io/webhippie/minecraft-forge - ghcr.io/dockhippie/minecraft-forge - labels: | - org.opencontainers.image.vendor=Webhippie - maintainer=Thomas Boerger - - - name: Setup QEMU - id: qemu - uses: docker/setup-qemu-action@v3 - - - name: Setup Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Hub login - id: login1 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Quay login - id: login2 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: quay.io - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - - - name: Ghcr login - id: login3 - uses: docker/login-action@v3 - if: github.event_name != 'pull_request' - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build amd64 - id: amd64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v36.2/ - provenance: false - file: v36.2/Dockerfile.amd64 - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:36.2-amd64 - quay.io/webhippie/minecraft-forge:36.2-amd64 - ghcr.io/dockhippie/minecraft-forge:36.2-amd64 - - - name: Build arm64 - id: arm64 - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v36.2/ - provenance: false - file: v36.2/Dockerfile.arm64 - platforms: linux/arm64 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:36.2-arm64 - quay.io/webhippie/minecraft-forge:36.2-arm64 - ghcr.io/dockhippie/minecraft-forge:36.2-arm64 - - - name: Build arm - id: arm - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: v36.2/ - provenance: false - file: v36.2/Dockerfile.arm - platforms: linux/arm/v7 - push: ${{ github.event_name != 'pull_request' }} - labels: ${{ steps.meta.outputs.labels }} - tags: | - webhippie/minecraft-forge:36.2-arm - quay.io/webhippie/minecraft-forge:36.2-arm - ghcr.io/dockhippie/minecraft-forge:36.2-arm - - - name: Hub manifest - id: manifest1 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: webhippie/minecraft-forge:36.2-ARCH - target: webhippie/minecraft-forge:36.2 - ignore_missing: true - - - name: Quay manifest - id: manifest2 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ secrets.QUAY_USERNAME }} - password: ${{ secrets.QUAY_PASSWORD }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: quay.io/webhippie/minecraft-forge:36.2-ARCH - target: quay.io/webhippie/minecraft-forge:36.2 - ignore_missing: true - - - name: Ghcr manifest - id: manifest3 - uses: actionhippie/manifest@v1 - if: github.event_name != 'pull_request' - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - platforms: linux/amd64,linux/arm64,linux/arm/v7 - template: ghcr.io/dockhippie/minecraft-forge:36.2-ARCH - target: ghcr.io/dockhippie/minecraft-forge:36.2 - ignore_missing: true - -... diff --git a/v30.0/Dockerfile.amd64 b/archive/v30.0/Dockerfile.amd64 similarity index 100% rename from v30.0/Dockerfile.amd64 rename to archive/v30.0/Dockerfile.amd64 diff --git a/v30.0/Dockerfile.arm b/archive/v30.0/Dockerfile.arm similarity index 100% rename from v30.0/Dockerfile.arm rename to archive/v30.0/Dockerfile.arm diff --git a/v30.0/Dockerfile.arm64 b/archive/v30.0/Dockerfile.arm64 similarity index 100% rename from v30.0/Dockerfile.arm64 rename to archive/v30.0/Dockerfile.arm64 diff --git a/v30.0/overlay/etc/container.d/25-mods.sh b/archive/v30.0/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v30.0/overlay/etc/container.d/25-mods.sh rename to archive/v30.0/overlay/etc/container.d/25-mods.sh diff --git a/v30.0/overlay/etc/entrypoint.d/20-forge.sh b/archive/v30.0/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v30.0/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v30.0/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v30.0/overlay/usr/bin/container b/archive/v30.0/overlay/usr/bin/container similarity index 100% rename from v30.0/overlay/usr/bin/container rename to archive/v30.0/overlay/usr/bin/container diff --git a/v31.0/Dockerfile.amd64 b/archive/v31.0/Dockerfile.amd64 similarity index 100% rename from v31.0/Dockerfile.amd64 rename to archive/v31.0/Dockerfile.amd64 diff --git a/v31.0/Dockerfile.arm b/archive/v31.0/Dockerfile.arm similarity index 100% rename from v31.0/Dockerfile.arm rename to archive/v31.0/Dockerfile.arm diff --git a/v31.0/Dockerfile.arm64 b/archive/v31.0/Dockerfile.arm64 similarity index 100% rename from v31.0/Dockerfile.arm64 rename to archive/v31.0/Dockerfile.arm64 diff --git a/v31.0/overlay/etc/container.d/25-mods.sh b/archive/v31.0/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v31.0/overlay/etc/container.d/25-mods.sh rename to archive/v31.0/overlay/etc/container.d/25-mods.sh diff --git a/v31.0/overlay/etc/entrypoint.d/20-forge.sh b/archive/v31.0/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v31.0/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v31.0/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v31.0/overlay/usr/bin/container b/archive/v31.0/overlay/usr/bin/container similarity index 100% rename from v31.0/overlay/usr/bin/container rename to archive/v31.0/overlay/usr/bin/container diff --git a/v31.1/Dockerfile.amd64 b/archive/v31.1/Dockerfile.amd64 similarity index 100% rename from v31.1/Dockerfile.amd64 rename to archive/v31.1/Dockerfile.amd64 diff --git a/v31.1/Dockerfile.arm b/archive/v31.1/Dockerfile.arm similarity index 100% rename from v31.1/Dockerfile.arm rename to archive/v31.1/Dockerfile.arm diff --git a/v31.1/Dockerfile.arm64 b/archive/v31.1/Dockerfile.arm64 similarity index 100% rename from v31.1/Dockerfile.arm64 rename to archive/v31.1/Dockerfile.arm64 diff --git a/v31.1/overlay/etc/container.d/25-mods.sh b/archive/v31.1/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v31.1/overlay/etc/container.d/25-mods.sh rename to archive/v31.1/overlay/etc/container.d/25-mods.sh diff --git a/v31.1/overlay/etc/entrypoint.d/20-forge.sh b/archive/v31.1/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v31.1/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v31.1/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v31.1/overlay/usr/bin/container b/archive/v31.1/overlay/usr/bin/container similarity index 100% rename from v31.1/overlay/usr/bin/container rename to archive/v31.1/overlay/usr/bin/container diff --git a/v31.2/Dockerfile.amd64 b/archive/v31.2/Dockerfile.amd64 similarity index 100% rename from v31.2/Dockerfile.amd64 rename to archive/v31.2/Dockerfile.amd64 diff --git a/v31.2/Dockerfile.arm b/archive/v31.2/Dockerfile.arm similarity index 100% rename from v31.2/Dockerfile.arm rename to archive/v31.2/Dockerfile.arm diff --git a/v31.2/Dockerfile.arm64 b/archive/v31.2/Dockerfile.arm64 similarity index 100% rename from v31.2/Dockerfile.arm64 rename to archive/v31.2/Dockerfile.arm64 diff --git a/v31.2/overlay/etc/container.d/25-mods.sh b/archive/v31.2/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v31.2/overlay/etc/container.d/25-mods.sh rename to archive/v31.2/overlay/etc/container.d/25-mods.sh diff --git a/v31.2/overlay/etc/entrypoint.d/20-forge.sh b/archive/v31.2/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v31.2/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v31.2/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v31.2/overlay/usr/bin/container b/archive/v31.2/overlay/usr/bin/container similarity index 100% rename from v31.2/overlay/usr/bin/container rename to archive/v31.2/overlay/usr/bin/container diff --git a/v32.0/Dockerfile.amd64 b/archive/v32.0/Dockerfile.amd64 similarity index 100% rename from v32.0/Dockerfile.amd64 rename to archive/v32.0/Dockerfile.amd64 diff --git a/v32.0/Dockerfile.arm b/archive/v32.0/Dockerfile.arm similarity index 100% rename from v32.0/Dockerfile.arm rename to archive/v32.0/Dockerfile.arm diff --git a/v32.0/Dockerfile.arm64 b/archive/v32.0/Dockerfile.arm64 similarity index 100% rename from v32.0/Dockerfile.arm64 rename to archive/v32.0/Dockerfile.arm64 diff --git a/v32.0/overlay/etc/container.d/25-mods.sh b/archive/v32.0/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v32.0/overlay/etc/container.d/25-mods.sh rename to archive/v32.0/overlay/etc/container.d/25-mods.sh diff --git a/v32.0/overlay/etc/entrypoint.d/20-forge.sh b/archive/v32.0/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v32.0/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v32.0/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v32.0/overlay/usr/bin/container b/archive/v32.0/overlay/usr/bin/container similarity index 100% rename from v32.0/overlay/usr/bin/container rename to archive/v32.0/overlay/usr/bin/container diff --git a/v33.0/Dockerfile.amd64 b/archive/v33.0/Dockerfile.amd64 similarity index 100% rename from v33.0/Dockerfile.amd64 rename to archive/v33.0/Dockerfile.amd64 diff --git a/v33.0/Dockerfile.arm b/archive/v33.0/Dockerfile.arm similarity index 100% rename from v33.0/Dockerfile.arm rename to archive/v33.0/Dockerfile.arm diff --git a/v33.0/Dockerfile.arm64 b/archive/v33.0/Dockerfile.arm64 similarity index 100% rename from v33.0/Dockerfile.arm64 rename to archive/v33.0/Dockerfile.arm64 diff --git a/v33.0/overlay/etc/container.d/25-mods.sh b/archive/v33.0/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v33.0/overlay/etc/container.d/25-mods.sh rename to archive/v33.0/overlay/etc/container.d/25-mods.sh diff --git a/v33.0/overlay/etc/entrypoint.d/20-forge.sh b/archive/v33.0/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v33.0/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v33.0/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v33.0/overlay/usr/bin/container b/archive/v33.0/overlay/usr/bin/container similarity index 100% rename from v33.0/overlay/usr/bin/container rename to archive/v33.0/overlay/usr/bin/container diff --git a/v34.0/Dockerfile.amd64 b/archive/v34.0/Dockerfile.amd64 similarity index 100% rename from v34.0/Dockerfile.amd64 rename to archive/v34.0/Dockerfile.amd64 diff --git a/v34.0/Dockerfile.arm b/archive/v34.0/Dockerfile.arm similarity index 100% rename from v34.0/Dockerfile.arm rename to archive/v34.0/Dockerfile.arm diff --git a/v34.0/Dockerfile.arm64 b/archive/v34.0/Dockerfile.arm64 similarity index 100% rename from v34.0/Dockerfile.arm64 rename to archive/v34.0/Dockerfile.arm64 diff --git a/v34.0/overlay/etc/container.d/25-mods.sh b/archive/v34.0/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v34.0/overlay/etc/container.d/25-mods.sh rename to archive/v34.0/overlay/etc/container.d/25-mods.sh diff --git a/v34.0/overlay/etc/entrypoint.d/20-forge.sh b/archive/v34.0/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v34.0/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v34.0/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v34.0/overlay/usr/bin/container b/archive/v34.0/overlay/usr/bin/container similarity index 100% rename from v34.0/overlay/usr/bin/container rename to archive/v34.0/overlay/usr/bin/container diff --git a/v34.1/Dockerfile.amd64 b/archive/v34.1/Dockerfile.amd64 similarity index 100% rename from v34.1/Dockerfile.amd64 rename to archive/v34.1/Dockerfile.amd64 diff --git a/v34.1/Dockerfile.arm b/archive/v34.1/Dockerfile.arm similarity index 100% rename from v34.1/Dockerfile.arm rename to archive/v34.1/Dockerfile.arm diff --git a/v34.1/Dockerfile.arm64 b/archive/v34.1/Dockerfile.arm64 similarity index 100% rename from v34.1/Dockerfile.arm64 rename to archive/v34.1/Dockerfile.arm64 diff --git a/v34.1/overlay/etc/container.d/25-mods.sh b/archive/v34.1/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v34.1/overlay/etc/container.d/25-mods.sh rename to archive/v34.1/overlay/etc/container.d/25-mods.sh diff --git a/v34.1/overlay/etc/entrypoint.d/20-forge.sh b/archive/v34.1/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v34.1/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v34.1/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v34.1/overlay/usr/bin/container b/archive/v34.1/overlay/usr/bin/container similarity index 100% rename from v34.1/overlay/usr/bin/container rename to archive/v34.1/overlay/usr/bin/container diff --git a/v35.0/Dockerfile.amd64 b/archive/v35.0/Dockerfile.amd64 similarity index 100% rename from v35.0/Dockerfile.amd64 rename to archive/v35.0/Dockerfile.amd64 diff --git a/v35.0/Dockerfile.arm b/archive/v35.0/Dockerfile.arm similarity index 100% rename from v35.0/Dockerfile.arm rename to archive/v35.0/Dockerfile.arm diff --git a/v35.0/Dockerfile.arm64 b/archive/v35.0/Dockerfile.arm64 similarity index 100% rename from v35.0/Dockerfile.arm64 rename to archive/v35.0/Dockerfile.arm64 diff --git a/v35.0/overlay/etc/container.d/25-mods.sh b/archive/v35.0/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v35.0/overlay/etc/container.d/25-mods.sh rename to archive/v35.0/overlay/etc/container.d/25-mods.sh diff --git a/v35.0/overlay/etc/entrypoint.d/20-forge.sh b/archive/v35.0/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v35.0/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v35.0/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v35.0/overlay/usr/bin/container b/archive/v35.0/overlay/usr/bin/container similarity index 100% rename from v35.0/overlay/usr/bin/container rename to archive/v35.0/overlay/usr/bin/container diff --git a/v35.1/Dockerfile.amd64 b/archive/v35.1/Dockerfile.amd64 similarity index 100% rename from v35.1/Dockerfile.amd64 rename to archive/v35.1/Dockerfile.amd64 diff --git a/v35.1/Dockerfile.arm b/archive/v35.1/Dockerfile.arm similarity index 100% rename from v35.1/Dockerfile.arm rename to archive/v35.1/Dockerfile.arm diff --git a/v35.1/Dockerfile.arm64 b/archive/v35.1/Dockerfile.arm64 similarity index 100% rename from v35.1/Dockerfile.arm64 rename to archive/v35.1/Dockerfile.arm64 diff --git a/v35.1/overlay/etc/container.d/25-mods.sh b/archive/v35.1/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v35.1/overlay/etc/container.d/25-mods.sh rename to archive/v35.1/overlay/etc/container.d/25-mods.sh diff --git a/v35.1/overlay/etc/entrypoint.d/20-forge.sh b/archive/v35.1/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v35.1/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v35.1/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v35.1/overlay/usr/bin/container b/archive/v35.1/overlay/usr/bin/container similarity index 100% rename from v35.1/overlay/usr/bin/container rename to archive/v35.1/overlay/usr/bin/container diff --git a/v36.0/Dockerfile.amd64 b/archive/v36.0/Dockerfile.amd64 similarity index 100% rename from v36.0/Dockerfile.amd64 rename to archive/v36.0/Dockerfile.amd64 diff --git a/v36.0/Dockerfile.arm b/archive/v36.0/Dockerfile.arm similarity index 100% rename from v36.0/Dockerfile.arm rename to archive/v36.0/Dockerfile.arm diff --git a/v36.0/Dockerfile.arm64 b/archive/v36.0/Dockerfile.arm64 similarity index 100% rename from v36.0/Dockerfile.arm64 rename to archive/v36.0/Dockerfile.arm64 diff --git a/v36.0/overlay/etc/container.d/25-mods.sh b/archive/v36.0/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v36.0/overlay/etc/container.d/25-mods.sh rename to archive/v36.0/overlay/etc/container.d/25-mods.sh diff --git a/v36.0/overlay/etc/entrypoint.d/20-forge.sh b/archive/v36.0/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v36.0/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v36.0/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v36.0/overlay/usr/bin/container b/archive/v36.0/overlay/usr/bin/container similarity index 100% rename from v36.0/overlay/usr/bin/container rename to archive/v36.0/overlay/usr/bin/container diff --git a/v36.1/Dockerfile.amd64 b/archive/v36.1/Dockerfile.amd64 similarity index 100% rename from v36.1/Dockerfile.amd64 rename to archive/v36.1/Dockerfile.amd64 diff --git a/v36.1/Dockerfile.arm b/archive/v36.1/Dockerfile.arm similarity index 100% rename from v36.1/Dockerfile.arm rename to archive/v36.1/Dockerfile.arm diff --git a/v36.1/Dockerfile.arm64 b/archive/v36.1/Dockerfile.arm64 similarity index 100% rename from v36.1/Dockerfile.arm64 rename to archive/v36.1/Dockerfile.arm64 diff --git a/v36.1/overlay/etc/container.d/25-mods.sh b/archive/v36.1/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v36.1/overlay/etc/container.d/25-mods.sh rename to archive/v36.1/overlay/etc/container.d/25-mods.sh diff --git a/v36.1/overlay/etc/entrypoint.d/20-forge.sh b/archive/v36.1/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v36.1/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v36.1/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v36.1/overlay/usr/bin/container b/archive/v36.1/overlay/usr/bin/container similarity index 100% rename from v36.1/overlay/usr/bin/container rename to archive/v36.1/overlay/usr/bin/container diff --git a/v36.2/Dockerfile.amd64 b/archive/v36.2/Dockerfile.amd64 similarity index 100% rename from v36.2/Dockerfile.amd64 rename to archive/v36.2/Dockerfile.amd64 diff --git a/v36.2/Dockerfile.arm b/archive/v36.2/Dockerfile.arm similarity index 100% rename from v36.2/Dockerfile.arm rename to archive/v36.2/Dockerfile.arm diff --git a/v36.2/Dockerfile.arm64 b/archive/v36.2/Dockerfile.arm64 similarity index 100% rename from v36.2/Dockerfile.arm64 rename to archive/v36.2/Dockerfile.arm64 diff --git a/v36.2/overlay/etc/container.d/25-mods.sh b/archive/v36.2/overlay/etc/container.d/25-mods.sh similarity index 100% rename from v36.2/overlay/etc/container.d/25-mods.sh rename to archive/v36.2/overlay/etc/container.d/25-mods.sh diff --git a/v36.2/overlay/etc/entrypoint.d/20-forge.sh b/archive/v36.2/overlay/etc/entrypoint.d/20-forge.sh similarity index 100% rename from v36.2/overlay/etc/entrypoint.d/20-forge.sh rename to archive/v36.2/overlay/etc/entrypoint.d/20-forge.sh diff --git a/v36.2/overlay/usr/bin/container b/archive/v36.2/overlay/usr/bin/container similarity index 100% rename from v36.2/overlay/usr/bin/container rename to archive/v36.2/overlay/usr/bin/container From 15d4c88174fa5d100605dcd217a23a0355a4274a Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 17:58:16 +0100 Subject: [PATCH 02/14] feat: upgraded latest to v48.0.14 --- latest/Dockerfile.amd64 | 4 ++-- latest/Dockerfile.arm64 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/latest/Dockerfile.amd64 b/latest/Dockerfile.amd64 index 30201e9a..8d1be778 100644 --- a/latest/Dockerfile.amd64 +++ b/latest/Dockerfile.amd64 @@ -1,8 +1,8 @@ -FROM ghcr.io/dockhippie/minecraft-vanilla:1.17.1-amd64@sha256:c9d8ce380a2e6cbc69fad4ec7b1ef78951a8ad015905c1797a6df7fa9887abc9 AS build +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.2-amd64 AS build EXPOSE 25565 25575 -ENV FORGE_VERSION 37.0.42 +ENV FORGE_VERSION 48.0.14 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \ diff --git a/latest/Dockerfile.arm64 b/latest/Dockerfile.arm64 index e4ee7b91..1f9dbff0 100644 --- a/latest/Dockerfile.arm64 +++ b/latest/Dockerfile.arm64 @@ -1,8 +1,8 @@ -FROM ghcr.io/dockhippie/minecraft-vanilla:1.17.1-arm64@sha256:7cfaff4232ad563094f47c0450719f94a71612ab061fb0a718429879c6e9bd12 AS build +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.2-arm64 AS build EXPOSE 25565 25575 -ENV FORGE_VERSION 37.0.43 +ENV FORGE_VERSION 48.0.14 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \ From 2f919e301bac3a349caf0bf86725c5876017fb74 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 17:58:46 +0100 Subject: [PATCH 03/14] feat: upgraded v43.2 to v43.2.23 --- v43.2/Dockerfile.amd64 | 2 +- v43.2/Dockerfile.arm64 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/v43.2/Dockerfile.amd64 b/v43.2/Dockerfile.amd64 index a41ed2e6..49e4b142 100644 --- a/v43.2/Dockerfile.amd64 +++ b/v43.2/Dockerfile.amd64 @@ -2,7 +2,7 @@ FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.2-amd64@sha256:478ec4499afa8e6d04 EXPOSE 25565 25575 -ENV FORGE_VERSION 43.2.4 +ENV FORGE_VERSION 43.2.23 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \ diff --git a/v43.2/Dockerfile.arm64 b/v43.2/Dockerfile.arm64 index 2a3fa401..6754ee6a 100644 --- a/v43.2/Dockerfile.arm64 +++ b/v43.2/Dockerfile.arm64 @@ -2,7 +2,7 @@ FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.2-arm64@sha256:109635343b24f5eccd EXPOSE 25565 25575 -ENV FORGE_VERSION 43.2.4 +ENV FORGE_VERSION 43.2.23 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \ From 23f1dbd1e82c5fa4ffb9ac3b0739aef3332b81cd Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 17:59:09 +0100 Subject: [PATCH 04/14] feat: upgraded v44.1 to v44.1.23 --- v44.1/Dockerfile.amd64 | 2 +- v44.1/Dockerfile.arm64 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/v44.1/Dockerfile.amd64 b/v44.1/Dockerfile.amd64 index 98a844c7..d9858f59 100644 --- a/v44.1/Dockerfile.amd64 +++ b/v44.1/Dockerfile.amd64 @@ -2,7 +2,7 @@ FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.3-amd64@sha256:775cfe01b01e94cb70 EXPOSE 25565 25575 -ENV FORGE_VERSION 44.1.16 +ENV FORGE_VERSION 44.1.23 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \ diff --git a/v44.1/Dockerfile.arm64 b/v44.1/Dockerfile.arm64 index cf7fdc35..08994ebd 100644 --- a/v44.1/Dockerfile.arm64 +++ b/v44.1/Dockerfile.arm64 @@ -2,7 +2,7 @@ FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.3-arm64@sha256:18055ce5422a79e6c1 EXPOSE 25565 25575 -ENV FORGE_VERSION 44.1.16 +ENV FORGE_VERSION 44.1.23 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \ From 10f52ddf76674d0296d2f159c7239efef5c51971 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 17:59:39 +0100 Subject: [PATCH 05/14] feat: add new definition for 43.3 --- .github/workflows/v43.3.yml | 143 +++++++++++++++++++++ v43.3/Dockerfile.amd64 | 19 +++ v43.3/Dockerfile.arm64 | 19 +++ v43.3/overlay/etc/container.d/25-mods.sh | 26 ++++ v43.3/overlay/etc/entrypoint.d/20-forge.sh | 15 +++ v43.3/overlay/usr/bin/container | 22 ++++ 6 files changed, 244 insertions(+) create mode 100644 .github/workflows/v43.3.yml create mode 100644 v43.3/Dockerfile.amd64 create mode 100644 v43.3/Dockerfile.arm64 create mode 100755 v43.3/overlay/etc/container.d/25-mods.sh create mode 100755 v43.3/overlay/etc/entrypoint.d/20-forge.sh create mode 100755 v43.3/overlay/usr/bin/container diff --git a/.github/workflows/v43.3.yml b/.github/workflows/v43.3.yml new file mode 100644 index 00000000..3ac29e61 --- /dev/null +++ b/.github/workflows/v43.3.yml @@ -0,0 +1,143 @@ +--- +name: v43.3 + +"on": + push: + branches: + - master + paths: + - v43.3/* + - .github/workflows/v43.3.yml + pull_request: + branches: + - master + paths: + - v43.3/* + - .github/workflows/v43.3.yml + workflow_dispatch: + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout source + id: source + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: | + webhippie/minecraft-forge + quay.io/webhippie/minecraft-forge + ghcr.io/dockhippie/minecraft-forge + labels: | + org.opencontainers.image.vendor=Webhippie + maintainer=Thomas Boerger + + - name: Setup QEMU + id: qemu + uses: docker/setup-qemu-action@v3 + + - name: Setup Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Hub login + id: login1 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Quay login + id: login2 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + + - name: Ghcr login + id: login3 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build amd64 + id: amd64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v43.3/ + provenance: false + file: v43.3/Dockerfile.amd64 + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:43.3-amd64 + quay.io/webhippie/minecraft-forge:43.3-amd64 + ghcr.io/dockhippie/minecraft-forge:43.3-amd64 + + - name: Build arm64 + id: arm64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v43.3/ + provenance: false + file: v43.3/Dockerfile.arm64 + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:43.3-arm64 + quay.io/webhippie/minecraft-forge:43.3-arm64 + ghcr.io/dockhippie/minecraft-forge:43.3-arm64 + + - name: Hub manifest + id: manifest1 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: webhippie/minecraft-forge:43.3-ARCH + target: webhippie/minecraft-forge:43.3 + ignore_missing: true + + - name: Quay manifest + id: manifest2 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: quay.io/webhippie/minecraft-forge:43.3-ARCH + target: quay.io/webhippie/minecraft-forge:43.3 + ignore_missing: true + + - name: Ghcr manifest + id: manifest3 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + platforms: linux/amd64,linux/arm64 + template: ghcr.io/dockhippie/minecraft-forge:43.3-ARCH + target: ghcr.io/dockhippie/minecraft-forge:43.3 + ignore_missing: true + +... diff --git a/v43.3/Dockerfile.amd64 b/v43.3/Dockerfile.amd64 new file mode 100644 index 00000000..50fbf6e7 --- /dev/null +++ b/v43.3/Dockerfile.amd64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.2-amd64@sha256:478ec4499afa8e6d0455bd98a040b1487fb9142b6281c0a52d9d1d88cbd1c635 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 43.3.5 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v43.3/Dockerfile.arm64 b/v43.3/Dockerfile.arm64 new file mode 100644 index 00000000..e89c2f1b --- /dev/null +++ b/v43.3/Dockerfile.arm64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.2-arm64@sha256:109635343b24f5eccd571e13aca7746aca53635cb88d6468ca0994071a20575e AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 43.3.5 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v43.3/overlay/etc/container.d/25-mods.sh b/v43.3/overlay/etc/container.d/25-mods.sh new file mode 100755 index 00000000..9d637eba --- /dev/null +++ b/v43.3/overlay/etc/container.d/25-mods.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ ! -d ${MINECRAFT_MODS_DIR} ]; then + echo "> creating mods dir" + mkdir -p ${MINECRAFT_MODS_DIR} +fi + +if [ -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ]; then + if [[ "${MINECRAFT_ENABLE_DYNMAP}" == "true" || "${MINECRAFT_ENABLE_DYNMAP}" == "1" ]]; then + echo "> enabling dynmap mod" + cp -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + + if [ ! -d ${MINECRAFT_DYNMAP_DIR} ]; then + echo "> creating dynmap dir" + mkdir -p ${MINECRAFT_DYNMAP_DIR} + fi + + if [ ! -L ${MINECRAFT_GAME_DIR}/dynmap ]; then + echo "> creating dynmap symlink" + ln -sf ${MINECRAFT_DYNMAP_DIR} ${MINECRAFT_GAME_DIR}/dynmap + fi + else + echo "> disabling dynmap mod" + rm -f ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + fi +fi diff --git a/v43.3/overlay/etc/entrypoint.d/20-forge.sh b/v43.3/overlay/etc/entrypoint.d/20-forge.sh new file mode 100755 index 00000000..472a5b59 --- /dev/null +++ b/v43.3/overlay/etc/entrypoint.d/20-forge.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +declare -x MINECRAFT_OPTIONALS_DIR +[[ -z "${MINECRAFT_OPTIONALS_DIR}" ]] && MINECRAFT_OPTIONALS_DIR="${MINECRAFT_GAME_DIR}/optionals" + +declare -x MINECRAFT_MODS_DIR +[[ -z "${MINECRAFT_MODS_DIR}" ]] && MINECRAFT_MODS_DIR="${MINECRAFT_GAME_DIR}/mods" + +declare -x MINECRAFT_DYNMAP_DIR +[[ -z "${MINECRAFT_DYNMAP_DIR}" ]] && MINECRAFT_DYNMAP_DIR="${MINECRAFT_DATA_DIR}/dynmap" + +declare -x MINECRAFT_ENABLE_DYNMAP +[[ -z "${MINECRAFT_ENABLE_DYNMAP}" ]] && MINECRAFT_ENABLE_DYNMAP="${SERVER_DYNMAP:-true}" + +true diff --git a/v43.3/overlay/usr/bin/container b/v43.3/overlay/usr/bin/container new file mode 100755 index 00000000..05ee7d39 --- /dev/null +++ b/v43.3/overlay/usr/bin/container @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +source /usr/bin/entrypoint + +for FILE in $(find /etc/container.d -type f -iname \*.sh | sort); do + source ${FILE} +done + +pushd ${MINECRAFT_GAME_DIR} >/dev/null + STARTCMD="su-exec minecraft java" + + if [ -n "${MINECRAFT_MAXHEAP}" ]; then + STARTCMD="${STARTCMD} -Xmx${MINECRAFT_MAXHEAP}" + fi + + if [ -n "${MINECRAFT_MINHEAP}" ]; then + STARTCMD="${STARTCMD} -Xms${MINECRAFT_MINHEAP}" + fi + + echo "> starting minecraft server" + exec ${STARTCMD} ${JAVA_OPTS} @libraries/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/unix_args.txt ${MINECRAFT_OPTS} +popd >/dev/null From ade2693093b15e6cbdd431f439aeec438e293a56 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 17:59:51 +0100 Subject: [PATCH 06/14] feat: add new definition for 45.0 --- .github/workflows/v45.0.yml | 143 +++++++++++++++++++++ v45.0/Dockerfile.amd64 | 19 +++ v45.0/Dockerfile.arm64 | 19 +++ v45.0/overlay/etc/container.d/25-mods.sh | 26 ++++ v45.0/overlay/etc/entrypoint.d/20-forge.sh | 15 +++ v45.0/overlay/usr/bin/container | 22 ++++ 6 files changed, 244 insertions(+) create mode 100644 .github/workflows/v45.0.yml create mode 100644 v45.0/Dockerfile.amd64 create mode 100644 v45.0/Dockerfile.arm64 create mode 100755 v45.0/overlay/etc/container.d/25-mods.sh create mode 100755 v45.0/overlay/etc/entrypoint.d/20-forge.sh create mode 100755 v45.0/overlay/usr/bin/container diff --git a/.github/workflows/v45.0.yml b/.github/workflows/v45.0.yml new file mode 100644 index 00000000..99116960 --- /dev/null +++ b/.github/workflows/v45.0.yml @@ -0,0 +1,143 @@ +--- +name: v45.0 + +"on": + push: + branches: + - master + paths: + - v45.0/* + - .github/workflows/v45.0.yml + pull_request: + branches: + - master + paths: + - v45.0/* + - .github/workflows/v45.0.yml + workflow_dispatch: + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout source + id: source + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: | + webhippie/minecraft-forge + quay.io/webhippie/minecraft-forge + ghcr.io/dockhippie/minecraft-forge + labels: | + org.opencontainers.image.vendor=Webhippie + maintainer=Thomas Boerger + + - name: Setup QEMU + id: qemu + uses: docker/setup-qemu-action@v3 + + - name: Setup Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Hub login + id: login1 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Quay login + id: login2 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + + - name: Ghcr login + id: login3 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build amd64 + id: amd64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v45.0/ + provenance: false + file: v45.0/Dockerfile.amd64 + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:45.0-amd64 + quay.io/webhippie/minecraft-forge:45.0-amd64 + ghcr.io/dockhippie/minecraft-forge:45.0-amd64 + + - name: Build arm64 + id: arm64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v45.0/ + provenance: false + file: v45.0/Dockerfile.arm64 + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:45.0-arm64 + quay.io/webhippie/minecraft-forge:45.0-arm64 + ghcr.io/dockhippie/minecraft-forge:45.0-arm64 + + - name: Hub manifest + id: manifest1 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: webhippie/minecraft-forge:45.0-ARCH + target: webhippie/minecraft-forge:45.0 + ignore_missing: true + + - name: Quay manifest + id: manifest2 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: quay.io/webhippie/minecraft-forge:45.0-ARCH + target: quay.io/webhippie/minecraft-forge:45.0 + ignore_missing: true + + - name: Ghcr manifest + id: manifest3 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + platforms: linux/amd64,linux/arm64 + template: ghcr.io/dockhippie/minecraft-forge:45.0-ARCH + target: ghcr.io/dockhippie/minecraft-forge:45.0 + ignore_missing: true + +... diff --git a/v45.0/Dockerfile.amd64 b/v45.0/Dockerfile.amd64 new file mode 100644 index 00000000..5aa210e0 --- /dev/null +++ b/v45.0/Dockerfile.amd64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.4-amd64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 45.0.66 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v45.0/Dockerfile.arm64 b/v45.0/Dockerfile.arm64 new file mode 100644 index 00000000..fef4b778 --- /dev/null +++ b/v45.0/Dockerfile.arm64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.4-arm64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 45.0.66 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v45.0/overlay/etc/container.d/25-mods.sh b/v45.0/overlay/etc/container.d/25-mods.sh new file mode 100755 index 00000000..9d637eba --- /dev/null +++ b/v45.0/overlay/etc/container.d/25-mods.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ ! -d ${MINECRAFT_MODS_DIR} ]; then + echo "> creating mods dir" + mkdir -p ${MINECRAFT_MODS_DIR} +fi + +if [ -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ]; then + if [[ "${MINECRAFT_ENABLE_DYNMAP}" == "true" || "${MINECRAFT_ENABLE_DYNMAP}" == "1" ]]; then + echo "> enabling dynmap mod" + cp -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + + if [ ! -d ${MINECRAFT_DYNMAP_DIR} ]; then + echo "> creating dynmap dir" + mkdir -p ${MINECRAFT_DYNMAP_DIR} + fi + + if [ ! -L ${MINECRAFT_GAME_DIR}/dynmap ]; then + echo "> creating dynmap symlink" + ln -sf ${MINECRAFT_DYNMAP_DIR} ${MINECRAFT_GAME_DIR}/dynmap + fi + else + echo "> disabling dynmap mod" + rm -f ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + fi +fi diff --git a/v45.0/overlay/etc/entrypoint.d/20-forge.sh b/v45.0/overlay/etc/entrypoint.d/20-forge.sh new file mode 100755 index 00000000..472a5b59 --- /dev/null +++ b/v45.0/overlay/etc/entrypoint.d/20-forge.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +declare -x MINECRAFT_OPTIONALS_DIR +[[ -z "${MINECRAFT_OPTIONALS_DIR}" ]] && MINECRAFT_OPTIONALS_DIR="${MINECRAFT_GAME_DIR}/optionals" + +declare -x MINECRAFT_MODS_DIR +[[ -z "${MINECRAFT_MODS_DIR}" ]] && MINECRAFT_MODS_DIR="${MINECRAFT_GAME_DIR}/mods" + +declare -x MINECRAFT_DYNMAP_DIR +[[ -z "${MINECRAFT_DYNMAP_DIR}" ]] && MINECRAFT_DYNMAP_DIR="${MINECRAFT_DATA_DIR}/dynmap" + +declare -x MINECRAFT_ENABLE_DYNMAP +[[ -z "${MINECRAFT_ENABLE_DYNMAP}" ]] && MINECRAFT_ENABLE_DYNMAP="${SERVER_DYNMAP:-true}" + +true diff --git a/v45.0/overlay/usr/bin/container b/v45.0/overlay/usr/bin/container new file mode 100755 index 00000000..05ee7d39 --- /dev/null +++ b/v45.0/overlay/usr/bin/container @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +source /usr/bin/entrypoint + +for FILE in $(find /etc/container.d -type f -iname \*.sh | sort); do + source ${FILE} +done + +pushd ${MINECRAFT_GAME_DIR} >/dev/null + STARTCMD="su-exec minecraft java" + + if [ -n "${MINECRAFT_MAXHEAP}" ]; then + STARTCMD="${STARTCMD} -Xmx${MINECRAFT_MAXHEAP}" + fi + + if [ -n "${MINECRAFT_MINHEAP}" ]; then + STARTCMD="${STARTCMD} -Xms${MINECRAFT_MINHEAP}" + fi + + echo "> starting minecraft server" + exec ${STARTCMD} ${JAVA_OPTS} @libraries/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/unix_args.txt ${MINECRAFT_OPTS} +popd >/dev/null From 6fef2daaf76b30d5a715f4149d94324c6ebc70ad Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 18:00:04 +0100 Subject: [PATCH 07/14] feat: add new definition for 45.1 --- .github/workflows/v45.1.yml | 143 +++++++++++++++++++++ v45.1/Dockerfile.amd64 | 19 +++ v45.1/Dockerfile.arm64 | 19 +++ v45.1/overlay/etc/container.d/25-mods.sh | 26 ++++ v45.1/overlay/etc/entrypoint.d/20-forge.sh | 15 +++ v45.1/overlay/usr/bin/container | 22 ++++ 6 files changed, 244 insertions(+) create mode 100644 .github/workflows/v45.1.yml create mode 100644 v45.1/Dockerfile.amd64 create mode 100644 v45.1/Dockerfile.arm64 create mode 100755 v45.1/overlay/etc/container.d/25-mods.sh create mode 100755 v45.1/overlay/etc/entrypoint.d/20-forge.sh create mode 100755 v45.1/overlay/usr/bin/container diff --git a/.github/workflows/v45.1.yml b/.github/workflows/v45.1.yml new file mode 100644 index 00000000..c2bc8da2 --- /dev/null +++ b/.github/workflows/v45.1.yml @@ -0,0 +1,143 @@ +--- +name: v45.1 + +"on": + push: + branches: + - master + paths: + - v45.1/* + - .github/workflows/v45.1.yml + pull_request: + branches: + - master + paths: + - v45.1/* + - .github/workflows/v45.1.yml + workflow_dispatch: + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout source + id: source + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: | + webhippie/minecraft-forge + quay.io/webhippie/minecraft-forge + ghcr.io/dockhippie/minecraft-forge + labels: | + org.opencontainers.image.vendor=Webhippie + maintainer=Thomas Boerger + + - name: Setup QEMU + id: qemu + uses: docker/setup-qemu-action@v3 + + - name: Setup Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Hub login + id: login1 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Quay login + id: login2 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + + - name: Ghcr login + id: login3 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build amd64 + id: amd64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v45.1/ + provenance: false + file: v45.1/Dockerfile.amd64 + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:45.1-amd64 + quay.io/webhippie/minecraft-forge:45.1-amd64 + ghcr.io/dockhippie/minecraft-forge:45.1-amd64 + + - name: Build arm64 + id: arm64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v45.1/ + provenance: false + file: v45.1/Dockerfile.arm64 + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:45.1-arm64 + quay.io/webhippie/minecraft-forge:45.1-arm64 + ghcr.io/dockhippie/minecraft-forge:45.1-arm64 + + - name: Hub manifest + id: manifest1 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: webhippie/minecraft-forge:45.1-ARCH + target: webhippie/minecraft-forge:45.1 + ignore_missing: true + + - name: Quay manifest + id: manifest2 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: quay.io/webhippie/minecraft-forge:45.1-ARCH + target: quay.io/webhippie/minecraft-forge:45.1 + ignore_missing: true + + - name: Ghcr manifest + id: manifest3 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + platforms: linux/amd64,linux/arm64 + template: ghcr.io/dockhippie/minecraft-forge:45.1-ARCH + target: ghcr.io/dockhippie/minecraft-forge:45.1 + ignore_missing: true + +... diff --git a/v45.1/Dockerfile.amd64 b/v45.1/Dockerfile.amd64 new file mode 100644 index 00000000..e274ff21 --- /dev/null +++ b/v45.1/Dockerfile.amd64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.4-amd64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 45.1.19 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v45.1/Dockerfile.arm64 b/v45.1/Dockerfile.arm64 new file mode 100644 index 00000000..888f55f9 --- /dev/null +++ b/v45.1/Dockerfile.arm64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.4-arm64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 45.1.19 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v45.1/overlay/etc/container.d/25-mods.sh b/v45.1/overlay/etc/container.d/25-mods.sh new file mode 100755 index 00000000..9d637eba --- /dev/null +++ b/v45.1/overlay/etc/container.d/25-mods.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ ! -d ${MINECRAFT_MODS_DIR} ]; then + echo "> creating mods dir" + mkdir -p ${MINECRAFT_MODS_DIR} +fi + +if [ -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ]; then + if [[ "${MINECRAFT_ENABLE_DYNMAP}" == "true" || "${MINECRAFT_ENABLE_DYNMAP}" == "1" ]]; then + echo "> enabling dynmap mod" + cp -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + + if [ ! -d ${MINECRAFT_DYNMAP_DIR} ]; then + echo "> creating dynmap dir" + mkdir -p ${MINECRAFT_DYNMAP_DIR} + fi + + if [ ! -L ${MINECRAFT_GAME_DIR}/dynmap ]; then + echo "> creating dynmap symlink" + ln -sf ${MINECRAFT_DYNMAP_DIR} ${MINECRAFT_GAME_DIR}/dynmap + fi + else + echo "> disabling dynmap mod" + rm -f ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + fi +fi diff --git a/v45.1/overlay/etc/entrypoint.d/20-forge.sh b/v45.1/overlay/etc/entrypoint.d/20-forge.sh new file mode 100755 index 00000000..472a5b59 --- /dev/null +++ b/v45.1/overlay/etc/entrypoint.d/20-forge.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +declare -x MINECRAFT_OPTIONALS_DIR +[[ -z "${MINECRAFT_OPTIONALS_DIR}" ]] && MINECRAFT_OPTIONALS_DIR="${MINECRAFT_GAME_DIR}/optionals" + +declare -x MINECRAFT_MODS_DIR +[[ -z "${MINECRAFT_MODS_DIR}" ]] && MINECRAFT_MODS_DIR="${MINECRAFT_GAME_DIR}/mods" + +declare -x MINECRAFT_DYNMAP_DIR +[[ -z "${MINECRAFT_DYNMAP_DIR}" ]] && MINECRAFT_DYNMAP_DIR="${MINECRAFT_DATA_DIR}/dynmap" + +declare -x MINECRAFT_ENABLE_DYNMAP +[[ -z "${MINECRAFT_ENABLE_DYNMAP}" ]] && MINECRAFT_ENABLE_DYNMAP="${SERVER_DYNMAP:-true}" + +true diff --git a/v45.1/overlay/usr/bin/container b/v45.1/overlay/usr/bin/container new file mode 100755 index 00000000..05ee7d39 --- /dev/null +++ b/v45.1/overlay/usr/bin/container @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +source /usr/bin/entrypoint + +for FILE in $(find /etc/container.d -type f -iname \*.sh | sort); do + source ${FILE} +done + +pushd ${MINECRAFT_GAME_DIR} >/dev/null + STARTCMD="su-exec minecraft java" + + if [ -n "${MINECRAFT_MAXHEAP}" ]; then + STARTCMD="${STARTCMD} -Xmx${MINECRAFT_MAXHEAP}" + fi + + if [ -n "${MINECRAFT_MINHEAP}" ]; then + STARTCMD="${STARTCMD} -Xms${MINECRAFT_MINHEAP}" + fi + + echo "> starting minecraft server" + exec ${STARTCMD} ${JAVA_OPTS} @libraries/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/unix_args.txt ${MINECRAFT_OPTS} +popd >/dev/null From 9256666b8b4f1d6e853504c9b08ea3b87dcc518b Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 18:00:19 +0100 Subject: [PATCH 08/14] feat: add new definition for 45.2 --- .github/workflows/v45.2.yml | 143 +++++++++++++++++++++ v45.2/Dockerfile.amd64 | 19 +++ v45.2/Dockerfile.arm64 | 19 +++ v45.2/overlay/etc/container.d/25-mods.sh | 26 ++++ v45.2/overlay/etc/entrypoint.d/20-forge.sh | 15 +++ v45.2/overlay/usr/bin/container | 22 ++++ 6 files changed, 244 insertions(+) create mode 100644 .github/workflows/v45.2.yml create mode 100644 v45.2/Dockerfile.amd64 create mode 100644 v45.2/Dockerfile.arm64 create mode 100755 v45.2/overlay/etc/container.d/25-mods.sh create mode 100755 v45.2/overlay/etc/entrypoint.d/20-forge.sh create mode 100755 v45.2/overlay/usr/bin/container diff --git a/.github/workflows/v45.2.yml b/.github/workflows/v45.2.yml new file mode 100644 index 00000000..c3799966 --- /dev/null +++ b/.github/workflows/v45.2.yml @@ -0,0 +1,143 @@ +--- +name: v45.2 + +"on": + push: + branches: + - master + paths: + - v45.2/* + - .github/workflows/v45.2.yml + pull_request: + branches: + - master + paths: + - v45.2/* + - .github/workflows/v45.2.yml + workflow_dispatch: + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout source + id: source + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: | + webhippie/minecraft-forge + quay.io/webhippie/minecraft-forge + ghcr.io/dockhippie/minecraft-forge + labels: | + org.opencontainers.image.vendor=Webhippie + maintainer=Thomas Boerger + + - name: Setup QEMU + id: qemu + uses: docker/setup-qemu-action@v3 + + - name: Setup Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Hub login + id: login1 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Quay login + id: login2 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + + - name: Ghcr login + id: login3 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build amd64 + id: amd64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v45.2/ + provenance: false + file: v45.2/Dockerfile.amd64 + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:45.2-amd64 + quay.io/webhippie/minecraft-forge:45.2-amd64 + ghcr.io/dockhippie/minecraft-forge:45.2-amd64 + + - name: Build arm64 + id: arm64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v45.2/ + provenance: false + file: v45.2/Dockerfile.arm64 + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:45.2-arm64 + quay.io/webhippie/minecraft-forge:45.2-arm64 + ghcr.io/dockhippie/minecraft-forge:45.2-arm64 + + - name: Hub manifest + id: manifest1 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: webhippie/minecraft-forge:45.2-ARCH + target: webhippie/minecraft-forge:45.2 + ignore_missing: true + + - name: Quay manifest + id: manifest2 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: quay.io/webhippie/minecraft-forge:45.2-ARCH + target: quay.io/webhippie/minecraft-forge:45.2 + ignore_missing: true + + - name: Ghcr manifest + id: manifest3 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + platforms: linux/amd64,linux/arm64 + template: ghcr.io/dockhippie/minecraft-forge:45.2-ARCH + target: ghcr.io/dockhippie/minecraft-forge:45.2 + ignore_missing: true + +... diff --git a/v45.2/Dockerfile.amd64 b/v45.2/Dockerfile.amd64 new file mode 100644 index 00000000..a96cf427 --- /dev/null +++ b/v45.2/Dockerfile.amd64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.4-amd64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 45.2.6 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v45.2/Dockerfile.arm64 b/v45.2/Dockerfile.arm64 new file mode 100644 index 00000000..f6d9d08e --- /dev/null +++ b/v45.2/Dockerfile.arm64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.19.4-arm64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 45.2.6 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v45.2/overlay/etc/container.d/25-mods.sh b/v45.2/overlay/etc/container.d/25-mods.sh new file mode 100755 index 00000000..9d637eba --- /dev/null +++ b/v45.2/overlay/etc/container.d/25-mods.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ ! -d ${MINECRAFT_MODS_DIR} ]; then + echo "> creating mods dir" + mkdir -p ${MINECRAFT_MODS_DIR} +fi + +if [ -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ]; then + if [[ "${MINECRAFT_ENABLE_DYNMAP}" == "true" || "${MINECRAFT_ENABLE_DYNMAP}" == "1" ]]; then + echo "> enabling dynmap mod" + cp -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + + if [ ! -d ${MINECRAFT_DYNMAP_DIR} ]; then + echo "> creating dynmap dir" + mkdir -p ${MINECRAFT_DYNMAP_DIR} + fi + + if [ ! -L ${MINECRAFT_GAME_DIR}/dynmap ]; then + echo "> creating dynmap symlink" + ln -sf ${MINECRAFT_DYNMAP_DIR} ${MINECRAFT_GAME_DIR}/dynmap + fi + else + echo "> disabling dynmap mod" + rm -f ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + fi +fi diff --git a/v45.2/overlay/etc/entrypoint.d/20-forge.sh b/v45.2/overlay/etc/entrypoint.d/20-forge.sh new file mode 100755 index 00000000..472a5b59 --- /dev/null +++ b/v45.2/overlay/etc/entrypoint.d/20-forge.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +declare -x MINECRAFT_OPTIONALS_DIR +[[ -z "${MINECRAFT_OPTIONALS_DIR}" ]] && MINECRAFT_OPTIONALS_DIR="${MINECRAFT_GAME_DIR}/optionals" + +declare -x MINECRAFT_MODS_DIR +[[ -z "${MINECRAFT_MODS_DIR}" ]] && MINECRAFT_MODS_DIR="${MINECRAFT_GAME_DIR}/mods" + +declare -x MINECRAFT_DYNMAP_DIR +[[ -z "${MINECRAFT_DYNMAP_DIR}" ]] && MINECRAFT_DYNMAP_DIR="${MINECRAFT_DATA_DIR}/dynmap" + +declare -x MINECRAFT_ENABLE_DYNMAP +[[ -z "${MINECRAFT_ENABLE_DYNMAP}" ]] && MINECRAFT_ENABLE_DYNMAP="${SERVER_DYNMAP:-true}" + +true diff --git a/v45.2/overlay/usr/bin/container b/v45.2/overlay/usr/bin/container new file mode 100755 index 00000000..05ee7d39 --- /dev/null +++ b/v45.2/overlay/usr/bin/container @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +source /usr/bin/entrypoint + +for FILE in $(find /etc/container.d -type f -iname \*.sh | sort); do + source ${FILE} +done + +pushd ${MINECRAFT_GAME_DIR} >/dev/null + STARTCMD="su-exec minecraft java" + + if [ -n "${MINECRAFT_MAXHEAP}" ]; then + STARTCMD="${STARTCMD} -Xmx${MINECRAFT_MAXHEAP}" + fi + + if [ -n "${MINECRAFT_MINHEAP}" ]; then + STARTCMD="${STARTCMD} -Xms${MINECRAFT_MINHEAP}" + fi + + echo "> starting minecraft server" + exec ${STARTCMD} ${JAVA_OPTS} @libraries/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/unix_args.txt ${MINECRAFT_OPTS} +popd >/dev/null From 0c0a3362f79a3f954db6921ac9b33b5940122944 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 18:00:30 +0100 Subject: [PATCH 09/14] feat: add new definition for 46.0 --- .github/workflows/v46.0.yml | 143 +++++++++++++++++++++ v46.0/Dockerfile.amd64 | 19 +++ v46.0/Dockerfile.arm64 | 19 +++ v46.0/overlay/etc/container.d/25-mods.sh | 26 ++++ v46.0/overlay/etc/entrypoint.d/20-forge.sh | 15 +++ v46.0/overlay/usr/bin/container | 22 ++++ 6 files changed, 244 insertions(+) create mode 100644 .github/workflows/v46.0.yml create mode 100644 v46.0/Dockerfile.amd64 create mode 100644 v46.0/Dockerfile.arm64 create mode 100755 v46.0/overlay/etc/container.d/25-mods.sh create mode 100755 v46.0/overlay/etc/entrypoint.d/20-forge.sh create mode 100755 v46.0/overlay/usr/bin/container diff --git a/.github/workflows/v46.0.yml b/.github/workflows/v46.0.yml new file mode 100644 index 00000000..ee7ded16 --- /dev/null +++ b/.github/workflows/v46.0.yml @@ -0,0 +1,143 @@ +--- +name: v46.0 + +"on": + push: + branches: + - master + paths: + - v46.0/* + - .github/workflows/v46.0.yml + pull_request: + branches: + - master + paths: + - v46.0/* + - .github/workflows/v46.0.yml + workflow_dispatch: + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout source + id: source + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: | + webhippie/minecraft-forge + quay.io/webhippie/minecraft-forge + ghcr.io/dockhippie/minecraft-forge + labels: | + org.opencontainers.image.vendor=Webhippie + maintainer=Thomas Boerger + + - name: Setup QEMU + id: qemu + uses: docker/setup-qemu-action@v3 + + - name: Setup Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Hub login + id: login1 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Quay login + id: login2 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + + - name: Ghcr login + id: login3 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build amd64 + id: amd64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v46.0/ + provenance: false + file: v46.0/Dockerfile.amd64 + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:46.0-amd64 + quay.io/webhippie/minecraft-forge:46.0-amd64 + ghcr.io/dockhippie/minecraft-forge:46.0-amd64 + + - name: Build arm64 + id: arm64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v46.0/ + provenance: false + file: v46.0/Dockerfile.arm64 + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:46.0-arm64 + quay.io/webhippie/minecraft-forge:46.0-arm64 + ghcr.io/dockhippie/minecraft-forge:46.0-arm64 + + - name: Hub manifest + id: manifest1 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: webhippie/minecraft-forge:46.0-ARCH + target: webhippie/minecraft-forge:46.0 + ignore_missing: true + + - name: Quay manifest + id: manifest2 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: quay.io/webhippie/minecraft-forge:46.0-ARCH + target: quay.io/webhippie/minecraft-forge:46.0 + ignore_missing: true + + - name: Ghcr manifest + id: manifest3 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + platforms: linux/amd64,linux/arm64 + template: ghcr.io/dockhippie/minecraft-forge:46.0-ARCH + target: ghcr.io/dockhippie/minecraft-forge:46.0 + ignore_missing: true + +... diff --git a/v46.0/Dockerfile.amd64 b/v46.0/Dockerfile.amd64 new file mode 100644 index 00000000..33cfc489 --- /dev/null +++ b/v46.0/Dockerfile.amd64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20-amd64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 46.0.14 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v46.0/Dockerfile.arm64 b/v46.0/Dockerfile.arm64 new file mode 100644 index 00000000..8b4b2bb3 --- /dev/null +++ b/v46.0/Dockerfile.arm64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20-arm64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 46.0.14 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v46.0/overlay/etc/container.d/25-mods.sh b/v46.0/overlay/etc/container.d/25-mods.sh new file mode 100755 index 00000000..9d637eba --- /dev/null +++ b/v46.0/overlay/etc/container.d/25-mods.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ ! -d ${MINECRAFT_MODS_DIR} ]; then + echo "> creating mods dir" + mkdir -p ${MINECRAFT_MODS_DIR} +fi + +if [ -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ]; then + if [[ "${MINECRAFT_ENABLE_DYNMAP}" == "true" || "${MINECRAFT_ENABLE_DYNMAP}" == "1" ]]; then + echo "> enabling dynmap mod" + cp -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + + if [ ! -d ${MINECRAFT_DYNMAP_DIR} ]; then + echo "> creating dynmap dir" + mkdir -p ${MINECRAFT_DYNMAP_DIR} + fi + + if [ ! -L ${MINECRAFT_GAME_DIR}/dynmap ]; then + echo "> creating dynmap symlink" + ln -sf ${MINECRAFT_DYNMAP_DIR} ${MINECRAFT_GAME_DIR}/dynmap + fi + else + echo "> disabling dynmap mod" + rm -f ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + fi +fi diff --git a/v46.0/overlay/etc/entrypoint.d/20-forge.sh b/v46.0/overlay/etc/entrypoint.d/20-forge.sh new file mode 100755 index 00000000..472a5b59 --- /dev/null +++ b/v46.0/overlay/etc/entrypoint.d/20-forge.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +declare -x MINECRAFT_OPTIONALS_DIR +[[ -z "${MINECRAFT_OPTIONALS_DIR}" ]] && MINECRAFT_OPTIONALS_DIR="${MINECRAFT_GAME_DIR}/optionals" + +declare -x MINECRAFT_MODS_DIR +[[ -z "${MINECRAFT_MODS_DIR}" ]] && MINECRAFT_MODS_DIR="${MINECRAFT_GAME_DIR}/mods" + +declare -x MINECRAFT_DYNMAP_DIR +[[ -z "${MINECRAFT_DYNMAP_DIR}" ]] && MINECRAFT_DYNMAP_DIR="${MINECRAFT_DATA_DIR}/dynmap" + +declare -x MINECRAFT_ENABLE_DYNMAP +[[ -z "${MINECRAFT_ENABLE_DYNMAP}" ]] && MINECRAFT_ENABLE_DYNMAP="${SERVER_DYNMAP:-true}" + +true diff --git a/v46.0/overlay/usr/bin/container b/v46.0/overlay/usr/bin/container new file mode 100755 index 00000000..05ee7d39 --- /dev/null +++ b/v46.0/overlay/usr/bin/container @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +source /usr/bin/entrypoint + +for FILE in $(find /etc/container.d -type f -iname \*.sh | sort); do + source ${FILE} +done + +pushd ${MINECRAFT_GAME_DIR} >/dev/null + STARTCMD="su-exec minecraft java" + + if [ -n "${MINECRAFT_MAXHEAP}" ]; then + STARTCMD="${STARTCMD} -Xmx${MINECRAFT_MAXHEAP}" + fi + + if [ -n "${MINECRAFT_MINHEAP}" ]; then + STARTCMD="${STARTCMD} -Xms${MINECRAFT_MINHEAP}" + fi + + echo "> starting minecraft server" + exec ${STARTCMD} ${JAVA_OPTS} @libraries/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/unix_args.txt ${MINECRAFT_OPTS} +popd >/dev/null From 15994c957110aee1a0546d94b29cb79f9c9e3dd7 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 18:00:41 +0100 Subject: [PATCH 10/14] feat: add new definition for 47.0 --- .github/workflows/v47.0.yml | 143 +++++++++++++++++++++ v47.0/Dockerfile.amd64 | 19 +++ v47.0/Dockerfile.arm64 | 19 +++ v47.0/overlay/etc/container.d/25-mods.sh | 26 ++++ v47.0/overlay/etc/entrypoint.d/20-forge.sh | 15 +++ v47.0/overlay/usr/bin/container | 22 ++++ 6 files changed, 244 insertions(+) create mode 100644 .github/workflows/v47.0.yml create mode 100644 v47.0/Dockerfile.amd64 create mode 100644 v47.0/Dockerfile.arm64 create mode 100755 v47.0/overlay/etc/container.d/25-mods.sh create mode 100755 v47.0/overlay/etc/entrypoint.d/20-forge.sh create mode 100755 v47.0/overlay/usr/bin/container diff --git a/.github/workflows/v47.0.yml b/.github/workflows/v47.0.yml new file mode 100644 index 00000000..d129244f --- /dev/null +++ b/.github/workflows/v47.0.yml @@ -0,0 +1,143 @@ +--- +name: v47.0 + +"on": + push: + branches: + - master + paths: + - v47.0/* + - .github/workflows/v47.0.yml + pull_request: + branches: + - master + paths: + - v47.0/* + - .github/workflows/v47.0.yml + workflow_dispatch: + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout source + id: source + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: | + webhippie/minecraft-forge + quay.io/webhippie/minecraft-forge + ghcr.io/dockhippie/minecraft-forge + labels: | + org.opencontainers.image.vendor=Webhippie + maintainer=Thomas Boerger + + - name: Setup QEMU + id: qemu + uses: docker/setup-qemu-action@v3 + + - name: Setup Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Hub login + id: login1 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Quay login + id: login2 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + + - name: Ghcr login + id: login3 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build amd64 + id: amd64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v47.0/ + provenance: false + file: v47.0/Dockerfile.amd64 + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:47.0-amd64 + quay.io/webhippie/minecraft-forge:47.0-amd64 + ghcr.io/dockhippie/minecraft-forge:47.0-amd64 + + - name: Build arm64 + id: arm64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v47.0/ + provenance: false + file: v47.0/Dockerfile.arm64 + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:47.0-arm64 + quay.io/webhippie/minecraft-forge:47.0-arm64 + ghcr.io/dockhippie/minecraft-forge:47.0-arm64 + + - name: Hub manifest + id: manifest1 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: webhippie/minecraft-forge:47.0-ARCH + target: webhippie/minecraft-forge:47.0 + ignore_missing: true + + - name: Quay manifest + id: manifest2 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: quay.io/webhippie/minecraft-forge:47.0-ARCH + target: quay.io/webhippie/minecraft-forge:47.0 + ignore_missing: true + + - name: Ghcr manifest + id: manifest3 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + platforms: linux/amd64,linux/arm64 + template: ghcr.io/dockhippie/minecraft-forge:47.0-ARCH + target: ghcr.io/dockhippie/minecraft-forge:47.0 + ignore_missing: true + +... diff --git a/v47.0/Dockerfile.amd64 b/v47.0/Dockerfile.amd64 new file mode 100644 index 00000000..d6f8bf2f --- /dev/null +++ b/v47.0/Dockerfile.amd64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.1-amd64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 47.0.50 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v47.0/Dockerfile.arm64 b/v47.0/Dockerfile.arm64 new file mode 100644 index 00000000..5fff6142 --- /dev/null +++ b/v47.0/Dockerfile.arm64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.1-arm64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 47.0.50 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v47.0/overlay/etc/container.d/25-mods.sh b/v47.0/overlay/etc/container.d/25-mods.sh new file mode 100755 index 00000000..9d637eba --- /dev/null +++ b/v47.0/overlay/etc/container.d/25-mods.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ ! -d ${MINECRAFT_MODS_DIR} ]; then + echo "> creating mods dir" + mkdir -p ${MINECRAFT_MODS_DIR} +fi + +if [ -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ]; then + if [[ "${MINECRAFT_ENABLE_DYNMAP}" == "true" || "${MINECRAFT_ENABLE_DYNMAP}" == "1" ]]; then + echo "> enabling dynmap mod" + cp -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + + if [ ! -d ${MINECRAFT_DYNMAP_DIR} ]; then + echo "> creating dynmap dir" + mkdir -p ${MINECRAFT_DYNMAP_DIR} + fi + + if [ ! -L ${MINECRAFT_GAME_DIR}/dynmap ]; then + echo "> creating dynmap symlink" + ln -sf ${MINECRAFT_DYNMAP_DIR} ${MINECRAFT_GAME_DIR}/dynmap + fi + else + echo "> disabling dynmap mod" + rm -f ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + fi +fi diff --git a/v47.0/overlay/etc/entrypoint.d/20-forge.sh b/v47.0/overlay/etc/entrypoint.d/20-forge.sh new file mode 100755 index 00000000..472a5b59 --- /dev/null +++ b/v47.0/overlay/etc/entrypoint.d/20-forge.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +declare -x MINECRAFT_OPTIONALS_DIR +[[ -z "${MINECRAFT_OPTIONALS_DIR}" ]] && MINECRAFT_OPTIONALS_DIR="${MINECRAFT_GAME_DIR}/optionals" + +declare -x MINECRAFT_MODS_DIR +[[ -z "${MINECRAFT_MODS_DIR}" ]] && MINECRAFT_MODS_DIR="${MINECRAFT_GAME_DIR}/mods" + +declare -x MINECRAFT_DYNMAP_DIR +[[ -z "${MINECRAFT_DYNMAP_DIR}" ]] && MINECRAFT_DYNMAP_DIR="${MINECRAFT_DATA_DIR}/dynmap" + +declare -x MINECRAFT_ENABLE_DYNMAP +[[ -z "${MINECRAFT_ENABLE_DYNMAP}" ]] && MINECRAFT_ENABLE_DYNMAP="${SERVER_DYNMAP:-true}" + +true diff --git a/v47.0/overlay/usr/bin/container b/v47.0/overlay/usr/bin/container new file mode 100755 index 00000000..05ee7d39 --- /dev/null +++ b/v47.0/overlay/usr/bin/container @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +source /usr/bin/entrypoint + +for FILE in $(find /etc/container.d -type f -iname \*.sh | sort); do + source ${FILE} +done + +pushd ${MINECRAFT_GAME_DIR} >/dev/null + STARTCMD="su-exec minecraft java" + + if [ -n "${MINECRAFT_MAXHEAP}" ]; then + STARTCMD="${STARTCMD} -Xmx${MINECRAFT_MAXHEAP}" + fi + + if [ -n "${MINECRAFT_MINHEAP}" ]; then + STARTCMD="${STARTCMD} -Xms${MINECRAFT_MINHEAP}" + fi + + echo "> starting minecraft server" + exec ${STARTCMD} ${JAVA_OPTS} @libraries/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/unix_args.txt ${MINECRAFT_OPTS} +popd >/dev/null From 1b9ede934c7c9512847099c81b3e82c86735a278 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 18:00:51 +0100 Subject: [PATCH 11/14] feat: add new definition for 47.1 --- .github/workflows/v47.1.yml | 143 +++++++++++++++++++++ v47.1/Dockerfile.amd64 | 19 +++ v47.1/Dockerfile.arm64 | 19 +++ v47.1/overlay/etc/container.d/25-mods.sh | 26 ++++ v47.1/overlay/etc/entrypoint.d/20-forge.sh | 15 +++ v47.1/overlay/usr/bin/container | 22 ++++ 6 files changed, 244 insertions(+) create mode 100644 .github/workflows/v47.1.yml create mode 100644 v47.1/Dockerfile.amd64 create mode 100644 v47.1/Dockerfile.arm64 create mode 100755 v47.1/overlay/etc/container.d/25-mods.sh create mode 100755 v47.1/overlay/etc/entrypoint.d/20-forge.sh create mode 100755 v47.1/overlay/usr/bin/container diff --git a/.github/workflows/v47.1.yml b/.github/workflows/v47.1.yml new file mode 100644 index 00000000..acd3429a --- /dev/null +++ b/.github/workflows/v47.1.yml @@ -0,0 +1,143 @@ +--- +name: v47.1 + +"on": + push: + branches: + - master + paths: + - v47.1/* + - .github/workflows/v47.1.yml + pull_request: + branches: + - master + paths: + - v47.1/* + - .github/workflows/v47.1.yml + workflow_dispatch: + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout source + id: source + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: | + webhippie/minecraft-forge + quay.io/webhippie/minecraft-forge + ghcr.io/dockhippie/minecraft-forge + labels: | + org.opencontainers.image.vendor=Webhippie + maintainer=Thomas Boerger + + - name: Setup QEMU + id: qemu + uses: docker/setup-qemu-action@v3 + + - name: Setup Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Hub login + id: login1 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Quay login + id: login2 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + + - name: Ghcr login + id: login3 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build amd64 + id: amd64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v47.1/ + provenance: false + file: v47.1/Dockerfile.amd64 + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:47.1-amd64 + quay.io/webhippie/minecraft-forge:47.1-amd64 + ghcr.io/dockhippie/minecraft-forge:47.1-amd64 + + - name: Build arm64 + id: arm64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v47.1/ + provenance: false + file: v47.1/Dockerfile.arm64 + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:47.1-arm64 + quay.io/webhippie/minecraft-forge:47.1-arm64 + ghcr.io/dockhippie/minecraft-forge:47.1-arm64 + + - name: Hub manifest + id: manifest1 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: webhippie/minecraft-forge:47.1-ARCH + target: webhippie/minecraft-forge:47.1 + ignore_missing: true + + - name: Quay manifest + id: manifest2 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: quay.io/webhippie/minecraft-forge:47.1-ARCH + target: quay.io/webhippie/minecraft-forge:47.1 + ignore_missing: true + + - name: Ghcr manifest + id: manifest3 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + platforms: linux/amd64,linux/arm64 + template: ghcr.io/dockhippie/minecraft-forge:47.1-ARCH + target: ghcr.io/dockhippie/minecraft-forge:47.1 + ignore_missing: true + +... diff --git a/v47.1/Dockerfile.amd64 b/v47.1/Dockerfile.amd64 new file mode 100644 index 00000000..2ff7eec9 --- /dev/null +++ b/v47.1/Dockerfile.amd64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.1-amd64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 47.1.47 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v47.1/Dockerfile.arm64 b/v47.1/Dockerfile.arm64 new file mode 100644 index 00000000..f88c9002 --- /dev/null +++ b/v47.1/Dockerfile.arm64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.1-arm64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 47.1.47 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v47.1/overlay/etc/container.d/25-mods.sh b/v47.1/overlay/etc/container.d/25-mods.sh new file mode 100755 index 00000000..9d637eba --- /dev/null +++ b/v47.1/overlay/etc/container.d/25-mods.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ ! -d ${MINECRAFT_MODS_DIR} ]; then + echo "> creating mods dir" + mkdir -p ${MINECRAFT_MODS_DIR} +fi + +if [ -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ]; then + if [[ "${MINECRAFT_ENABLE_DYNMAP}" == "true" || "${MINECRAFT_ENABLE_DYNMAP}" == "1" ]]; then + echo "> enabling dynmap mod" + cp -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + + if [ ! -d ${MINECRAFT_DYNMAP_DIR} ]; then + echo "> creating dynmap dir" + mkdir -p ${MINECRAFT_DYNMAP_DIR} + fi + + if [ ! -L ${MINECRAFT_GAME_DIR}/dynmap ]; then + echo "> creating dynmap symlink" + ln -sf ${MINECRAFT_DYNMAP_DIR} ${MINECRAFT_GAME_DIR}/dynmap + fi + else + echo "> disabling dynmap mod" + rm -f ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + fi +fi diff --git a/v47.1/overlay/etc/entrypoint.d/20-forge.sh b/v47.1/overlay/etc/entrypoint.d/20-forge.sh new file mode 100755 index 00000000..472a5b59 --- /dev/null +++ b/v47.1/overlay/etc/entrypoint.d/20-forge.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +declare -x MINECRAFT_OPTIONALS_DIR +[[ -z "${MINECRAFT_OPTIONALS_DIR}" ]] && MINECRAFT_OPTIONALS_DIR="${MINECRAFT_GAME_DIR}/optionals" + +declare -x MINECRAFT_MODS_DIR +[[ -z "${MINECRAFT_MODS_DIR}" ]] && MINECRAFT_MODS_DIR="${MINECRAFT_GAME_DIR}/mods" + +declare -x MINECRAFT_DYNMAP_DIR +[[ -z "${MINECRAFT_DYNMAP_DIR}" ]] && MINECRAFT_DYNMAP_DIR="${MINECRAFT_DATA_DIR}/dynmap" + +declare -x MINECRAFT_ENABLE_DYNMAP +[[ -z "${MINECRAFT_ENABLE_DYNMAP}" ]] && MINECRAFT_ENABLE_DYNMAP="${SERVER_DYNMAP:-true}" + +true diff --git a/v47.1/overlay/usr/bin/container b/v47.1/overlay/usr/bin/container new file mode 100755 index 00000000..05ee7d39 --- /dev/null +++ b/v47.1/overlay/usr/bin/container @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +source /usr/bin/entrypoint + +for FILE in $(find /etc/container.d -type f -iname \*.sh | sort); do + source ${FILE} +done + +pushd ${MINECRAFT_GAME_DIR} >/dev/null + STARTCMD="su-exec minecraft java" + + if [ -n "${MINECRAFT_MAXHEAP}" ]; then + STARTCMD="${STARTCMD} -Xmx${MINECRAFT_MAXHEAP}" + fi + + if [ -n "${MINECRAFT_MINHEAP}" ]; then + STARTCMD="${STARTCMD} -Xms${MINECRAFT_MINHEAP}" + fi + + echo "> starting minecraft server" + exec ${STARTCMD} ${JAVA_OPTS} @libraries/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/unix_args.txt ${MINECRAFT_OPTS} +popd >/dev/null From 31224e97d23bac6fadb8555718535fe1791f9d7d Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 18:01:02 +0100 Subject: [PATCH 12/14] feat: add new definition for 47.2 --- .github/workflows/v47.2.yml | 143 +++++++++++++++++++++ v47.2/Dockerfile.amd64 | 19 +++ v47.2/Dockerfile.arm64 | 19 +++ v47.2/overlay/etc/container.d/25-mods.sh | 26 ++++ v47.2/overlay/etc/entrypoint.d/20-forge.sh | 15 +++ v47.2/overlay/usr/bin/container | 22 ++++ 6 files changed, 244 insertions(+) create mode 100644 .github/workflows/v47.2.yml create mode 100644 v47.2/Dockerfile.amd64 create mode 100644 v47.2/Dockerfile.arm64 create mode 100755 v47.2/overlay/etc/container.d/25-mods.sh create mode 100755 v47.2/overlay/etc/entrypoint.d/20-forge.sh create mode 100755 v47.2/overlay/usr/bin/container diff --git a/.github/workflows/v47.2.yml b/.github/workflows/v47.2.yml new file mode 100644 index 00000000..309b9420 --- /dev/null +++ b/.github/workflows/v47.2.yml @@ -0,0 +1,143 @@ +--- +name: v47.2 + +"on": + push: + branches: + - master + paths: + - v47.2/* + - .github/workflows/v47.2.yml + pull_request: + branches: + - master + paths: + - v47.2/* + - .github/workflows/v47.2.yml + workflow_dispatch: + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout source + id: source + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: | + webhippie/minecraft-forge + quay.io/webhippie/minecraft-forge + ghcr.io/dockhippie/minecraft-forge + labels: | + org.opencontainers.image.vendor=Webhippie + maintainer=Thomas Boerger + + - name: Setup QEMU + id: qemu + uses: docker/setup-qemu-action@v3 + + - name: Setup Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Hub login + id: login1 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Quay login + id: login2 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + + - name: Ghcr login + id: login3 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build amd64 + id: amd64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v47.2/ + provenance: false + file: v47.2/Dockerfile.amd64 + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:47.2-amd64 + quay.io/webhippie/minecraft-forge:47.2-amd64 + ghcr.io/dockhippie/minecraft-forge:47.2-amd64 + + - name: Build arm64 + id: arm64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v47.2/ + provenance: false + file: v47.2/Dockerfile.arm64 + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:47.2-arm64 + quay.io/webhippie/minecraft-forge:47.2-arm64 + ghcr.io/dockhippie/minecraft-forge:47.2-arm64 + + - name: Hub manifest + id: manifest1 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: webhippie/minecraft-forge:47.2-ARCH + target: webhippie/minecraft-forge:47.2 + ignore_missing: true + + - name: Quay manifest + id: manifest2 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: quay.io/webhippie/minecraft-forge:47.2-ARCH + target: quay.io/webhippie/minecraft-forge:47.2 + ignore_missing: true + + - name: Ghcr manifest + id: manifest3 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + platforms: linux/amd64,linux/arm64 + template: ghcr.io/dockhippie/minecraft-forge:47.2-ARCH + target: ghcr.io/dockhippie/minecraft-forge:47.2 + ignore_missing: true + +... diff --git a/v47.2/Dockerfile.amd64 b/v47.2/Dockerfile.amd64 new file mode 100644 index 00000000..be687988 --- /dev/null +++ b/v47.2/Dockerfile.amd64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.1-amd64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 47.2.6 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v47.2/Dockerfile.arm64 b/v47.2/Dockerfile.arm64 new file mode 100644 index 00000000..d204f12b --- /dev/null +++ b/v47.2/Dockerfile.arm64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.1-arm64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 47.2.6 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v47.2/overlay/etc/container.d/25-mods.sh b/v47.2/overlay/etc/container.d/25-mods.sh new file mode 100755 index 00000000..9d637eba --- /dev/null +++ b/v47.2/overlay/etc/container.d/25-mods.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ ! -d ${MINECRAFT_MODS_DIR} ]; then + echo "> creating mods dir" + mkdir -p ${MINECRAFT_MODS_DIR} +fi + +if [ -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ]; then + if [[ "${MINECRAFT_ENABLE_DYNMAP}" == "true" || "${MINECRAFT_ENABLE_DYNMAP}" == "1" ]]; then + echo "> enabling dynmap mod" + cp -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + + if [ ! -d ${MINECRAFT_DYNMAP_DIR} ]; then + echo "> creating dynmap dir" + mkdir -p ${MINECRAFT_DYNMAP_DIR} + fi + + if [ ! -L ${MINECRAFT_GAME_DIR}/dynmap ]; then + echo "> creating dynmap symlink" + ln -sf ${MINECRAFT_DYNMAP_DIR} ${MINECRAFT_GAME_DIR}/dynmap + fi + else + echo "> disabling dynmap mod" + rm -f ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + fi +fi diff --git a/v47.2/overlay/etc/entrypoint.d/20-forge.sh b/v47.2/overlay/etc/entrypoint.d/20-forge.sh new file mode 100755 index 00000000..472a5b59 --- /dev/null +++ b/v47.2/overlay/etc/entrypoint.d/20-forge.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +declare -x MINECRAFT_OPTIONALS_DIR +[[ -z "${MINECRAFT_OPTIONALS_DIR}" ]] && MINECRAFT_OPTIONALS_DIR="${MINECRAFT_GAME_DIR}/optionals" + +declare -x MINECRAFT_MODS_DIR +[[ -z "${MINECRAFT_MODS_DIR}" ]] && MINECRAFT_MODS_DIR="${MINECRAFT_GAME_DIR}/mods" + +declare -x MINECRAFT_DYNMAP_DIR +[[ -z "${MINECRAFT_DYNMAP_DIR}" ]] && MINECRAFT_DYNMAP_DIR="${MINECRAFT_DATA_DIR}/dynmap" + +declare -x MINECRAFT_ENABLE_DYNMAP +[[ -z "${MINECRAFT_ENABLE_DYNMAP}" ]] && MINECRAFT_ENABLE_DYNMAP="${SERVER_DYNMAP:-true}" + +true diff --git a/v47.2/overlay/usr/bin/container b/v47.2/overlay/usr/bin/container new file mode 100755 index 00000000..05ee7d39 --- /dev/null +++ b/v47.2/overlay/usr/bin/container @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +source /usr/bin/entrypoint + +for FILE in $(find /etc/container.d -type f -iname \*.sh | sort); do + source ${FILE} +done + +pushd ${MINECRAFT_GAME_DIR} >/dev/null + STARTCMD="su-exec minecraft java" + + if [ -n "${MINECRAFT_MAXHEAP}" ]; then + STARTCMD="${STARTCMD} -Xmx${MINECRAFT_MAXHEAP}" + fi + + if [ -n "${MINECRAFT_MINHEAP}" ]; then + STARTCMD="${STARTCMD} -Xms${MINECRAFT_MINHEAP}" + fi + + echo "> starting minecraft server" + exec ${STARTCMD} ${JAVA_OPTS} @libraries/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/unix_args.txt ${MINECRAFT_OPTS} +popd >/dev/null From a53d611a213602a6c7ac928e5952c0ee975a28ec Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 18:01:14 +0100 Subject: [PATCH 13/14] feat: add new definition for 48.0 --- .github/workflows/v48.0.yml | 143 +++++++++++++++++++++ v48.0/Dockerfile.amd64 | 19 +++ v48.0/Dockerfile.arm64 | 19 +++ v48.0/overlay/etc/container.d/25-mods.sh | 26 ++++ v48.0/overlay/etc/entrypoint.d/20-forge.sh | 15 +++ v48.0/overlay/usr/bin/container | 22 ++++ 6 files changed, 244 insertions(+) create mode 100644 .github/workflows/v48.0.yml create mode 100644 v48.0/Dockerfile.amd64 create mode 100644 v48.0/Dockerfile.arm64 create mode 100755 v48.0/overlay/etc/container.d/25-mods.sh create mode 100755 v48.0/overlay/etc/entrypoint.d/20-forge.sh create mode 100755 v48.0/overlay/usr/bin/container diff --git a/.github/workflows/v48.0.yml b/.github/workflows/v48.0.yml new file mode 100644 index 00000000..a7a38730 --- /dev/null +++ b/.github/workflows/v48.0.yml @@ -0,0 +1,143 @@ +--- +name: v48.0 + +"on": + push: + branches: + - master + paths: + - v48.0/* + - .github/workflows/v48.0.yml + pull_request: + branches: + - master + paths: + - v48.0/* + - .github/workflows/v48.0.yml + workflow_dispatch: + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout source + id: source + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + images: | + webhippie/minecraft-forge + quay.io/webhippie/minecraft-forge + ghcr.io/dockhippie/minecraft-forge + labels: | + org.opencontainers.image.vendor=Webhippie + maintainer=Thomas Boerger + + - name: Setup QEMU + id: qemu + uses: docker/setup-qemu-action@v3 + + - name: Setup Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Hub login + id: login1 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Quay login + id: login2 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + + - name: Ghcr login + id: login3 + uses: docker/login-action@v3 + if: github.event_name != 'pull_request' + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build amd64 + id: amd64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v48.0/ + provenance: false + file: v48.0/Dockerfile.amd64 + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:48.0-amd64 + quay.io/webhippie/minecraft-forge:48.0-amd64 + ghcr.io/dockhippie/minecraft-forge:48.0-amd64 + + - name: Build arm64 + id: arm64 + uses: docker/build-push-action@v5 + with: + builder: ${{ steps.buildx.outputs.name }} + context: v48.0/ + provenance: false + file: v48.0/Dockerfile.arm64 + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + labels: ${{ steps.meta.outputs.labels }} + tags: | + webhippie/minecraft-forge:48.0-arm64 + quay.io/webhippie/minecraft-forge:48.0-arm64 + ghcr.io/dockhippie/minecraft-forge:48.0-arm64 + + - name: Hub manifest + id: manifest1 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: webhippie/minecraft-forge:48.0-ARCH + target: webhippie/minecraft-forge:48.0 + ignore_missing: true + + - name: Quay manifest + id: manifest2 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + platforms: linux/amd64,linux/arm64 + template: quay.io/webhippie/minecraft-forge:48.0-ARCH + target: quay.io/webhippie/minecraft-forge:48.0 + ignore_missing: true + + - name: Ghcr manifest + id: manifest3 + uses: actionhippie/manifest@v1 + if: github.event_name != 'pull_request' + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + platforms: linux/amd64,linux/arm64 + template: ghcr.io/dockhippie/minecraft-forge:48.0-ARCH + target: ghcr.io/dockhippie/minecraft-forge:48.0 + ignore_missing: true + +... diff --git a/v48.0/Dockerfile.amd64 b/v48.0/Dockerfile.amd64 new file mode 100644 index 00000000..8d1be778 --- /dev/null +++ b/v48.0/Dockerfile.amd64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.2-amd64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 48.0.14 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v48.0/Dockerfile.arm64 b/v48.0/Dockerfile.arm64 new file mode 100644 index 00000000..1f9dbff0 --- /dev/null +++ b/v48.0/Dockerfile.arm64 @@ -0,0 +1,19 @@ +FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.2-arm64 AS build + +EXPOSE 25565 25575 + +ENV FORGE_VERSION 48.0.14 +ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y libatomic1 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + curl --create-dirs -sLo /usr/share/minecraft/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar ${FORGE_URL} && \ + cd /usr/share/minecraft && \ + mkdir mods && \ + java -jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar --installServer && \ + rm -f forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar.log run.bat run.sh + +COPY ./overlay / diff --git a/v48.0/overlay/etc/container.d/25-mods.sh b/v48.0/overlay/etc/container.d/25-mods.sh new file mode 100755 index 00000000..9d637eba --- /dev/null +++ b/v48.0/overlay/etc/container.d/25-mods.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ ! -d ${MINECRAFT_MODS_DIR} ]; then + echo "> creating mods dir" + mkdir -p ${MINECRAFT_MODS_DIR} +fi + +if [ -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ]; then + if [[ "${MINECRAFT_ENABLE_DYNMAP}" == "true" || "${MINECRAFT_ENABLE_DYNMAP}" == "1" ]]; then + echo "> enabling dynmap mod" + cp -f ${MINECRAFT_OPTIONALS_DIR}/${DYNMAP_JAR} ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + + if [ ! -d ${MINECRAFT_DYNMAP_DIR} ]; then + echo "> creating dynmap dir" + mkdir -p ${MINECRAFT_DYNMAP_DIR} + fi + + if [ ! -L ${MINECRAFT_GAME_DIR}/dynmap ]; then + echo "> creating dynmap symlink" + ln -sf ${MINECRAFT_DYNMAP_DIR} ${MINECRAFT_GAME_DIR}/dynmap + fi + else + echo "> disabling dynmap mod" + rm -f ${MINECRAFT_MODS_DIR}/${DYNMAP_JAR} + fi +fi diff --git a/v48.0/overlay/etc/entrypoint.d/20-forge.sh b/v48.0/overlay/etc/entrypoint.d/20-forge.sh new file mode 100755 index 00000000..472a5b59 --- /dev/null +++ b/v48.0/overlay/etc/entrypoint.d/20-forge.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +declare -x MINECRAFT_OPTIONALS_DIR +[[ -z "${MINECRAFT_OPTIONALS_DIR}" ]] && MINECRAFT_OPTIONALS_DIR="${MINECRAFT_GAME_DIR}/optionals" + +declare -x MINECRAFT_MODS_DIR +[[ -z "${MINECRAFT_MODS_DIR}" ]] && MINECRAFT_MODS_DIR="${MINECRAFT_GAME_DIR}/mods" + +declare -x MINECRAFT_DYNMAP_DIR +[[ -z "${MINECRAFT_DYNMAP_DIR}" ]] && MINECRAFT_DYNMAP_DIR="${MINECRAFT_DATA_DIR}/dynmap" + +declare -x MINECRAFT_ENABLE_DYNMAP +[[ -z "${MINECRAFT_ENABLE_DYNMAP}" ]] && MINECRAFT_ENABLE_DYNMAP="${SERVER_DYNMAP:-true}" + +true diff --git a/v48.0/overlay/usr/bin/container b/v48.0/overlay/usr/bin/container new file mode 100755 index 00000000..05ee7d39 --- /dev/null +++ b/v48.0/overlay/usr/bin/container @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -eo pipefail +source /usr/bin/entrypoint + +for FILE in $(find /etc/container.d -type f -iname \*.sh | sort); do + source ${FILE} +done + +pushd ${MINECRAFT_GAME_DIR} >/dev/null + STARTCMD="su-exec minecraft java" + + if [ -n "${MINECRAFT_MAXHEAP}" ]; then + STARTCMD="${STARTCMD} -Xmx${MINECRAFT_MAXHEAP}" + fi + + if [ -n "${MINECRAFT_MINHEAP}" ]; then + STARTCMD="${STARTCMD} -Xms${MINECRAFT_MINHEAP}" + fi + + echo "> starting minecraft server" + exec ${STARTCMD} ${JAVA_OPTS} @libraries/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/unix_args.txt ${MINECRAFT_OPTS} +popd >/dev/null From 83571a892eef782637e7c24cd8b13a6ec5414757 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Sat, 18 Nov 2023 19:21:04 +0100 Subject: [PATCH 14/14] fix: use valid versions for latest and 48.0 --- latest/Dockerfile.amd64 | 2 +- latest/Dockerfile.arm64 | 2 +- v48.0/Dockerfile.amd64 | 2 +- v48.0/Dockerfile.arm64 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/latest/Dockerfile.amd64 b/latest/Dockerfile.amd64 index 8d1be778..9dbc3445 100644 --- a/latest/Dockerfile.amd64 +++ b/latest/Dockerfile.amd64 @@ -2,7 +2,7 @@ FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.2-amd64 AS build EXPOSE 25565 25575 -ENV FORGE_VERSION 48.0.14 +ENV FORGE_VERSION 48.0.40 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \ diff --git a/latest/Dockerfile.arm64 b/latest/Dockerfile.arm64 index 1f9dbff0..0a2f1423 100644 --- a/latest/Dockerfile.arm64 +++ b/latest/Dockerfile.arm64 @@ -2,7 +2,7 @@ FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.2-arm64 AS build EXPOSE 25565 25575 -ENV FORGE_VERSION 48.0.14 +ENV FORGE_VERSION 48.0.40 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \ diff --git a/v48.0/Dockerfile.amd64 b/v48.0/Dockerfile.amd64 index 8d1be778..9dbc3445 100644 --- a/v48.0/Dockerfile.amd64 +++ b/v48.0/Dockerfile.amd64 @@ -2,7 +2,7 @@ FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.2-amd64 AS build EXPOSE 25565 25575 -ENV FORGE_VERSION 48.0.14 +ENV FORGE_VERSION 48.0.40 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \ diff --git a/v48.0/Dockerfile.arm64 b/v48.0/Dockerfile.arm64 index 1f9dbff0..0a2f1423 100644 --- a/v48.0/Dockerfile.arm64 +++ b/v48.0/Dockerfile.arm64 @@ -2,7 +2,7 @@ FROM ghcr.io/dockhippie/minecraft-vanilla:1.20.2-arm64 AS build EXPOSE 25565 25575 -ENV FORGE_VERSION 48.0.14 +ENV FORGE_VERSION 48.0.40 ENV FORGE_URL https://maven.minecraftforge.net/net/minecraftforge/forge/${MINECRAFT_VERSION}-${FORGE_VERSION}/forge-${MINECRAFT_VERSION}-${FORGE_VERSION}-installer.jar RUN apt-get update && \