Compare commits
1 Commits
remove-num
...
truck-sim
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ea76034350 |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1 +0,0 @@
|
|||||||
* text eol=lf
|
|
6
.github/workflows/apps.yml
vendored
6
.github/workflows/apps.yml
vendored
@@ -32,12 +32,12 @@ jobs:
|
|||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
|
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./apps/${{ matrix.app }}
|
context: ./apps/${{ matrix.app }}
|
||||||
file: ./apps/${{ matrix.app }}/Dockerfile
|
file: ./apps/${{ matrix.app }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/apps:${{ matrix.app }}
|
ghcr.io/pelican-eggs/apps:${{ matrix.app }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/apps:{0}', matrix.app) || '' }}
|
ghcr.io/parkervcp/apps:${{ matrix.app }}
|
||||||
|
6
.github/workflows/base.yml
vendored
6
.github/workflows/base.yml
vendored
@@ -30,12 +30,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./oses/${{ matrix.oses }}
|
context: ./oses/${{ matrix.oses }}
|
||||||
file: ./oses/${{ matrix.oses }}/Dockerfile
|
file: ./oses/${{ matrix.oses }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:${{ matrix.oses }}
|
ghcr.io/pelican-eggs/yolks:${{ matrix.oses }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:{0}', matrix.oses) || '' }}
|
ghcr.io/parkervcp/yolks:${{ matrix.oses }}
|
||||||
|
10
.github/workflows/bot.yml
vendored
10
.github/workflows/bot.yml
vendored
@@ -41,7 +41,7 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./bot/${{ matrix.tag }}
|
context: ./bot/${{ matrix.tag }}
|
||||||
file: ./bot/${{ matrix.tag }}/Dockerfile
|
file: ./bot/${{ matrix.tag }}/Dockerfile
|
||||||
@@ -50,8 +50,8 @@ jobs:
|
|||||||
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:bot_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:bot_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:bot_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:bot_${{ matrix.tag }}
|
||||||
- name: Move cache
|
- name: Move cache
|
||||||
run: |
|
run: |
|
||||||
rm -rf /tmp/.buildx-cache
|
rm -rf /tmp/.buildx-cache
|
||||||
@@ -76,11 +76,11 @@ jobs:
|
|||||||
# registry: ghcr.io
|
# registry: ghcr.io
|
||||||
# username: ${{ github.repository_owner }}
|
# username: ${{ github.repository_owner }}
|
||||||
# password: ${{ secrets.REGISTRY_TOKEN }}
|
# password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
# - uses: docker/build-push-action@v6
|
# - uses: docker/build-push-action@v5
|
||||||
# with:
|
# with:
|
||||||
# context: ./bot/${{ matrix.tag }}
|
# context: ./bot/${{ matrix.tag }}
|
||||||
# file: ./bot/${{ matrix.tag }}/Dockerfile
|
# file: ./bot/${{ matrix.tag }}/Dockerfile
|
||||||
# platforms: linux/amd64
|
# platforms: linux/amd64
|
||||||
# push: true
|
# push: true
|
||||||
# tags: |
|
# tags: |
|
||||||
# ${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:bot_{0}', matrix.tag) || '' }}
|
# ghcr.io/parkervcp/yolks:bot_${{ matrix.tag }}
|
||||||
|
78
.github/workflows/box64.yml
vendored
78
.github/workflows/box64.yml
vendored
@@ -1,39 +1,39 @@
|
|||||||
name: build box64
|
name: build box64
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * 1"
|
- cron: "0 0 * * 1"
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths:
|
paths:
|
||||||
- box64/**
|
- box64/**
|
||||||
jobs:
|
jobs:
|
||||||
push:
|
push:
|
||||||
name: "yolks:${{ matrix.tag }}"
|
name: "yolks:${{ matrix.tag }}"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
tag:
|
tag:
|
||||||
- box64
|
- box64
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: docker/setup-qemu-action@v3
|
- uses: docker/setup-qemu-action@v3
|
||||||
- uses: docker/setup-buildx-action@v3
|
- uses: docker/setup-buildx-action@v3
|
||||||
with:
|
with:
|
||||||
buildkitd-flags: --debug
|
buildkitd-flags: --debug
|
||||||
- uses: docker/login-action@v3
|
- uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./box64
|
context: ./box64
|
||||||
file: ./${{ matrix.tag }}/Dockerfile
|
file: ./${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/arm64
|
platforms: linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:${{ matrix.tag }}
|
||||||
|
6
.github/workflows/bun.yml
vendored
6
.github/workflows/bun.yml
vendored
@@ -29,12 +29,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./bun
|
context: ./bun
|
||||||
file: ./bun/${{ matrix.tag }}/Dockerfile
|
file: ./bun/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:bun_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:bun_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:bun_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:bun_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/cassandra.yml
vendored
6
.github/workflows/cassandra.yml
vendored
@@ -28,12 +28,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./cassandra
|
context: ./cassandra
|
||||||
file: ./cassandra/${{ matrix.tag }}/Dockerfile
|
file: ./cassandra/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:cassandra_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:cassandra_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:cassandra_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:cassandra_${{ matrix.tag }}
|
||||||
|
88
.github/workflows/dart.yml
vendored
88
.github/workflows/dart.yml
vendored
@@ -1,44 +1,44 @@
|
|||||||
name: build dart
|
name: build dart
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * 1"
|
- cron: "0 0 * * 1"
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths:
|
paths:
|
||||||
- dart/**
|
- dart/**
|
||||||
jobs:
|
jobs:
|
||||||
push:
|
push:
|
||||||
name: "yolks:dart_${{ matrix.tag }}"
|
name: "yolks:dart_${{ matrix.tag }}"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
tag:
|
tag:
|
||||||
- '2.17'
|
- '2.17'
|
||||||
- '2.18'
|
- '2.18'
|
||||||
- '2.19'
|
- '2.19'
|
||||||
- '3.3'
|
- '3.3'
|
||||||
- 'stable'
|
- 'stable'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
# Setup QEMU for ARM64 Build
|
# Setup QEMU for ARM64 Build
|
||||||
- uses: docker/setup-qemu-action@v3
|
- uses: docker/setup-qemu-action@v3
|
||||||
- uses: docker/setup-buildx-action@v3
|
- uses: docker/setup-buildx-action@v3
|
||||||
with:
|
with:
|
||||||
buildkitd-flags: --debug
|
buildkitd-flags: --debug
|
||||||
- uses: docker/login-action@v3
|
- uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./dart
|
context: ./dart
|
||||||
file: ./dart/${{ matrix.tag }}/Dockerfile
|
file: ./dart/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:dart_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:dart_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:dart_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:dart_${{ matrix.tag }}
|
||||||
|
7
.github/workflows/dotnet.yml
vendored
7
.github/workflows/dotnet.yml
vendored
@@ -22,7 +22,6 @@ jobs:
|
|||||||
- 6
|
- 6
|
||||||
- 7
|
- 7
|
||||||
- 8
|
- 8
|
||||||
- 9
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
# Setup QEMU for ARM64 Build
|
# Setup QEMU for ARM64 Build
|
||||||
@@ -35,12 +34,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./dotnet
|
context: ./dotnet
|
||||||
file: ./dotnet/${{ matrix.tag }}/Dockerfile
|
file: ./dotnet/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:dotnet_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:dotnet_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:dotnet_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:dotnet_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/elixir.yml
vendored
6
.github/workflows/elixir.yml
vendored
@@ -32,12 +32,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./elixir
|
context: ./elixir
|
||||||
file: ./elixir/${{ matrix.tag }}/Dockerfile
|
file: ./elixir/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:elixir_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:elixir_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:elixir_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:elixir_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/erlang.yml
vendored
6
.github/workflows/erlang.yml
vendored
@@ -31,12 +31,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./erlang
|
context: ./erlang
|
||||||
file: ./erlang/${{ matrix.tag }}/Dockerfile
|
file: ./erlang/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:erlang_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:erlang_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:erlang_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:erlang_${{ matrix.tag }}
|
||||||
|
13
.github/workflows/games.yml
vendored
13
.github/workflows/games.yml
vendored
@@ -20,7 +20,6 @@ jobs:
|
|||||||
- arma3
|
- arma3
|
||||||
- dayz
|
- dayz
|
||||||
- mohaa
|
- mohaa
|
||||||
- rust
|
|
||||||
- samp
|
- samp
|
||||||
- source
|
- source
|
||||||
- valheim
|
- valheim
|
||||||
@@ -36,15 +35,15 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./games/${{ matrix.game }}
|
context: ./games/${{ matrix.game }}
|
||||||
file: ./games/${{ matrix.game }}/Dockerfile
|
file: ./games/${{ matrix.game }}/Dockerfile
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/games:${{ matrix.game }}
|
ghcr.io/pelican-eggs/games:${{ matrix.game }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/games:{0}', matrix.game) || '' }}
|
ghcr.io/parkervcp/games:${{ matrix.game }}
|
||||||
pushAll:
|
pushAll:
|
||||||
name: "games_All:${{ matrix.game }}"
|
name: "games_All:${{ matrix.game }}"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -68,12 +67,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./games/${{ matrix.game }}
|
context: ./games/${{ matrix.game }}
|
||||||
file: ./games/${{ matrix.game }}/Dockerfile
|
file: ./games/${{ matrix.game }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/games:${{ matrix.game }}
|
ghcr.io/pelican-eggs/games:${{ matrix.game }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/games:{0}', matrix.game) || '' }}
|
ghcr.io/parkervcp/games:${{ matrix.game }}
|
||||||
|
7
.github/workflows/go.yml
vendored
7
.github/workflows/go.yml
vendored
@@ -25,7 +25,6 @@ jobs:
|
|||||||
- '1.20'
|
- '1.20'
|
||||||
- '1.21'
|
- '1.21'
|
||||||
- '1.22'
|
- '1.22'
|
||||||
- '1.23'
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: docker/setup-buildx-action@v3
|
- uses: docker/setup-buildx-action@v3
|
||||||
@@ -36,12 +35,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./go
|
context: ./go
|
||||||
file: ./go/${{ matrix.tag }}/Dockerfile
|
file: ./go/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:go_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:go_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:go_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:go_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/installers.yml
vendored
6
.github/workflows/installers.yml
vendored
@@ -30,12 +30,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./installers
|
context: ./installers
|
||||||
file: ./installers/${{ matrix.tag }}/Dockerfile
|
file: ./installers/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/installers:${{ matrix.tag }}
|
ghcr.io/pelican-eggs/installers:${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/installers:{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/installers:${{ matrix.tag }}
|
||||||
|
7
.github/workflows/java.yml
vendored
7
.github/workflows/java.yml
vendored
@@ -25,7 +25,6 @@ jobs:
|
|||||||
- 17
|
- 17
|
||||||
- 19
|
- 19
|
||||||
- 21
|
- 21
|
||||||
- 22
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: docker/setup-qemu-action@v3
|
- uses: docker/setup-qemu-action@v3
|
||||||
@@ -37,12 +36,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./java
|
context: ./java
|
||||||
file: ./java/${{ matrix.tag }}/Dockerfile
|
file: ./java/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:java_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:java_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:java_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:java_${{ matrix.tag }}
|
||||||
|
8
.github/workflows/mariadb.yml
vendored
8
.github/workflows/mariadb.yml
vendored
@@ -25,8 +25,6 @@ jobs:
|
|||||||
- '11.2'
|
- '11.2'
|
||||||
- '11.3'
|
- '11.3'
|
||||||
- '11.4'
|
- '11.4'
|
||||||
- '11.5'
|
|
||||||
- '11.6'
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: docker/setup-qemu-action@v3
|
- uses: docker/setup-qemu-action@v3
|
||||||
@@ -38,12 +36,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./mariadb
|
context: ./mariadb
|
||||||
file: ./mariadb/${{ matrix.tag }}/Dockerfile
|
file: ./mariadb/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:mariadb_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:mariadb_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:mariadb_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:mariadb_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/mongodb.yml
vendored
6
.github/workflows/mongodb.yml
vendored
@@ -32,12 +32,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./mongodb
|
context: ./mongodb
|
||||||
file: ./mongodb/${{ matrix.tag }}/Dockerfile
|
file: ./mongodb/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:mongodb_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:mongodb_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:mongodb_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:mongodb_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/mono.yml
vendored
6
.github/workflows/mono.yml
vendored
@@ -27,12 +27,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./mono
|
context: ./mono
|
||||||
file: ./mono/${{ matrix.tag }}/Dockerfile
|
file: ./mono/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:mono_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:mono_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:mono_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:mono_${{ matrix.tag }}
|
||||||
|
8
.github/workflows/nodejs.yml
vendored
8
.github/workflows/nodejs.yml
vendored
@@ -24,8 +24,6 @@ jobs:
|
|||||||
- 19
|
- 19
|
||||||
- 20
|
- 20
|
||||||
- 21
|
- 21
|
||||||
- 22
|
|
||||||
- 23
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
# Setup QEMU for ARM64 Build
|
# Setup QEMU for ARM64 Build
|
||||||
@@ -38,12 +36,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./nodejs
|
context: ./nodejs
|
||||||
file: ./nodejs/${{ matrix.tag }}/Dockerfile
|
file: ./nodejs/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:nodejs_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:nodejs_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:nodejs_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:nodejs_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/postgres.yml
vendored
6
.github/workflows/postgres.yml
vendored
@@ -35,12 +35,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./postgres
|
context: ./postgres
|
||||||
file: ./postgres/${{ matrix.tag }}/Dockerfile
|
file: ./postgres/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:postgres_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:postgres_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:postgres_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:postgres_${{ matrix.tag }}
|
||||||
|
7
.github/workflows/python.yml
vendored
7
.github/workflows/python.yml
vendored
@@ -23,7 +23,6 @@ jobs:
|
|||||||
- '3.10'
|
- '3.10'
|
||||||
- '3.11'
|
- '3.11'
|
||||||
- '3.12'
|
- '3.12'
|
||||||
- '3.13'
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
# Setup QEMU for ARM64 Build
|
# Setup QEMU for ARM64 Build
|
||||||
@@ -36,12 +35,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./python
|
context: ./python
|
||||||
file: ./python/${{ matrix.tag }}/Dockerfile
|
file: ./python/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:python_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:python_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:python_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:python_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/redis.yml
vendored
6
.github/workflows/redis.yml
vendored
@@ -31,12 +31,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./redis
|
context: ./redis
|
||||||
file: ./redis/${{ matrix.tag }}/Dockerfile
|
file: ./redis/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:redis_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:redis_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:redis_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:redis_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/rust.yml
vendored
6
.github/workflows/rust.yml
vendored
@@ -31,12 +31,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./rust
|
context: ./rust
|
||||||
file: ./rust/${{ matrix.tag }}/Dockerfile
|
file: ./rust/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:rust_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:rust_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:rust_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:rust_${{ matrix.tag }}
|
||||||
|
6
.github/workflows/steamcmd.yml
vendored
6
.github/workflows/steamcmd.yml
vendored
@@ -32,12 +32,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./steamcmd
|
context: ./steamcmd
|
||||||
file: ./steamcmd/${{ matrix.distro }}/Dockerfile
|
file: ./steamcmd/${{ matrix.distro }}/Dockerfile
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/steamcmd:${{ matrix.distro }}
|
ghcr.io/pelican-eggs/steamcmd:${{ matrix.distro }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/steamcmd:{0}', matrix.distro) || '' }}
|
ghcr.io/parkervcp/steamcmd:${{ matrix.distro }}
|
||||||
|
12
.github/workflows/voice.yml
vendored
12
.github/workflows/voice.yml
vendored
@@ -27,15 +27,15 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./voice/${{ matrix.tag }}
|
context: ./voice/${{ matrix.tag }}
|
||||||
file: ./voice/${{ matrix.tag }}/Dockerfile
|
file: ./voice/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:voice_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:voice_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:voice_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:voice_${{ matrix.tag }}
|
||||||
|
|
||||||
|
|
||||||
pushx64_arm64:
|
pushx64_arm64:
|
||||||
@@ -59,12 +59,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./voice/${{ matrix.tag }}
|
context: ./voice/${{ matrix.tag }}
|
||||||
file: ./voice/${{ matrix.tag }}/Dockerfile
|
file: ./voice/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:voice_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:voice_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:voice_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:voice_${{ matrix.tag }}
|
||||||
|
10
.github/workflows/wine.yml
vendored
10
.github/workflows/wine.yml
vendored
@@ -16,10 +16,6 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
tag:
|
tag:
|
||||||
- "7"
|
|
||||||
- "8"
|
|
||||||
- "9"
|
|
||||||
- "10"
|
|
||||||
- latest
|
- latest
|
||||||
- devel
|
- devel
|
||||||
- staging
|
- staging
|
||||||
@@ -33,12 +29,12 @@ jobs:
|
|||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v6
|
- uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./wine
|
context: ./wine
|
||||||
file: ./wine/${{ matrix.tag }}/Dockerfile
|
file: ./wine/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/${{ github.repository_owner }}/yolks:wine_${{ matrix.tag }}
|
ghcr.io/pelican-eggs/yolks:wine_${{ matrix.tag }}
|
||||||
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:wine_{0}', matrix.tag) || '' }}
|
ghcr.io/parkervcp/yolks:wine_${{ matrix.tag }}
|
||||||
|
28
README.md
28
README.md
@@ -97,8 +97,6 @@ is tagged correctly.
|
|||||||
* `ghcr.io/parkervcp/yolks:dotnet_7`
|
* `ghcr.io/parkervcp/yolks:dotnet_7`
|
||||||
* [`dotnet8.0`](/dotnet/8)
|
* [`dotnet8.0`](/dotnet/8)
|
||||||
* `ghcr.io/parkervcp/yolks:dotnet_8`
|
* `ghcr.io/parkervcp/yolks:dotnet_8`
|
||||||
* [`dotnet9.0`](/dotnet/9)
|
|
||||||
* `ghcr.io/parkervcp/yolks:dotnet_9`
|
|
||||||
|
|
||||||
### [Elixir](/elixir)
|
### [Elixir](/elixir)
|
||||||
|
|
||||||
@@ -133,11 +131,9 @@ is tagged correctly.
|
|||||||
* [`minetest`](/games/minetest)
|
* [`minetest`](/games/minetest)
|
||||||
* `ghcr.io/parkervcp/games:minetest`
|
* `ghcr.io/parkervcp/games:minetest`
|
||||||
* [`mohaa`](games/mohaa)
|
* [`mohaa`](games/mohaa)
|
||||||
* `ghcr.io/parkervcp/games:mohaa`
|
* `ghcr.io/pterodactyl/games:mohaa`
|
||||||
* [`Multi Theft Auto: San Andreas`](games/mta)
|
* [`Multi Theft Auto: San Andreas`](games/mta)
|
||||||
* `ghcr.io/parkervcp/games:mta`
|
* `ghcr.io/pterodactyl/games:mta`
|
||||||
* [`Rust (dedicated server)`](games/rust)
|
|
||||||
* `ghcr.io/parkervcp/games:rust`
|
|
||||||
* [`samp`](/games/samp)
|
* [`samp`](/games/samp)
|
||||||
* `ghcr.io/parkervcp/games:samp`
|
* `ghcr.io/parkervcp/games:samp`
|
||||||
* [`source`](/games/source)
|
* [`source`](/games/source)
|
||||||
@@ -167,8 +163,6 @@ is tagged correctly.
|
|||||||
* `ghcr.io/parkervcp/yolks:go_1.21`
|
* `ghcr.io/parkervcp/yolks:go_1.21`
|
||||||
* [`go1.22`](/go/1.22)
|
* [`go1.22`](/go/1.22)
|
||||||
* `ghcr.io/parkervcp/yolks:go_1.22`
|
* `ghcr.io/parkervcp/yolks:go_1.22`
|
||||||
* [`go1.23`](/go/1.23)
|
|
||||||
* `ghcr.io/parkervcp/yolks:go_1.23`
|
|
||||||
|
|
||||||
### [Java](/java)
|
### [Java](/java)
|
||||||
|
|
||||||
@@ -184,8 +178,6 @@ is tagged correctly.
|
|||||||
* `ghcr.io/parkervcp/yolks:java_19`
|
* `ghcr.io/parkervcp/yolks:java_19`
|
||||||
* [`java21`](/java/21)
|
* [`java21`](/java/21)
|
||||||
* `ghcr.io/parkervcp/yolks:java_21`
|
* `ghcr.io/parkervcp/yolks:java_21`
|
||||||
* [`java22`](/java/22)
|
|
||||||
* `ghcr.io/parkervcp/yolks:java_22`
|
|
||||||
|
|
||||||
### [MariaDB](/mariadb)
|
### [MariaDB](/mariadb)
|
||||||
|
|
||||||
@@ -205,10 +197,6 @@ is tagged correctly.
|
|||||||
* `ghcr.io/parkervcp/yolks:mariadb_11.3`
|
* `ghcr.io/parkervcp/yolks:mariadb_11.3`
|
||||||
* [`MariaDB 11.4`](/mariadb/11.4)
|
* [`MariaDB 11.4`](/mariadb/11.4)
|
||||||
* `ghcr.io/parkervcp/yolks:mariadb_11.4`
|
* `ghcr.io/parkervcp/yolks:mariadb_11.4`
|
||||||
* [`MariaDB 11.5`](/mariadb/11.5)
|
|
||||||
* `ghcr.io/parkervcp/yolks:mariadb_11.5`
|
|
||||||
* [`MariaDB 11.6`](/mariadb/11.6)
|
|
||||||
* `ghcr.io/parkervcp/yolks:mariadb_11.6`
|
|
||||||
|
|
||||||
### [MongoDB](/mongodb)
|
### [MongoDB](/mongodb)
|
||||||
|
|
||||||
@@ -244,11 +232,7 @@ is tagged correctly.
|
|||||||
* `ghcr.io/parkervcp/yolks:nodejs_20`
|
* `ghcr.io/parkervcp/yolks:nodejs_20`
|
||||||
* [`node21`](/nodejs/21)
|
* [`node21`](/nodejs/21)
|
||||||
* `ghcr.io/parkervcp/yolks:nodejs_21`
|
* `ghcr.io/parkervcp/yolks:nodejs_21`
|
||||||
* [`node22`](/nodejs/22)
|
|
||||||
* `ghcr.io/parkervcp/yolks:nodejs_22`
|
|
||||||
* [`node23`](/nodejs/23)
|
|
||||||
* `ghcr.io/parkervcp/yolks:nodejs_23`
|
|
||||||
|
|
||||||
### [PostgreSQL](/postgres)
|
### [PostgreSQL](/postgres)
|
||||||
|
|
||||||
* [`Postgres 9`](/postgres/9)
|
* [`Postgres 9`](/postgres/9)
|
||||||
@@ -278,8 +262,6 @@ is tagged correctly.
|
|||||||
* `ghcr.io/parkervcp/yolks:python_3.11`
|
* `ghcr.io/parkervcp/yolks:python_3.11`
|
||||||
* [`python3.12`](/python/3.12)
|
* [`python3.12`](/python/3.12)
|
||||||
* `ghcr.io/parkervcp/yolks:python_3.12`
|
* `ghcr.io/parkervcp/yolks:python_3.12`
|
||||||
* [`python3.13`](/python/3.13)
|
|
||||||
* `ghcr.io/parkervcp/yolks:python_3.13`
|
|
||||||
|
|
||||||
### [Redis](/redis)
|
### [Redis](/redis)
|
||||||
|
|
||||||
@@ -322,10 +304,6 @@ is tagged correctly.
|
|||||||
### [Wine](/wine)
|
### [Wine](/wine)
|
||||||
|
|
||||||
* [`Wine`](/wine)
|
* [`Wine`](/wine)
|
||||||
* `ghcr.io/parkervcp/yolks:wine_7`
|
|
||||||
* `ghcr.io/parkervcp/yolks:wine_8`
|
|
||||||
* `ghcr.io/parkervcp/yolks:wine_9`
|
|
||||||
* `ghcr.io/parkervcp/yolks:wine_10`
|
|
||||||
* `ghcr.io/parkervcp/yolks:wine_latest`
|
* `ghcr.io/parkervcp/yolks:wine_latest`
|
||||||
* `ghcr.io/parkervcp/yolks:wine_devel`
|
* `ghcr.io/parkervcp/yolks:wine_devel`
|
||||||
* `ghcr.io/parkervcp/yolks:wine_staging`
|
* `ghcr.io/parkervcp/yolks:wine_staging`
|
||||||
|
@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
# general packages
|
# general packages
|
||||||
|
@@ -3,7 +3,7 @@ FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
|
|||||||
LABEL org.opencontainers.image.authors="i2007@damw.eu"
|
LABEL org.opencontainers.image.authors="i2007@damw.eu"
|
||||||
LABEL version="1.0"
|
LABEL version="1.0"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
# Install Dependencies
|
# Install Dependencies
|
||||||
RUN apt update \
|
RUN apt update \
|
||||||
@@ -14,8 +14,8 @@ RUN apt update \
|
|||||||
&& useradd -m -d /home/container container
|
&& useradd -m -d /home/container container
|
||||||
#RUN python3 -m pip install requests
|
#RUN python3 -m pip install requests
|
||||||
|
|
||||||
ENV LANG=C.UTF-8
|
ENV LANG C.UTF-8
|
||||||
ENV LC_ALL=C.UTF-8
|
ENV LC_ALL C.UTF-8
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
|
@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
|
|||||||
|
|
||||||
LABEL author="QuintenQVD" maintainer="josdekurk@gmail.com"
|
LABEL author="QuintenQVD" maintainer="josdekurk@gmail.com"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
## Update base packages
|
## Update base packages
|
||||||
RUN apt update \
|
RUN apt update \
|
||||||
|
@@ -29,10 +29,10 @@ fi
|
|||||||
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
||||||
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
||||||
# replacing the values.
|
# replacing the values.
|
||||||
PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g')
|
PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)")
|
||||||
|
|
||||||
# Display the command we're running in the output, and then execute it with eval
|
# Display the command we're running in the output, and then execute it with the env
|
||||||
printf "\033[1m\033[33mcontainer@pelican~ \033[0m"
|
# from the container itself.
|
||||||
echo "$PARSED"
|
printf "\033[1m\033[33mcontainer@pelican~ \033[0m%s\n" "$PARSED"
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
eval "$PARSED"
|
exec env ${PARSED}
|
||||||
|
@@ -1,18 +1,18 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH dart:2.17
|
FROM --platform=$TARGETOS/$TARGETARCH dart:2.17
|
||||||
|
|
||||||
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
|
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
|
||||||
|
|
||||||
RUN apt update \
|
RUN apt update \
|
||||||
&& apt -y install iproute2 git ca-certificates tzdata tini \
|
&& apt -y install iproute2 git ca-certificates tzdata tini \
|
||||||
&& useradd -m -d /home/container container
|
&& useradd -m -d /home/container container
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
CMD ["/entrypoint.sh"]
|
CMD ["/entrypoint.sh"]
|
||||||
|
@@ -1,18 +1,18 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH dart:2.18
|
FROM --platform=$TARGETOS/$TARGETARCH dart:2.18
|
||||||
|
|
||||||
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
|
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
|
||||||
|
|
||||||
RUN apt update \
|
RUN apt update \
|
||||||
&& apt -y install iproute2 git ca-certificates tzdata tini \
|
&& apt -y install iproute2 git ca-certificates tzdata tini \
|
||||||
&& useradd -m -d /home/container container
|
&& useradd -m -d /home/container container
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
CMD ["/entrypoint.sh"]
|
CMD ["/entrypoint.sh"]
|
||||||
|
@@ -1,18 +1,18 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH dart:2.19
|
FROM --platform=$TARGETOS/$TARGETARCH dart:2.19
|
||||||
|
|
||||||
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
|
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
|
||||||
|
|
||||||
RUN apt update \
|
RUN apt update \
|
||||||
&& apt -y install iproute2 git ca-certificates tzdata tini \
|
&& apt -y install iproute2 git ca-certificates tzdata tini \
|
||||||
&& useradd -m -d /home/container container
|
&& useradd -m -d /home/container container
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
CMD ["/entrypoint.sh"]
|
CMD ["/entrypoint.sh"]
|
||||||
|
@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
|
|||||||
|
|
||||||
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt upgrade -y \
|
&& apt upgrade -y \
|
||||||
|
@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
|
|||||||
|
|
||||||
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt upgrade -y \
|
&& apt upgrade -y \
|
||||||
|
@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
|
|||||||
|
|
||||||
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt upgrade -y \
|
&& apt upgrade -y \
|
||||||
|
@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
|
|||||||
|
|
||||||
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt upgrade -y \
|
&& apt upgrade -y \
|
||||||
|
@@ -1,25 +1,25 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
|
FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
|
||||||
|
|
||||||
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt upgrade -y \
|
&& apt upgrade -y \
|
||||||
&& apt install -y apt-transport-https wget curl iproute2 libgdiplus tini \
|
&& apt install -y apt-transport-https wget curl iproute2 libgdiplus tini \
|
||||||
&& wget https://dot.net/v1/dotnet-install.sh \
|
&& wget https://dot.net/v1/dotnet-install.sh \
|
||||||
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/7.0 | grep -i '<h3 id="sdk-7.*">SDK 7.*.*</h3>' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
|
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/7.0 | grep -i '<h3 id="sdk-7.*">SDK 7.*.*</h3>' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
|
||||||
&& chmod +x dotnet-install.sh \
|
&& chmod +x dotnet-install.sh \
|
||||||
&& ./dotnet-install.sh -i /usr/share -v $D_V \
|
&& ./dotnet-install.sh -i /usr/share -v $D_V \
|
||||||
&& ln -s /usr/share/dotnet /usr/bin/dotnet
|
&& ln -s /usr/share/dotnet /usr/bin/dotnet
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
CMD ["/entrypoint.sh"]
|
CMD ["/entrypoint.sh"]
|
||||||
|
@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
|
|||||||
|
|
||||||
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt upgrade -y \
|
&& apt upgrade -y \
|
||||||
|
@@ -1,25 +0,0 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
|
|
||||||
|
|
||||||
LABEL author="Torsten Widmann" maintainer="info@goover.de"
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
RUN apt update -y \
|
|
||||||
&& apt upgrade -y \
|
|
||||||
&& apt install -y apt-transport-https wget curl iproute2 libgdiplus tini \
|
|
||||||
&& wget https://dot.net/v1/dotnet-install.sh \
|
|
||||||
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/9.0 | grep -i '<h3 id="sdk-9.*">SDK 9.*.*</h3>' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
|
|
||||||
&& chmod +x dotnet-install.sh \
|
|
||||||
&& ./dotnet-install.sh -i /usr/share -v $D_V \
|
|
||||||
&& ln -s /usr/share/dotnet /usr/bin/dotnet
|
|
||||||
|
|
||||||
USER container
|
|
||||||
ENV USER=container HOME=/home/container
|
|
||||||
WORKDIR /home/container
|
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
|
||||||
RUN chmod +x /entrypoint.sh
|
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
|
||||||
CMD ["/entrypoint.sh"]
|
|
@@ -1,16 +1,16 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH erlang:25-alpine
|
FROM --platform=$TARGETOS/$TARGETARCH erlang:25-alpine
|
||||||
|
|
||||||
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
|
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
LABEL org.opencontainers.image.licenses=MIT
|
||||||
|
|
||||||
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata iproute2 \
|
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata iproute2 \
|
||||||
&& adduser -D -h /home/container container
|
&& adduser -D -h /home/container container
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
COPY ./../entrypoint.sh /entrypoint.sh
|
COPY ./../entrypoint.sh /entrypoint.sh
|
||||||
CMD [ "/bin/ash", "/entrypoint.sh" ]
|
CMD [ "/bin/ash", "/entrypoint.sh" ]
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH erlang:26-alpine
|
FROM --platform=$TARGETOS/$TARGETARCH erlang:26-alpine
|
||||||
|
|
||||||
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
|
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
LABEL org.opencontainers.image.licenses=MIT
|
||||||
|
|
||||||
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata iproute2 \
|
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata iproute2 \
|
||||||
&& adduser -D -h /home/container container
|
&& adduser -D -h /home/container container
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
COPY ./../entrypoint.sh /entrypoint.sh
|
COPY ./../entrypoint.sh /entrypoint.sh
|
||||||
CMD [ "/bin/ash", "/entrypoint.sh" ]
|
CMD [ "/bin/ash", "/entrypoint.sh" ]
|
||||||
|
@@ -16,10 +16,10 @@ erl -noshell -eval 'erlang:display(erlang:system_info(system_version))' -eval 'i
|
|||||||
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
||||||
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
||||||
# replacing the values.
|
# replacing the values.
|
||||||
PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g')
|
PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)")
|
||||||
|
|
||||||
# Display the command we're running in the output, and then execute it with eval
|
# Display the command we're running in the output, and then execute it with the env
|
||||||
printf "\033[1m\033[33mcontainer@pelican~ \033[0m"
|
# from the container itself.
|
||||||
echo "$PARSED"
|
printf "\033[1m\033[33mcontainer@pelican~ \033[0m%s\n" "$PARSED"
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
eval "$PARSED"
|
exec env ${PARSED}
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH node:16-bookworm
|
|||||||
|
|
||||||
LABEL author="goover" maintainer="info@goover.de"
|
LABEL author="goover" maintainer="info@goover.de"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN useradd -m -d /home/container -s /bin/bash container
|
RUN useradd -m -d /home/container -s /bin/bash container
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ RUN apt update -y \
|
|||||||
RUN wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
|
RUN wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
|
||||||
&& dpkg -i packages-microsoft-prod.deb \
|
&& dpkg -i packages-microsoft-prod.deb \
|
||||||
&& apt update -y \
|
&& apt update -y \
|
||||||
&& apt install -y dotnet-sdk-6.0 dotnet-sdk-7.0 dotnet-sdk-8.0 libgdiplus
|
&& apt install -y dotnet-sdk-6.0 dotnet-sdk-7.0 libgdiplus
|
||||||
|
|
||||||
RUN update-locale lang=en_US.UTF-8 \
|
RUN update-locale lang=en_US.UTF-8 \
|
||||||
&& dpkg-reconfigure --frontend noninteractive locales
|
&& dpkg-reconfigure --frontend noninteractive locales
|
||||||
@@ -32,4 +32,4 @@ STOPSIGNAL SIGINT
|
|||||||
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
CMD ["/entrypoint.sh"]
|
CMD ["/entrypoint.sh"]
|
@@ -1,6 +1,6 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH debian:bullseye-slim
|
FROM --platform=$TARGETOS/$TARGETARCH debian:bullseye-slim
|
||||||
|
|
||||||
LABEL author="David Wolfe (Red-Thirten)" maintainer="red_thirten@yahoo.com"
|
LABEL author="David Wolfe (Red-Thirten)" maintainer="rehlmgaming@gmail.com"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source="https://github.com/parkervcp/yolks"
|
LABEL org.opencontainers.image.source="https://github.com/parkervcp/yolks"
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
LABEL org.opencontainers.image.licenses=MIT
|
||||||
|
@@ -54,9 +54,8 @@ function RunSteamCMD { #[Input: int server=0 mod=1 optional_mod=2; int id]
|
|||||||
|
|
||||||
# Error checking for SteamCMD
|
# Error checking for SteamCMD
|
||||||
steamcmdExitCode=${PIPESTATUS[0]}
|
steamcmdExitCode=${PIPESTATUS[0]}
|
||||||
# Catch errors (ignore setlocale, SDL, steamservice, thread priority, and libcurl warnings)
|
loggedErrors=$(grep -i "error\|failed" "${STEAMCMD_LOG}" | grep -iv "setlocal\|SDL\|steamservice\|thread")
|
||||||
loggedErrors=$(grep -i "error\|failed" "${STEAMCMD_LOG}" | grep -iv "setlocal\|SDL\|steamservice\|thread\|libcurl")
|
if [[ -n ${loggedErrors} ]]; then # Catch errors (ignore setlocale, SDL, steamservice, and thread priority warnings)
|
||||||
if [[ -n ${loggedErrors} ]]; then
|
|
||||||
# Soft errors
|
# Soft errors
|
||||||
if [[ -n $(grep -i "Timeout downloading item" "${STEAMCMD_LOG}") ]]; then # Mod download timeout
|
if [[ -n $(grep -i "Timeout downloading item" "${STEAMCMD_LOG}") ]]; then # Mod download timeout
|
||||||
echo -e "\n${YELLOW}[UPDATE]: ${NC}Timeout downloading Steam Workshop mod: \"${CYAN}${modName}${NC}\" (${CYAN}${2}${NC})"
|
echo -e "\n${YELLOW}[UPDATE]: ${NC}Timeout downloading Steam Workshop mod: \"${CYAN}${modName}${NC}\" (${CYAN}${2}${NC})"
|
||||||
@@ -347,12 +346,6 @@ if [[ ${MODS_LOWERCASE} == "1" ]]; then
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Define the log file path with a timestamp
|
|
||||||
LOG_FILE="/home/container/serverprofile/rpt/arma3server_$(date '+%m_%d_%Y_%H%M%S').rpt"
|
|
||||||
|
|
||||||
# Ensure the logs directory exists
|
|
||||||
mkdir -p /home/container/serverprofile/rpt
|
|
||||||
|
|
||||||
# Clear HC cache, if specified
|
# Clear HC cache, if specified
|
||||||
if [[ ${CLEAR_CACHE} == "1" ]]; then
|
if [[ ${CLEAR_CACHE} == "1" ]]; then
|
||||||
echo -e "\n${GREEN}[STARTUP]: ${CYAN}Clearing Headless Client profiles cache...${NC}"
|
echo -e "\n${GREEN}[STARTUP]: ${CYAN}Clearing Headless Client profiles cache...${NC}"
|
||||||
@@ -402,11 +395,7 @@ fi
|
|||||||
# Start the Server
|
# Start the Server
|
||||||
echo -e "\n${GREEN}[STARTUP]:${NC} Starting server with the following startup command:"
|
echo -e "\n${GREEN}[STARTUP]:${NC} Starting server with the following startup command:"
|
||||||
echo -e "${CYAN}${modifiedStartup}${NC}\n"
|
echo -e "${CYAN}${modifiedStartup}${NC}\n"
|
||||||
if [[ "$STARTUP_PARAMS" == *"-noLogs"* ]]; then
|
${modifiedStartup}
|
||||||
${modifiedStartup}
|
|
||||||
else
|
|
||||||
${modifiedStartup} 2>&1 | tee -a "$LOG_FILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo -e "\n${RED}PTDL_CONTAINER_ERR: There was an error while attempting to run the start command.${NC}\n"
|
echo -e "\n${RED}PTDL_CONTAINER_ERR: There was an error while attempting to run the start command.${NC}\n"
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
|
FROM --platform=$BUILDPLATFORM debian:bullseye-slim
|
||||||
|
|
||||||
LABEL author="David Wolfe (Red-Thirten)" maintainer="red_thirten@yahoo.com"
|
LABEL author="David Wolfe (Red-Thirten)" maintainer="rehlmgaming@gmail.com"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source="https://github.com/pelican-eggs/yolks"
|
LABEL org.opencontainers.image.source="https://github.com/parkervcp/yolks"
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
LABEL org.opencontainers.image.licenses=MIT
|
||||||
|
|
||||||
## Update base packages and install dependencies
|
## Update base packages and install dependencies
|
||||||
@@ -17,6 +17,7 @@ RUN dpkg --add-architecture i386 \
|
|||||||
iproute2 \
|
iproute2 \
|
||||||
gettext-base \
|
gettext-base \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
|
numactl \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
lib32gcc-s1 \
|
lib32gcc-s1 \
|
||||||
libsdl2-2.0-0 \
|
libsdl2-2.0-0 \
|
||||||
@@ -28,17 +29,11 @@ RUN dpkg --add-architecture i386 \
|
|||||||
libnss-wrapper \
|
libnss-wrapper \
|
||||||
tini
|
tini
|
||||||
|
|
||||||
## install rcon client (bercon)
|
|
||||||
RUN cd /tmp/ \
|
|
||||||
&& curl -sSL https://github.com/WoozyMasta/bercon/releases/download/1.0.0/bercon > bercon \
|
|
||||||
&& mv bercon /usr/local/bin/ \
|
|
||||||
&& chmod +x /usr/local/bin/bercon
|
|
||||||
|
|
||||||
## Configure locale
|
## Configure locale
|
||||||
RUN update-locale lang=en_US.UTF-8 \
|
RUN update-locale lang=en_US.UTF-8 \
|
||||||
&& dpkg-reconfigure --frontend noninteractive locales
|
&& dpkg-reconfigure --frontend noninteractive locales
|
||||||
|
|
||||||
## Prepare NSS Wrapper for the entrypoint as a workaround for DayZ requiring a valid UID
|
## Prepare NSS Wrapper for the entrypoint as a workaround for Arma 3 requiring a valid UID
|
||||||
ENV NSS_WRAPPER_PASSWD=/tmp/passwd NSS_WRAPPER_GROUP=/tmp/group
|
ENV NSS_WRAPPER_PASSWD=/tmp/passwd NSS_WRAPPER_GROUP=/tmp/group
|
||||||
RUN touch ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP} \
|
RUN touch ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP} \
|
||||||
&& chgrp 0 ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP} \
|
&& chgrp 0 ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP} \
|
||||||
@@ -51,10 +46,9 @@ USER container
|
|||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
## Copy over and execute entrypoint.sh via Tini
|
|
||||||
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
CMD ["/entrypoint.sh"]
|
CMD ["/entrypoint.sh"]
|
||||||
|
@@ -1,16 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
## File: DayZ Image - entrypoint.sh
|
## File: Pterodactyl DayZ SA Image - entrypoint.sh
|
||||||
## Author: David Wolfe (Red-Thirten)
|
## Author: David Wolfe (Red-Thirten)
|
||||||
## Contributors: Aussie Server Hosts (https://aussieserverhosts.com/)
|
## Contributors: Aussie Server Hosts (https://aussieserverhosts.com/)
|
||||||
## Date: 2024/06/05
|
## Date: 2022/11/27
|
||||||
## License: MIT License
|
## License: MIT License
|
||||||
|
|
||||||
## === CONSTANTS ===
|
## === CONSTANTS ===
|
||||||
STEAMCMD_DIR="./steamcmd" # SteamCMD's directory containing steamcmd.sh
|
STEAMCMD_DIR="./steamcmd" # SteamCMD's directory containing steamcmd.sh
|
||||||
WORKSHOP_DIR="./Steam/steamapps/workshop" # SteamCMD's directory containing workshop downloads
|
|
||||||
STEAMCMD_LOG="${STEAMCMD_DIR}/steamcmd.log" # Log file for SteamCMD
|
STEAMCMD_LOG="${STEAMCMD_DIR}/steamcmd.log" # Log file for SteamCMD
|
||||||
GAME_ID=221100 # SteamCMD ID for the DayZ GAME (not server). Only used for Workshop mod downloads.
|
GAME_ID=221100 # SteamCMD ID for the DayZ SA GAME (not server). Only used for Workshop mod downloads.
|
||||||
|
|
||||||
# Color Codes
|
# Color Codes
|
||||||
CYAN='\033[0;36m'
|
CYAN='\033[0;36m'
|
||||||
@@ -46,16 +45,14 @@ function RunSteamCMD { #[Input: int server=0 mod=1; int id]
|
|||||||
|
|
||||||
# Check if updating server or mod
|
# Check if updating server or mod
|
||||||
if [[ $1 == 0 ]]; then # Server
|
if [[ $1 == 0 ]]; then # Server
|
||||||
${STEAMCMD_DIR}/steamcmd.sh +force_install_dir /home/container "+login \"${STEAM_USER}\" \"${STEAM_PASS}\"" +app_update $2 $extraFlags $validateServer +quit | tee -a "${STEAMCMD_LOG}"
|
numactl --physcpubind=+0 ${STEAMCMD_DIR}/steamcmd.sh +force_install_dir /home/container "+login \"${STEAM_USER}\" \"${STEAM_PASS}\"" +app_update $2 $extraFlags $validateServer +quit | tee -a "${STEAMCMD_LOG}"
|
||||||
else # Mod
|
else # Mod
|
||||||
${STEAMCMD_DIR}/steamcmd.sh "+login \"${STEAM_USER}\" \"${STEAM_PASS}\"" +workshop_download_item $GAME_ID $2 +quit | tee -a "${STEAMCMD_LOG}"
|
numactl --physcpubind=+0 ${STEAMCMD_DIR}/steamcmd.sh "+login \"${STEAM_USER}\" \"${STEAM_PASS}\"" +workshop_download_item $GAME_ID $2 +quit | tee -a "${STEAMCMD_LOG}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Error checking for SteamCMD
|
# Error checking for SteamCMD
|
||||||
steamcmdExitCode=${PIPESTATUS[0]}
|
steamcmdExitCode=${PIPESTATUS[0]}
|
||||||
# Catch errors (ignore setlocale, SDL, steamservice, thread priority, and libcurl warnings)
|
if [[ -n $(grep -i "error\|failed" "${STEAMCMD_LOG}" | grep -iv "setlocal\|SDL\|thread") ]]; then # Catch errors (ignore setlocale, SDL, and thread priority warnings)
|
||||||
loggedErrors=$(grep -i "error\|failed" "${STEAMCMD_LOG}" | grep -iv "setlocal\|SDL\|steamservice\|thread\|libcurl")
|
|
||||||
if [[ -n ${loggedErrors} ]]; then
|
|
||||||
# Soft errors
|
# Soft errors
|
||||||
if [[ -n $(grep -i "Timeout downloading item" "${STEAMCMD_LOG}") ]]; then # Mod download timeout
|
if [[ -n $(grep -i "Timeout downloading item" "${STEAMCMD_LOG}") ]]; then # Mod download timeout
|
||||||
echo -e "\n${YELLOW}[UPDATE]: ${NC}Timeout downloading Steam Workshop mod: \"${CYAN}${modName}${NC}\" (${CYAN}${2}${NC})"
|
echo -e "\n${YELLOW}[UPDATE]: ${NC}Timeout downloading Steam Workshop mod: \"${CYAN}${modName}${NC}\" (${CYAN}${2}${NC})"
|
||||||
@@ -107,8 +104,8 @@ function RunSteamCMD { #[Input: int server=0 mod=1; int id]
|
|||||||
# Move the downloaded mod to the root directory, and replace existing mod if needed
|
# Move the downloaded mod to the root directory, and replace existing mod if needed
|
||||||
mkdir -p ./@$2
|
mkdir -p ./@$2
|
||||||
rm -rf ./@$2/*
|
rm -rf ./@$2/*
|
||||||
mv -f ${WORKSHOP_DIR}/content/$GAME_ID/$2/* ./@$2
|
mv -f ./Steam/steamapps/workshop/content/$GAME_ID/$2/* ./@$2
|
||||||
rm -d ${WORKSHOP_DIR}/content/$GAME_ID/$2
|
rm -d ./Steam/steamapps/workshop/content/$GAME_ID/$2
|
||||||
# Make the mods contents all lowercase
|
# Make the mods contents all lowercase
|
||||||
ModsLowercase @$2
|
ModsLowercase @$2
|
||||||
# Move any .bikey's to the keys directory
|
# Move any .bikey's to the keys directory
|
||||||
@@ -241,11 +238,6 @@ if [[ ${UPDATE_SERVER} == 1 ]]; then
|
|||||||
if [[ -n $latestUpdate ]] && [[ $latestUpdate =~ ^[0-9]+$ ]]; then # Notify last update date, if valid
|
if [[ -n $latestUpdate ]] && [[ $latestUpdate =~ ^[0-9]+$ ]]; then # Notify last update date, if valid
|
||||||
echo -e "\tMod was last updated: ${CYAN}$(date -d @${latestUpdate})${NC}"
|
echo -e "\tMod was last updated: ${CYAN}$(date -d @${latestUpdate})${NC}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Delete SteamCMD appworkshop cache before running to avoid mod download failures
|
|
||||||
echo -e "\tClearing SteamCMD appworkshop cache..."
|
|
||||||
rm -f ${WORKSHOP_DIR}/appworkshop_$GAME_ID.acf
|
|
||||||
|
|
||||||
echo -e "\tAttempting mod update/download via SteamCMD...\n"
|
echo -e "\tAttempting mod update/download via SteamCMD...\n"
|
||||||
RunSteamCMD 1 $modID
|
RunSteamCMD 1 $modID
|
||||||
fi
|
fi
|
||||||
@@ -288,6 +280,6 @@ echo -e "${CYAN}${modifiedStartup}${NC}\n"
|
|||||||
${modifiedStartup}
|
${modifiedStartup}
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo -e "\n${RED}[STARTUP_ERR]: There was an error while attempting to run the start command.${NC}\n"
|
echo -e "\n${RED}PTDL_CONTAINER_ERR: There was an error while attempting to run the start command.${NC}\n"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:22.04
|
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:22.04
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y curl ca-certificates openssl git tar gnupg2 sqlite3 fontconfig tzdata iproute2 libfreetype6 software-properties-common \
|
&& apt install -y curl ca-certificates openssl git tar gnupg2 sqlite3 fontconfig tzdata iproute2 libfreetype6 software-properties-common \
|
||||||
&& useradd -d /home/container -m container
|
&& useradd -d /home/container -m container
|
||||||
|
|
||||||
RUN add-apt-repository -y ppa:minetestdevs/stable
|
RUN add-apt-repository -y ppa:minetestdevs/stable
|
||||||
RUN apt update && apt -y install minetest
|
RUN apt update && apt -y install minetest
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
COPY ./entrypoint.sh /entrypoint.sh
|
COPY ./entrypoint.sh /entrypoint.sh
|
||||||
CMD [ "/bin/bash", "/entrypoint.sh" ]
|
CMD [ "/bin/bash", "/entrypoint.sh" ]
|
@@ -1,23 +1,23 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:20.04
|
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:20.04
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
## add container user
|
## add container user
|
||||||
RUN useradd -m -d /home/container -s /bin/bash container
|
RUN useradd -m -d /home/container -s /bin/bash container
|
||||||
|
|
||||||
## update base packages
|
## update base packages
|
||||||
RUN apt update \
|
RUN apt update \
|
||||||
&& apt upgrade -y
|
&& apt upgrade -y
|
||||||
|
|
||||||
## install dependencies
|
## install dependencies
|
||||||
RUN apt install -y iproute2 tar libssl1.1 curl git default-libmysqlclient-dev libmysqlclient-dev libreadline-gplv2-dev libncurses5-dev libncursesw5-dev \
|
RUN apt install -y iproute2 tar libssl1.1 curl git default-libmysqlclient-dev libmysqlclient-dev libreadline-gplv2-dev libncurses5-dev libncursesw5-dev \
|
||||||
libtool zip unzip libncurses5 libncursesw5 python3 openssl locales ffmpeg apt-transport-https libc6 binutils xz-utils liblua5.1-0
|
libtool zip unzip libncurses5 libncursesw5 python3 openssl locales ffmpeg apt-transport-https libc6 binutils xz-utils liblua5.1-0
|
||||||
|
|
||||||
## configure locale
|
## configure locale
|
||||||
RUN update-locale lang=en_US.UTF-8 \
|
RUN update-locale lang=en_US.UTF-8 \
|
||||||
&& dpkg-reconfigure --frontend noninteractive locales
|
&& dpkg-reconfigure --frontend noninteractive locales
|
||||||
|
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
COPY ./entrypoint.sh /entrypoint.sh
|
COPY ./entrypoint.sh /entrypoint.sh
|
||||||
CMD [ "/bin/bash", "/entrypoint.sh" ]
|
CMD [ "/bin/bash", "/entrypoint.sh" ]
|
@@ -1,41 +0,0 @@
|
|||||||
FROM node:22-slim
|
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
RUN dpkg --add-architecture i386 \
|
|
||||||
&& apt update \
|
|
||||||
&& apt upgrade -y
|
|
||||||
|
|
||||||
RUN apt install -y \
|
|
||||||
lib32gcc-s1 \
|
|
||||||
lib32stdc++6 \
|
|
||||||
locales \
|
|
||||||
unzip \
|
|
||||||
curl \
|
|
||||||
iproute2 \
|
|
||||||
tzdata \
|
|
||||||
libgdiplus \
|
|
||||||
libsdl2-2.0-0:i386
|
|
||||||
|
|
||||||
RUN mkdir /wrapper \
|
|
||||||
&& npm install --prefix /wrapper ws
|
|
||||||
|
|
||||||
# Set the locale
|
|
||||||
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
|
|
||||||
locale-gen
|
|
||||||
ENV LANG=en_US.UTF-8
|
|
||||||
ENV LANGUAGE=en_US:en
|
|
||||||
ENV LC_ALL=en_US.UTF-8
|
|
||||||
|
|
||||||
## Setup user and working directory
|
|
||||||
RUN useradd -m -d /home/container -s /bin/bash container
|
|
||||||
USER container
|
|
||||||
ENV USER=container HOME=/home/container
|
|
||||||
|
|
||||||
WORKDIR /home/container
|
|
||||||
|
|
||||||
COPY ./entrypoint.sh /entrypoint.sh
|
|
||||||
COPY --chown=container:container ./wrapper.js /wrapper/wrapper.js
|
|
||||||
RUN chmod +x /wrapper/wrapper.js
|
|
||||||
|
|
||||||
CMD [ "/bin/bash", "/entrypoint.sh" ]
|
|
@@ -1,58 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Wait for the container to fully initialize
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
# Default the TZ environment variable to UTC.
|
|
||||||
TZ=${TZ:-UTC}
|
|
||||||
export TZ
|
|
||||||
|
|
||||||
# Set environment variable that holds the Internal Docker IP
|
|
||||||
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
|
|
||||||
export INTERNAL_IP
|
|
||||||
|
|
||||||
# Switch to the container's working directory
|
|
||||||
cd /home/container || exit 1
|
|
||||||
|
|
||||||
## if auto_update is not set or to 1 update
|
|
||||||
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
|
|
||||||
# Allow for the staging branch to also update itself
|
|
||||||
./steamcmd/steamcmd.sh +force_install_dir /home/container +login anonymous +app_update 258550 $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) +quit
|
|
||||||
else
|
|
||||||
echo -e "Not updating game server as auto update was set to 0. Starting Server"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Replace Startup Variables
|
|
||||||
MODIFIED_STARTUP=$(eval echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')
|
|
||||||
echo ":/home/container$ ${MODIFIED_STARTUP}"
|
|
||||||
|
|
||||||
if [[ "${FRAMEWORK}" == "carbon" ]]; then
|
|
||||||
# Carbon: https://github.com/CarbonCommunity/Carbon
|
|
||||||
echo "Updating Carbon..."
|
|
||||||
curl -sSL "https://github.com/CarbonCommunity/Carbon/releases/download/production_build/Carbon.Linux.Release.tar.gz" | tar zx
|
|
||||||
echo "Done updating Carbon!"
|
|
||||||
|
|
||||||
export DOORSTOP_ENABLED=1
|
|
||||||
export DOORSTOP_TARGET_ASSEMBLY="$(pwd)/carbon/managed/Carbon.Preloader.dll"
|
|
||||||
MODIFIED_STARTUP="LD_PRELOAD=$(pwd)/libdoorstop.so ${MODIFIED_STARTUP}"
|
|
||||||
elif [[ "${FRAMEWORK}" == "oxide-staging" ]]; then
|
|
||||||
echo "updating oxide-staging"
|
|
||||||
curl -sSL -o oxide-staging.zip "https://downloads.oxidemod.com/artifacts/Oxide.Rust/staging/Oxide.Rust-linux.zip"
|
|
||||||
unzip -o -q oxide-staging.zip
|
|
||||||
rm oxide-staging.zip
|
|
||||||
echo "Done updating oxide Staging"
|
|
||||||
elif [[ "$OXIDE" == "1" ]] || [[ "${FRAMEWORK}" == "oxide" ]]; then
|
|
||||||
# Oxide: https://github.com/OxideMod/Oxide.Rust
|
|
||||||
echo "Updating uMod..."
|
|
||||||
curl -sSL "https://github.com/OxideMod/Oxide.Rust/releases/latest/download/Oxide.Rust-linux.zip" > umod.zip
|
|
||||||
unzip -o -q umod.zip
|
|
||||||
rm umod.zip
|
|
||||||
echo "Done updating uMod!"
|
|
||||||
# else Vanilla, do nothing
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fix for Rust not starting
|
|
||||||
export LD_LIBRARY_PATH=$(pwd)/RustDedicated_Data/Plugins/x86_64:$(pwd)
|
|
||||||
|
|
||||||
# Run the Server
|
|
||||||
/wrapper/wrapper.js "${MODIFIED_STARTUP}"
|
|
@@ -1,140 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
var startupCmd = "";
|
|
||||||
const fs = require("fs");
|
|
||||||
fs.writeFile("latest.log", "", (err) => {
|
|
||||||
if (err) console.log("Callback error in appendFile:" + err);
|
|
||||||
});
|
|
||||||
|
|
||||||
var args = process.argv.splice(process.execArgv.length + 2);
|
|
||||||
for (var i = 0; i < args.length; i++) {
|
|
||||||
if (i === args.length - 1) {
|
|
||||||
startupCmd += args[i];
|
|
||||||
} else {
|
|
||||||
startupCmd += args[i] + " ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (startupCmd.length < 1) {
|
|
||||||
console.log("Error: Please specify a startup command.");
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
const seenPercentage = {};
|
|
||||||
|
|
||||||
function filter(data) {
|
|
||||||
const str = data.toString();
|
|
||||||
if (str.startsWith("Loading Prefab Bundle ")) { // Rust seems to spam the same percentage, so filter out any duplicates.
|
|
||||||
const percentage = str.substr("Loading Prefab Bundle ".length);
|
|
||||||
if (seenPercentage[percentage]) return;
|
|
||||||
|
|
||||||
seenPercentage[percentage] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
var exec = require("child_process").exec;
|
|
||||||
console.log("Starting Rust...");
|
|
||||||
|
|
||||||
var exited = false;
|
|
||||||
const gameProcess = exec(startupCmd);
|
|
||||||
gameProcess.stdout.on('data', filter);
|
|
||||||
gameProcess.stderr.on('data', filter);
|
|
||||||
gameProcess.on('exit', function (code, signal) {
|
|
||||||
exited = true;
|
|
||||||
|
|
||||||
if (code) {
|
|
||||||
console.log("Main game process exited with code " + code);
|
|
||||||
// process.exit(code);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function initialListener(data) {
|
|
||||||
const command = data.toString().trim();
|
|
||||||
if (command === 'quit') {
|
|
||||||
gameProcess.kill('SIGTERM');
|
|
||||||
} else {
|
|
||||||
console.log('Unable to run "' + command + '" due to RCON not being connected yet.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
process.stdin.resume();
|
|
||||||
process.stdin.setEncoding("utf8");
|
|
||||||
process.stdin.on('data', initialListener);
|
|
||||||
|
|
||||||
process.on('exit', function (code) {
|
|
||||||
if (exited) return;
|
|
||||||
|
|
||||||
console.log("Received request to stop the process, stopping the game...");
|
|
||||||
gameProcess.kill('SIGTERM');
|
|
||||||
});
|
|
||||||
|
|
||||||
var waiting = true;
|
|
||||||
var poll = function () {
|
|
||||||
function createPacket(command) {
|
|
||||||
var packet = {
|
|
||||||
Identifier: -1,
|
|
||||||
Message: command,
|
|
||||||
Name: "WebRcon"
|
|
||||||
};
|
|
||||||
return JSON.stringify(packet);
|
|
||||||
}
|
|
||||||
|
|
||||||
var serverHostname = process.env.RCON_IP ? process.env.RCON_IP : "localhost";
|
|
||||||
var serverPort = process.env.RCON_PORT;
|
|
||||||
var serverPassword = process.env.RCON_PASS;
|
|
||||||
var WebSocket = require("ws");
|
|
||||||
var ws = new WebSocket("ws://" + serverHostname + ":" + serverPort + "/" + serverPassword);
|
|
||||||
|
|
||||||
ws.on("open", function open() {
|
|
||||||
console.log("Connected to RCON. Generating the map now. Please wait until the server status switches to \"Running\".");
|
|
||||||
waiting = false;
|
|
||||||
|
|
||||||
// Hack to fix broken console output
|
|
||||||
ws.send(createPacket('status'));
|
|
||||||
|
|
||||||
process.stdin.removeListener('data', initialListener);
|
|
||||||
gameProcess.stdout.removeListener('data', filter);
|
|
||||||
gameProcess.stderr.removeListener('data', filter);
|
|
||||||
process.stdin.on('data', function (text) {
|
|
||||||
ws.send(createPacket(text));
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
ws.on("message", function (data, flags) {
|
|
||||||
try {
|
|
||||||
var json = JSON.parse(data);
|
|
||||||
if (json !== undefined) {
|
|
||||||
if (json.Message !== undefined && json.Message.length > 0) {
|
|
||||||
console.log(json.Message);
|
|
||||||
const fs = require("fs");
|
|
||||||
fs.appendFile("latest.log", "\n" + json.Message, (err) => {
|
|
||||||
if (err) console.log("Callback error in appendFile:" + err);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log("Error: Invalid JSON received");
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
if (e) {
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
ws.on("error", function (err) {
|
|
||||||
waiting = true;
|
|
||||||
console.log("Waiting for RCON to come up...");
|
|
||||||
setTimeout(poll, 5000);
|
|
||||||
});
|
|
||||||
|
|
||||||
ws.on("close", function () {
|
|
||||||
if (!waiting) {
|
|
||||||
console.log("Connection to server closed.");
|
|
||||||
|
|
||||||
exited = true;
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
poll();
|
|
@@ -1,33 +1,27 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
|
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
|
||||||
|
|
||||||
LABEL author="QuintenQVD" maintainer="josdekurk@gmail.com"
|
LABEL author="QuintenQVD" maintainer="josdekurk@gmail.com"
|
||||||
|
|
||||||
RUN apt update \
|
RUN apt update \
|
||||||
&& apt -y upgrade
|
&& apt -y upgrade
|
||||||
RUN dpkg --add-architecture i386 \
|
RUN dpkg --add-architecture i386 \
|
||||||
&& apt update \
|
&& apt update \
|
||||||
&& apt upgrade -y \
|
&& apt upgrade -y \
|
||||||
&& apt install -y libstdc++6 lib32stdc++6 tar wget curl iproute2 openssl fontconfig dirmngr ca-certificates dnsutils tzdata zip tini \
|
&& apt install -y libstdc++6 lib32stdc++6 tar curl iproute2 openssl fontconfig dirmngr ca-certificates dnsutils tzdata zip tini \
|
||||||
&& apt install -y libtbb12:i386 libtbb-dev:i386 libicu-dev:i386 \
|
&& apt install -y libtbb12:i386 libtbb-dev:i386 libicu-dev:i386 \
|
||||||
&& useradd -d /home/container -m container
|
&& useradd -d /home/container -m container
|
||||||
|
|
||||||
RUN mkdir -p /run/systemd && echo 'docker' > /run/systemd/container
|
RUN mkdir -p /run/systemd && echo 'docker' > /run/systemd/container
|
||||||
RUN rm -rf /var/lib/apt/lists/*
|
RUN rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Temp fix for things that still need libssl1.1 32 bit
|
|
||||||
RUN if [ "$(uname -m)" = "x86_64" ]; then \
|
USER container
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_i386.deb && \
|
ENV USER=container HOME=/home/container
|
||||||
dpkg -i libssl1.1_1.1.0g-2ubuntu4_i386.deb && \
|
WORKDIR /home/container
|
||||||
rm libssl1.1_1.1.0g-2ubuntu4_i386.deb; \
|
|
||||||
fi
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
USER container
|
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
||||||
ENV USER=container HOME=/home/container
|
RUN chmod +x /entrypoint.sh
|
||||||
WORKDIR /home/container
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
|
CMD ["/entrypoint.sh"]
|
||||||
STOPSIGNAL SIGINT
|
|
||||||
|
|
||||||
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
|
||||||
RUN chmod +x /entrypoint.sh
|
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
|
||||||
CMD ["/entrypoint.sh"]
|
|
||||||
|
@@ -32,65 +32,29 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|||||||
RUN dpkg --add-architecture i386 \
|
RUN dpkg --add-architecture i386 \
|
||||||
&& apt update \
|
&& apt update \
|
||||||
&& apt upgrade -y \
|
&& apt upgrade -y \
|
||||||
&& apt install -y \
|
&& apt install -y tar curl gcc g++ lib32gcc-s1 libgcc-11-dev libgcc-12-dev libcurl4-gnutls-dev:i386 libssl-dev:i386 libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 iproute2 gdb libsdl1.2debian libfontconfig1 telnet net-tools netcat-traditional tzdata numactl wget tini \
|
||||||
curl \
|
&& useradd -m -d /home/container container
|
||||||
g++ \
|
|
||||||
gcc \
|
|
||||||
gdb \
|
|
||||||
iproute2 \
|
|
||||||
locales \
|
|
||||||
net-tools \
|
|
||||||
netcat-traditional \
|
|
||||||
tar \
|
|
||||||
telnet \
|
|
||||||
tini \
|
|
||||||
tzdata \
|
|
||||||
wget \
|
|
||||||
lib32gcc-s1 \
|
|
||||||
lib32stdc++6 \
|
|
||||||
lib32tinfo6 \
|
|
||||||
lib32z1 \
|
|
||||||
libcurl3-gnutls:i386 \
|
|
||||||
libcurl4-gnutls-dev:i386 \
|
|
||||||
libcurl4:i386 \
|
|
||||||
libfontconfig1 \
|
|
||||||
libgcc-11-dev \
|
|
||||||
libgcc-12-dev \
|
|
||||||
libncurses5:i386 \
|
|
||||||
libsdl1.2debian \
|
|
||||||
libsdl2-2.0-0:i386 \
|
|
||||||
libssl-dev:i386 \
|
|
||||||
libtinfo6:i386 \
|
|
||||||
|
|
||||||
# Install rcon
|
## install rcon
|
||||||
RUN cd /tmp/ \
|
RUN cd /tmp/ \
|
||||||
&& curl -sSL https://github.com/gorcon/rcon-cli/releases/download/v0.10.3/rcon-0.10.3-amd64_linux.tar.gz > rcon.tar.gz \
|
&& curl -sSL https://github.com/gorcon/rcon-cli/releases/download/v0.10.3/rcon-0.10.3-amd64_linux.tar.gz > rcon.tar.gz \
|
||||||
&& tar xvf rcon.tar.gz \
|
&& tar xvf rcon.tar.gz \
|
||||||
&& mv rcon-0.10.3-amd64_linux/rcon /usr/local/bin/
|
&& mv rcon-0.10.3-amd64_linux/rcon /usr/local/bin/
|
||||||
|
|
||||||
# Temp fix for things that still need libssl1.1
|
# Temp fix for things that still need libssl1.1
|
||||||
RUN if [ "$(uname -m)" = "x86_64" ]; then \
|
RUN if [ "$(uname -m)" = "x86_64" ]; then \
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
|
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
|
||||||
dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
|
dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
|
||||||
rm libssl1.1_1.1.0g-2ubuntu4_amd64.deb; \
|
rm libssl1.1_1.1.0g-2ubuntu4_amd64.deb; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set the locale
|
|
||||||
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
|
|
||||||
locale-gen
|
|
||||||
ENV LANG=en_US.UTF-8
|
|
||||||
ENV LANGUAGE=en_US:en
|
|
||||||
ENV LC_ALL=en_US.UTF-8
|
|
||||||
|
|
||||||
# Setup user and working directory
|
|
||||||
RUN useradd -m -d /home/container -s /bin/bash container
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
CMD ["/entrypoint.sh"]
|
CMD ["/entrypoint.sh"]
|
||||||
|
@@ -52,7 +52,11 @@ fi
|
|||||||
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
|
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
|
||||||
# Update Source Server
|
# Update Source Server
|
||||||
if [ ! -z ${SRCDS_APPID} ]; then
|
if [ ! -z ${SRCDS_APPID} ]; then
|
||||||
./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update 1007 +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit
|
if [ "${STEAM_USER}" == "anonymous" ]; then
|
||||||
|
./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit
|
||||||
|
else
|
||||||
|
numactl --physcpubind=+0 ./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "No appid set. Starting Server"
|
echo -e "No appid set. Starting Server"
|
||||||
fi
|
fi
|
||||||
|
@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ubuntu:22.04
|
|||||||
|
|
||||||
LABEL author="Daniel Barton" maintainer="danny6167@gmail.com"
|
LABEL author="Daniel Barton" maintainer="danny6167@gmail.com"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
## add container user
|
## add container user
|
||||||
RUN useradd -m -d /home/container -s /bin/bash container
|
RUN useradd -m -d /home/container -s /bin/bash container
|
||||||
|
@@ -21,7 +21,7 @@ fi
|
|||||||
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
|
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
|
||||||
# Update Source Server
|
# Update Source Server
|
||||||
if [ ! -z ${SRCDS_APPID} ]; then
|
if [ ! -z ${SRCDS_APPID} ]; then
|
||||||
./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update 1007 +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit
|
./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit
|
||||||
else
|
else
|
||||||
echo -e "No appid set. Starting Server"
|
echo -e "No appid set. Starting Server"
|
||||||
fi
|
fi
|
||||||
|
@@ -1,38 +1,38 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2021 Matthew Penner
|
# Copyright (c) 2021 Matthew Penner
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
# of this software and associated documentation files (the "Software"), to deal
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
# in the Software without restriction, including without limitation the rights
|
# in the Software without restriction, including without limitation the rights
|
||||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
# copies of the Software, and to permit persons to whom the Software is
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
# furnished to do so, subject to the following conditions:
|
# furnished to do so, subject to the following conditions:
|
||||||
#
|
#
|
||||||
# The above copyright notice and this permission notice shall be included in all
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
# copies or substantial portions of the Software.
|
# copies or substantial portions of the Software.
|
||||||
#
|
#
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
#
|
#
|
||||||
|
|
||||||
FROM --platform=$TARGETOS/$TARGETARCH golang:1.22-alpine
|
FROM --platform=$TARGETOS/$TARGETARCH golang:1.22-alpine
|
||||||
|
|
||||||
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
|
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
LABEL org.opencontainers.image.licenses=MIT
|
||||||
|
|
||||||
RUN apk add --update --no-cache ca-certificates tzdata \
|
RUN apk add --update --no-cache ca-certificates tzdata \
|
||||||
&& adduser -D -h /home/container container
|
&& adduser -D -h /home/container container
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
COPY ./../entrypoint.sh /entrypoint.sh
|
COPY ./../entrypoint.sh /entrypoint.sh
|
||||||
CMD [ "/bin/ash", "/entrypoint.sh" ]
|
CMD [ "/bin/ash", "/entrypoint.sh" ]
|
||||||
|
@@ -1,12 +0,0 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH golang:1.23-alpine
|
|
||||||
|
|
||||||
|
|
||||||
RUN apk add --update --no-cache ca-certificates tzdata \
|
|
||||||
&& adduser -D -h /home/container container
|
|
||||||
|
|
||||||
USER container
|
|
||||||
ENV USER=container HOME=/home/container
|
|
||||||
WORKDIR /home/container
|
|
||||||
|
|
||||||
COPY ./../entrypoint.sh /entrypoint.sh
|
|
||||||
CMD [ "/bin/ash", "/entrypoint.sh" ]
|
|
@@ -40,10 +40,10 @@ go version
|
|||||||
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
||||||
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
||||||
# replacing the values.
|
# replacing the values.
|
||||||
PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g')
|
PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)")
|
||||||
|
|
||||||
# Display the command we're running in the output, and then execute it with eval
|
# Display the command we're running in the output, and then execute it with the env
|
||||||
printf "\033[1m\033[33mcontainer@pelican~ \033[0m"
|
# from the container itself.
|
||||||
echo "$PARSED"
|
printf "\033[1m\033[33mcontainer@pelican~ \033[0m%s\n" "$PARSED"
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
eval "$PARSED"
|
exec env ${PARSED}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:11-jdk-noble
|
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:11.0.13_8-jdk-focal
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:17-jdk-noble
|
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:17-jdk-jammy
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:19-jdk-focal
|
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:19-jdk-jammy
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
|
@@ -1,36 +1,36 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:21-jdk-noble
|
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:21-jdk-jammy
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
LABEL org.opencontainers.image.licenses=MIT
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y \
|
&& apt install -y \
|
||||||
curl \
|
curl \
|
||||||
lsof \
|
lsof \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
openssl \
|
openssl \
|
||||||
git \
|
git \
|
||||||
tar \
|
tar \
|
||||||
sqlite3 \
|
sqlite3 \
|
||||||
fontconfig \
|
fontconfig \
|
||||||
tzdata \
|
tzdata \
|
||||||
iproute2 \
|
iproute2 \
|
||||||
libfreetype6 \
|
libfreetype6 \
|
||||||
tini \
|
tini \
|
||||||
zip \
|
zip \
|
||||||
unzip
|
unzip
|
||||||
|
|
||||||
## Setup user and working directory
|
## Setup user and working directory
|
||||||
RUN useradd -m -d /home/container -s /bin/bash container
|
RUN useradd -m -d /home/container -s /bin/bash container
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
CMD ["/entrypoint.sh"]
|
CMD ["/entrypoint.sh"]
|
||||||
|
@@ -1,36 +0,0 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:22-jdk-noble
|
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
|
||||||
|
|
||||||
RUN apt update -y \
|
|
||||||
&& apt install -y \
|
|
||||||
curl \
|
|
||||||
lsof \
|
|
||||||
ca-certificates \
|
|
||||||
openssl \
|
|
||||||
git \
|
|
||||||
tar \
|
|
||||||
sqlite3 \
|
|
||||||
fontconfig \
|
|
||||||
tzdata \
|
|
||||||
iproute2 \
|
|
||||||
libfreetype6 \
|
|
||||||
tini \
|
|
||||||
zip \
|
|
||||||
unzip
|
|
||||||
|
|
||||||
## Setup user and working directory
|
|
||||||
RUN useradd -m -d /home/container -s /bin/bash container
|
|
||||||
USER container
|
|
||||||
ENV USER=container HOME=/home/container
|
|
||||||
WORKDIR /home/container
|
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
|
||||||
RUN chmod +x /entrypoint.sh
|
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
|
||||||
CMD ["/entrypoint.sh"]
|
|
@@ -1,4 +1,4 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:8-jdk-noble
|
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:8u312-b07-jdk-focal
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
|
@@ -40,10 +40,10 @@ java -version
|
|||||||
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
||||||
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
||||||
# replacing the values.
|
# replacing the values.
|
||||||
PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g')
|
PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)")
|
||||||
|
|
||||||
# Display the command we're running in the output, and then execute it with eval
|
# Display the command we're running in the output, and then execute it with the env
|
||||||
printf "\033[1m\033[33mcontainer@pelican~ \033[0m"
|
# from the container itself.
|
||||||
echo "$PARSED"
|
printf "\033[1m\033[33mcontainer@pelican~ \033[0m%s\n" "$PARSED"
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
eval "$PARSED"
|
eval ${PARSED}
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.3
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat \
|
&& apt install -y netcat \
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.4
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat \
|
&& apt install -y netcat \
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.5
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat \
|
&& apt install -y netcat \
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.6
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat \
|
&& apt install -y netcat \
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.7
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat \
|
&& apt install -y netcat \
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:11.2
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat \
|
&& apt install -y netcat \
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:11.3
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat \
|
&& apt install -y netcat \
|
||||||
|
@@ -5,10 +5,10 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:11.4
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat-traditional \
|
&& apt install -y netcat \
|
||||||
&& useradd -d /home/container -m container -s /bin/bash
|
&& useradd -d /home/container -m container -s /bin/bash
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
|
@@ -1,19 +0,0 @@
|
|||||||
# -----------------------------------------------------
|
|
||||||
# MariaDB Image for Pterodactyl
|
|
||||||
# -----------------------------------------------------
|
|
||||||
FROM --platform=$TARGETOS/$TARGETARCH mariadb:11.5
|
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
RUN apt update -y \
|
|
||||||
&& apt install -y netcat-traditional \
|
|
||||||
&& useradd -d /home/container -m container -s /bin/bash
|
|
||||||
|
|
||||||
USER container
|
|
||||||
ENV USER=container HOME=/home/container
|
|
||||||
WORKDIR /home/container
|
|
||||||
|
|
||||||
COPY ../entrypoint.sh /entrypoint.sh
|
|
||||||
CMD ["/bin/bash", "/entrypoint.sh"]
|
|
@@ -1,19 +0,0 @@
|
|||||||
# -----------------------------------------------------
|
|
||||||
# MariaDB Image for Pterodactyl
|
|
||||||
# -----------------------------------------------------
|
|
||||||
FROM --platform=$TARGETOS/$TARGETARCH mariadb:11.6
|
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
RUN apt update -y \
|
|
||||||
&& apt install -y netcat-traditional \
|
|
||||||
&& useradd -d /home/container -m container -s /bin/bash
|
|
||||||
|
|
||||||
USER container
|
|
||||||
ENV USER=container HOME=/home/container
|
|
||||||
WORKDIR /home/container
|
|
||||||
|
|
||||||
COPY ../entrypoint.sh /entrypoint.sh
|
|
||||||
CMD ["/bin/bash", "/entrypoint.sh"]
|
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mongo:4-focal
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat iproute2 \
|
&& apt install -y netcat iproute2 \
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mongo:5-focal
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat iproute2 \
|
&& apt install -y netcat iproute2 \
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mongo:6-jammy
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat iproute2 \
|
&& apt install -y netcat iproute2 \
|
||||||
|
@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mongo:7-jammy
|
|||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN apt update -y \
|
RUN apt update -y \
|
||||||
&& apt install -y netcat iproute2 \
|
&& apt install -y netcat iproute2 \
|
||||||
|
@@ -29,7 +29,11 @@ if [ ! -z "${SRCDS_APPID}" ]; then
|
|||||||
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
|
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
|
||||||
# Update Source Server
|
# Update Source Server
|
||||||
if [ ! -z ${SRCDS_APPID} ]; then
|
if [ ! -z ${SRCDS_APPID} ]; then
|
||||||
./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update 1007 +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit
|
if [ "${STEAM_USER}" == "anonymous" ]; then
|
||||||
|
./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit
|
||||||
|
else
|
||||||
|
numactl --physcpubind=+0 ./steamcmd/steamcmd.sh +force_install_dir /home/container +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) $( [[ -z ${HLDS_GAME} ]] || printf %s "+app_set_config 90 mod ${HLDS_GAME}" ) $( [[ -z ${VALIDATE} ]] || printf %s "validate" ) +quit
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "No appid set. Starting Server"
|
echo -e "No appid set. Starting Server"
|
||||||
fi
|
fi
|
||||||
|
@@ -4,7 +4,7 @@ LABEL author="Torsten Widmann" maintainer="support@goover.de"
|
|||||||
|
|
||||||
RUN apt update \
|
RUN apt update \
|
||||||
&& apt -y upgrade
|
&& apt -y upgrade
|
||||||
RUN apt install -y fontconfig dirmngr
|
RUN apt install -y fontconfig dirmngr numactl
|
||||||
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||||
RUN sh -c 'echo "deb https://download.mono-project.com/repo/debian stable-buster main" > /etc/apt/sources.list.d/mono-official-stable.list'
|
RUN sh -c 'echo "deb https://download.mono-project.com/repo/debian stable-buster main" > /etc/apt/sources.list.d/mono-official-stable.list'
|
||||||
RUN apt update
|
RUN apt update
|
||||||
|
@@ -12,7 +12,7 @@ USER container
|
|||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
|
@@ -12,7 +12,7 @@ USER container
|
|||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
|
@@ -6,12 +6,7 @@ RUN apt update \
|
|||||||
&& apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \
|
&& apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \
|
||||||
&& useradd -m -d /home/container container
|
&& useradd -m -d /home/container container
|
||||||
|
|
||||||
RUN npm install npm@10.x.x typescript ts-node @types/node --location=global
|
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global
|
||||||
|
|
||||||
# install pnpm
|
|
||||||
RUN npm install -g corepack
|
|
||||||
RUN corepack enable
|
|
||||||
RUN corepack prepare pnpm@latest --activate
|
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
|
@@ -8,11 +8,6 @@ RUN apt update \
|
|||||||
|
|
||||||
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global
|
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global
|
||||||
|
|
||||||
# install pnpm
|
|
||||||
RUN npm install -g corepack
|
|
||||||
RUN corepack enable
|
|
||||||
RUN corepack prepare pnpm@latest --activate
|
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
@@ -8,11 +8,6 @@ RUN apt update \
|
|||||||
|
|
||||||
RUN npm install npm@latest typescript ts-node @types/node --location=global
|
RUN npm install npm@latest typescript ts-node @types/node --location=global
|
||||||
|
|
||||||
# install pnpm
|
|
||||||
RUN npm install -g corepack
|
|
||||||
RUN corepack enable
|
|
||||||
RUN corepack prepare pnpm@latest --activate
|
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
@@ -6,12 +6,7 @@ RUN apt update \
|
|||||||
&& apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \
|
&& apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \
|
||||||
&& useradd -m -d /home/container container
|
&& useradd -m -d /home/container container
|
||||||
|
|
||||||
RUN npm install npm@10.x.x typescript ts-node @types/node --location=global
|
RUN npm install npm@latest typescript ts-node @types/node --location=global
|
||||||
|
|
||||||
# install pnpm
|
|
||||||
RUN npm install -g corepack
|
|
||||||
RUN corepack enable
|
|
||||||
RUN corepack prepare pnpm@latest --activate
|
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV USER=container HOME=/home/container
|
ENV USER=container HOME=/home/container
|
||||||
|
@@ -1,25 +0,0 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH node:22-bookworm-slim
|
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
|
||||||
|
|
||||||
RUN apt update \
|
|
||||||
&& apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \
|
|
||||||
&& useradd -m -d /home/container container
|
|
||||||
|
|
||||||
RUN npm install npm@latest typescript ts-node @types/node --location=global
|
|
||||||
|
|
||||||
# install pnpm
|
|
||||||
RUN npm install -g corepack
|
|
||||||
RUN corepack enable
|
|
||||||
RUN corepack prepare pnpm@latest --activate
|
|
||||||
|
|
||||||
USER container
|
|
||||||
ENV USER=container HOME=/home/container
|
|
||||||
WORKDIR /home/container
|
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
|
||||||
RUN chmod +x /entrypoint.sh
|
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
|
||||||
CMD ["/entrypoint.sh"]
|
|
@@ -1,25 +0,0 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH node:23-bookworm-slim
|
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
|
||||||
|
|
||||||
RUN apt update \
|
|
||||||
&& apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \
|
|
||||||
&& useradd -m -d /home/container container
|
|
||||||
|
|
||||||
RUN npm install npm@latest typescript ts-node @types/node --location=global
|
|
||||||
|
|
||||||
# install pnpm
|
|
||||||
RUN npm install -g corepack
|
|
||||||
RUN corepack enable
|
|
||||||
RUN corepack prepare pnpm@latest --activate
|
|
||||||
|
|
||||||
USER container
|
|
||||||
ENV USER=container HOME=/home/container
|
|
||||||
WORKDIR /home/container
|
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
|
||||||
|
|
||||||
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
|
|
||||||
RUN chmod +x /entrypoint.sh
|
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
|
||||||
CMD ["/entrypoint.sh"]
|
|
@@ -34,11 +34,11 @@ cd /home/container || exit 1
|
|||||||
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
||||||
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
||||||
# replacing the values.
|
# replacing the values.
|
||||||
PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g')
|
PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)")
|
||||||
|
|
||||||
# Display the command we're running in the output, and then execute it with eval
|
# Display the command we're running in the output, and then execute it with the env
|
||||||
printf "\033[1m\033[33mcontainer@pelican~ \033[0m"
|
# from the container itself.
|
||||||
echo "$PARSED"
|
printf "\033[1m\033[33mcontainer@pelican~ \033[0m%s\n" "$PARSED"
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
eval "$PARSED"
|
exec env ${PARSED}
|
||||||
|
|
||||||
|
@@ -5,7 +5,7 @@ LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
|||||||
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
LABEL org.opencontainers.image.licenses=MIT
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
RUN useradd -m -d /home/container -s /bin/bash container
|
RUN useradd -m -d /home/container -s /bin/bash container
|
||||||
|
|
||||||
|
@@ -1,35 +1,31 @@
|
|||||||
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:24.04
|
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:22.04
|
||||||
|
|
||||||
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source="https://github.com/pelican-eggs/yolks"
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
LABEL org.opencontainers.image.licenses=MIT
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
## add container user
|
||||||
|
RUN useradd -m -d /home/container -s /bin/bash container
|
||||||
|
|
||||||
## Add container user
|
## update base packages
|
||||||
RUN useradd -m -d /home/container -s /bin/bash container
|
RUN apt update \
|
||||||
ENV USER=container HOME=/home/container
|
&& apt upgrade -y
|
||||||
|
|
||||||
## Update base packages
|
## install dependencies
|
||||||
RUN apt update \
|
RUN apt install -y gcc g++ libgcc1 libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \
|
||||||
&& apt upgrade -y
|
libfontconfig icu-devtools libunwind8 sqlite3 libsqlite3-dev libzip4 locales ffmpeg apt-transport-https init-system-helpers \
|
||||||
|
libcurl3-gnutls liblua5.1-0 libluajit-5.1-2 libsqlite3-0 bzip2 zlib1g libevent-dev libmariadb-dev-compat libmariadb-dev libssl-dev \
|
||||||
|
libfluidsynth-dev libmariadb-dev libicu-dev libssl3 libduktape207 libjsoncpp-dev libleveldb1d libncurses5 libncursesw5 tini
|
||||||
|
|
||||||
## Install dependencies
|
## configure locale
|
||||||
RUN apt install -y gcc g++ libgcc1 libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat-openbsd telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \
|
RUN update-locale lang=en_US.UTF-8 \
|
||||||
libfontconfig icu-devtools libunwind8 sqlite3 libsqlite3-dev libzip4 locales ffmpeg apt-transport-https init-system-helpers \
|
&& dpkg-reconfigure --frontend noninteractive locales
|
||||||
libcurl3-gnutls liblua5.1-0 libluajit-5.1-2 libsqlite3-0 bzip2 zlib1g libevent-dev libmariadb-dev-compat libmariadb-dev libssl-dev \
|
|
||||||
libfluidsynth-dev libmariadb-dev libicu-dev libssl3 libduktape207 libjsoncpp-dev libleveldb1d libncurses6 libncursesw6 tini
|
|
||||||
|
|
||||||
## Configure locale
|
WORKDIR /home/container
|
||||||
RUN update-locale lang=en_US.UTF-8 \
|
|
||||||
&& dpkg-reconfigure --frontend noninteractive locales
|
|
||||||
|
|
||||||
WORKDIR /home/container
|
STOPSIGNAL SIGINT
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
|
||||||
|
|
||||||
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
|
||||||
CMD ["/entrypoint.sh"]
|
CMD ["/entrypoint.sh"]
|
@@ -11,7 +11,7 @@ RUN adduser -D -h /home/container container
|
|||||||
RUN apk add --no-cache tini curl iproute2 ca-certificates fontconfig git openssl sqlite tar tzdata
|
RUN apk add --no-cache tini curl iproute2 ca-certificates fontconfig git openssl sqlite tar tzdata
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV HOME=/home/container
|
ENV HOME /home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
@@ -11,7 +11,7 @@ RUN adduser -D -h /home/container container
|
|||||||
RUN apk add --no-cache tini curl iproute2 ca-certificates fontconfig git openssl sqlite tar tzdata
|
RUN apk add --no-cache tini curl iproute2 ca-certificates fontconfig git openssl sqlite tar tzdata
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV HOME=/home/container
|
ENV HOME /home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
@@ -11,7 +11,7 @@ RUN adduser -D -h /home/container container
|
|||||||
RUN apk add --no-cache tini curl iproute2 ca-certificates fontconfig git openssl sqlite tar tzdata
|
RUN apk add --no-cache tini curl iproute2 ca-certificates fontconfig git openssl sqlite tar tzdata
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV HOME=/home/container
|
ENV HOME /home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
@@ -11,7 +11,7 @@ RUN adduser -D -h /home/container container
|
|||||||
RUN apk add --no-cache tini curl iproute2 ca-certificates fontconfig git openssl sqlite tar tzdata
|
RUN apk add --no-cache tini curl iproute2 ca-certificates fontconfig git openssl sqlite tar tzdata
|
||||||
|
|
||||||
USER container
|
USER container
|
||||||
ENV HOME=/home/container
|
ENV HOME /home/container
|
||||||
WORKDIR /home/container
|
WORKDIR /home/container
|
||||||
|
|
||||||
STOPSIGNAL SIGINT
|
STOPSIGNAL SIGINT
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user