1 Commits

Author SHA1 Message Date
Quinten
c2e9695479 add: games_rust with oxide staging support 2024-05-10 10:32:21 +02:00
133 changed files with 667 additions and 2043 deletions

1
.gitattributes vendored
View File

@@ -1 +0,0 @@
* text eol=lf

View File

@@ -11,5 +11,5 @@
### New Image Submissions:
1. [ ] Have you added your image to the [Github workflows](https://github.com/pelican-eggs/yolks/tree/master/.github/workflows)?
1. [ ] Have you added your image to the [Github workflows](https://github.com/parkervcp/yolks/tree/master/.github/workflows)?
2. [ ] Have you updated the README list to contain your new image?

View File

@@ -32,12 +32,11 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./apps/${{ matrix.app }}
file: ./apps/${{ matrix.app }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/apps:${{ matrix.app }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/apps:{0}', matrix.app) || '' }}
ghcr.io/parkervcp/apps:${{ matrix.app }}

View File

@@ -30,12 +30,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./oses/${{ matrix.oses }}
file: ./oses/${{ matrix.oses }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/yolks:${{ matrix.oses }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:{0}', matrix.oses) || '' }}
ghcr.io/parkervcp/yolks:${{ matrix.oses }}

View File

@@ -41,7 +41,7 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./bot/${{ matrix.tag }}
file: ./bot/${{ matrix.tag }}/Dockerfile
@@ -50,8 +50,7 @@ jobs:
cache-to: type=local,dest=/tmp/.buildx-cache-new
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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
run: |
rm -rf /tmp/.buildx-cache
@@ -76,11 +75,11 @@ jobs:
# registry: ghcr.io
# username: ${{ github.repository_owner }}
# password: ${{ secrets.REGISTRY_TOKEN }}
# - uses: docker/build-push-action@v6
# - uses: docker/build-push-action@v5
# with:
# context: ./bot/${{ matrix.tag }}
# file: ./bot/${{ matrix.tag }}/Dockerfile
# platforms: linux/amd64
# push: true
# tags: |
# ${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:bot_{0}', matrix.tag) || '' }}
# ghcr.io/parkervcp/yolks:bot_${{ matrix.tag }}

View File

@@ -1,39 +1,38 @@
name: build box64
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- box64/**
jobs:
push:
name: "yolks:${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- box64
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
with:
context: ./box64
file: ./${{ matrix.tag }}/Dockerfile
platforms: linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/yolks:${{ matrix.tag }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:{0}', matrix.tag) || '' }}
name: build box64
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- box64/**
jobs:
push:
name: "yolks:${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- box64
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v5
with:
context: ./box64
file: ./${{ matrix.tag }}/Dockerfile
platforms: linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:${{ matrix.tag }}

View File

@@ -29,12 +29,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./bun
file: ./bun/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -28,12 +28,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./cassandra
file: ./cassandra/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -1,44 +1,43 @@
name: build dart
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- dart/**
jobs:
push:
name: "yolks:dart_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- '2.17'
- '2.18'
- '2.19'
- '3.3'
- 'stable'
steps:
- uses: actions/checkout@v4
# Setup QEMU for ARM64 Build
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
with:
context: ./dart
file: ./dart/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/yolks:dart_${{ matrix.tag }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:dart_{0}', matrix.tag) || '' }}
name: build dart
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- dart/**
jobs:
push:
name: "yolks:dart_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- '2.17'
- '2.18'
- '2.19'
- '3.3'
- 'stable'
steps:
- uses: actions/checkout@v4
# Setup QEMU for ARM64 Build
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v5
with:
context: ./dart
file: ./dart/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:dart_${{ matrix.tag }}

View File

@@ -22,7 +22,6 @@ jobs:
- 6
- 7
- 8
- 9
steps:
- uses: actions/checkout@v4
# Setup QEMU for ARM64 Build
@@ -35,12 +34,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./dotnet
file: ./dotnet/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -32,12 +32,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./elixir
file: ./elixir/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -31,12 +31,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./erlang
file: ./erlang/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -20,12 +20,11 @@ jobs:
- arma3
- dayz
- mohaa
- rust
- samp
- source
- valheim
- thebattleforwesnoth
- zandronum
- rust
steps:
- uses: actions/checkout@v4
@@ -37,15 +36,14 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./games/${{ matrix.game }}
file: ./games/${{ matrix.game }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/games:${{ matrix.game }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/games:{0}', matrix.game) || '' }}
ghcr.io/parkervcp/games:${{ matrix.game }}
pushAll:
name: "games_All:${{ matrix.game }}"
runs-on: ubuntu-latest
@@ -69,12 +67,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./games/${{ matrix.game }}
file: ./games/${{ matrix.game }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/games:${{ matrix.game }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/games:{0}', matrix.game) || '' }}
ghcr.io/parkervcp/games:${{ matrix.game }}

View File

@@ -25,7 +25,6 @@ jobs:
- '1.20'
- '1.21'
- '1.22'
- '1.23'
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
@@ -36,12 +35,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./go
file: ./go/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -30,12 +30,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./installers
file: ./installers/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/installers:${{ matrix.tag }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/installers:{0}', matrix.tag) || '' }}
ghcr.io/parkervcp/installers:${{ matrix.tag }}

View File

@@ -25,7 +25,6 @@ jobs:
- 17
- 19
- 21
- 22
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
@@ -37,12 +36,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./java
file: ./java/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -25,8 +25,6 @@ jobs:
- '11.2'
- '11.3'
- '11.4'
- '11.5'
- '11.6'
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
@@ -38,12 +36,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./mariadb
file: ./mariadb/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -17,10 +17,10 @@ jobs:
fail-fast: false
matrix:
tag:
- 4
- 5
- 6
- 7
- 8
steps:
- uses: actions/checkout@v4
- uses: docker/setup-qemu-action@v3
@@ -32,12 +32,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./mongodb
file: ./mongodb/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -27,12 +27,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./mono
file: ./mono/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -24,9 +24,6 @@ jobs:
- 19
- 20
- 21
- 22
- 23
- 24
steps:
- uses: actions/checkout@v4
# Setup QEMU for ARM64 Build
@@ -39,12 +36,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./nodejs
file: ./nodejs/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -35,12 +35,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./postgres
file: ./postgres/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -23,7 +23,6 @@ jobs:
- '3.10'
- '3.11'
- '3.12'
- '3.13'
steps:
- uses: actions/checkout@v4
# Setup QEMU for ARM64 Build
@@ -36,12 +35,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./python
file: ./python/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -31,12 +31,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./redis
file: ./redis/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -31,12 +31,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./rust
file: ./rust/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -32,12 +32,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./steamcmd
file: ./steamcmd/${{ matrix.distro }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/steamcmd:${{ matrix.distro }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/steamcmd:{0}', matrix.distro) || '' }}
ghcr.io/parkervcp/steamcmd:${{ matrix.distro }}

View File

@@ -27,16 +27,14 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./voice/${{ matrix.tag }}
file: ./voice/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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:
name: "yolks:voice_${{ matrix.tag }}"
@@ -59,12 +57,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./voice/${{ matrix.tag }}
file: ./voice/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -16,10 +16,6 @@ jobs:
fail-fast: false
matrix:
tag:
- "7"
- "8"
- "9"
- "10"
- latest
- devel
- staging
@@ -33,12 +29,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v5
with:
context: ./wine
file: ./wine/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/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 }}

View File

@@ -97,8 +97,6 @@ is tagged correctly.
* `ghcr.io/parkervcp/yolks:dotnet_7`
* [`dotnet8.0`](/dotnet/8)
* `ghcr.io/parkervcp/yolks:dotnet_8`
* [`dotnet9.0`](/dotnet/9)
* `ghcr.io/parkervcp/yolks:dotnet_9`
### [Elixir](/elixir)
@@ -133,11 +131,9 @@ is tagged correctly.
* [`minetest`](/games/minetest)
* `ghcr.io/parkervcp/games:minetest`
* [`mohaa`](games/mohaa)
* `ghcr.io/parkervcp/games:mohaa`
* `ghcr.io/pterodactyl/games:mohaa`
* [`Multi Theft Auto: San Andreas`](games/mta)
* `ghcr.io/parkervcp/games:mta`
* [`Rust (dedicated server)`](games/rust)
* `ghcr.io/parkervcp/games:rust`
* `ghcr.io/pterodactyl/games:mta`
* [`samp`](/games/samp)
* `ghcr.io/parkervcp/games:samp`
* [`source`](/games/source)
@@ -146,8 +142,6 @@ is tagged correctly.
* `ghcr.io/parkervcp/games:thebattleforwesnoth`
* [`valheim`](/games/valheim)
* `ghcr.io/parkervcp/games:valheim`
* [`zandronum`](/games/zandronum)
* `ghcr.io/parkervcp/games:zandronum`
### [Golang](/go)
@@ -169,8 +163,6 @@ is tagged correctly.
* `ghcr.io/parkervcp/yolks:go_1.21`
* [`go1.22`](/go/1.22)
* `ghcr.io/parkervcp/yolks:go_1.22`
* [`go1.23`](/go/1.23)
* `ghcr.io/parkervcp/yolks:go_1.23`
### [Java](/java)
@@ -186,8 +178,6 @@ is tagged correctly.
* `ghcr.io/parkervcp/yolks:java_19`
* [`java21`](/java/21)
* `ghcr.io/parkervcp/yolks:java_21`
* [`java22`](/java/22)
* `ghcr.io/parkervcp/yolks:java_22`
### [MariaDB](/mariadb)
@@ -207,21 +197,17 @@ is tagged correctly.
* `ghcr.io/parkervcp/yolks:mariadb_11.3`
* [`MariaDB 11.4`](/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 4`](/mongodb/4)
* `ghcr.io/parkervcp/yolks:mongodb_4`
* [`MongoDB 5`](/mongodb/5)
* `ghcr.io/parkervcp/yolks:mongodb_5`
* [`MongoDB 6`](/mongodb/6)
* `ghcr.io/parkervcp/yolks:mongodb_6`
* [`MongoDB 7`](/mongodb/7)
* `ghcr.io/parkervcp/yolks:mongodb_7`
* [`MongoDB 8`](/mongodb/8)
* `ghcr.io/parkervcp/yolks:mongodb_8`
### [Mono](/mono)
@@ -246,13 +232,7 @@ is tagged correctly.
* `ghcr.io/parkervcp/yolks:nodejs_20`
* [`node21`](/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`
* [`node24`](/nodejs/24)
* `ghcr.io/parkervcp/yolks:nodejs_24`
### [PostgreSQL](/postgres)
* [`Postgres 9`](/postgres/9)
@@ -282,8 +262,6 @@ is tagged correctly.
* `ghcr.io/parkervcp/yolks:python_3.11`
* [`python3.12`](/python/3.12)
* `ghcr.io/parkervcp/yolks:python_3.12`
* [`python3.13`](/python/3.13)
* `ghcr.io/parkervcp/yolks:python_3.13`
### [Redis](/redis)
@@ -326,10 +304,6 @@ is tagged correctly.
### [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_devel`
* `ghcr.io/parkervcp/yolks:wine_staging`

View File

@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
# general packages

View File

@@ -3,7 +3,7 @@ FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
LABEL org.opencontainers.image.authors="i2007@damw.eu"
LABEL version="1.0"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
# Install Dependencies
RUN apt update \
@@ -14,8 +14,8 @@ RUN apt update \
&& useradd -m -d /home/container container
#RUN python3 -m pip install requests
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
USER container
ENV USER=container HOME=/home/container

View File

@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
LABEL author="QuintenQVD" maintainer="josdekurk@gmail.com"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
## Update base packages
RUN apt update \

View File

@@ -12,27 +12,27 @@ export INTERNAL_IP
cd /home/container || exit 1
# Print Java version
printf "\033[1m\033[33mcontainer@pelican~ \033[0mjava -version\n"
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mjava -version\n"
java -version
# Print Python version
if command -v python &> /dev/null
then
printf "\033[1m\033[33mcontainer@pelican~ \033[0mpython --version\n"
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython --version\n"
python --version
else
printf "\033[1m\033[33mcontainer@pelican~ \033[0mpython3 --version\n"
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython3 --version\n"
python3 --version
fi
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
# variable format of "${VARIABLE}" before evaluating the string and automatically
# replacing the values.
PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g')
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
printf "\033[1m\033[33mcontainer@pelican~ \033[0m"
echo "$PARSED"
# Display the command we're running in the output, and then execute it with the env
# from the container itself.
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED"
# shellcheck disable=SC2086
eval "$PARSED"
exec env ${PARSED}

View File

@@ -1,18 +1,18 @@
FROM --platform=$TARGETOS/$TARGETARCH dart:2.17
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
RUN apt update \
&& apt -y install iproute2 git ca-certificates tzdata tini \
&& useradd -m -d /home/container 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"]
FROM --platform=$TARGETOS/$TARGETARCH dart:2.17
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
RUN apt update \
&& apt -y install iproute2 git ca-certificates tzdata tini \
&& useradd -m -d /home/container 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"]

View File

@@ -1,18 +1,18 @@
FROM --platform=$TARGETOS/$TARGETARCH dart:2.18
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
RUN apt update \
&& apt -y install iproute2 git ca-certificates tzdata tini \
&& useradd -m -d /home/container 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"]
FROM --platform=$TARGETOS/$TARGETARCH dart:2.18
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
RUN apt update \
&& apt -y install iproute2 git ca-certificates tzdata tini \
&& useradd -m -d /home/container 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"]

View File

@@ -1,18 +1,18 @@
FROM --platform=$TARGETOS/$TARGETARCH dart:2.19
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
RUN apt update \
&& apt -y install iproute2 git ca-certificates tzdata tini \
&& useradd -m -d /home/container 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"]
FROM --platform=$TARGETOS/$TARGETARCH dart:2.19
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
RUN apt update \
&& apt -y install iproute2 git ca-certificates tzdata tini \
&& useradd -m -d /home/container 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"]

View File

@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
LABEL author="Torsten Widmann" maintainer="info@goover.de"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \

View File

@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
LABEL author="Torsten Widmann" maintainer="info@goover.de"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \

View File

@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
LABEL author="Torsten Widmann" maintainer="info@goover.de"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \

View File

@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
LABEL author="Torsten Widmann" maintainer="info@goover.de"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \

View File

@@ -1,25 +1,25 @@
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/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 \
&& ./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"]
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/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 \
&& ./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"]

View File

@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/parkervcp/yolks:debian
LABEL author="Torsten Widmann" maintainer="info@goover.de"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \

View File

@@ -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"]

View File

@@ -9,7 +9,7 @@ export INTERNAL_IP
export DOTNET_ROOT=/usr/share/
# print the dotnet version on startup
printf "\033[1m\033[33mcontainer@pelican~ \033[0mdotnet --version\n"
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mdotnet --version\n"
dotnet --version
# Replace Startup Variables

View File

@@ -1,16 +1,16 @@
FROM --platform=$TARGETOS/$TARGETARCH erlang:25-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata iproute2 \
&& 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" ]
FROM --platform=$TARGETOS/$TARGETARCH erlang:25-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata iproute2 \
&& 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" ]

View File

@@ -1,16 +1,16 @@
FROM --platform=$TARGETOS/$TARGETARCH erlang:26-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata iproute2 \
&& 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" ]
FROM --platform=$TARGETOS/$TARGETARCH erlang:26-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata iproute2 \
&& 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" ]

View File

@@ -10,16 +10,16 @@ export INTERNAL_IP
cd /home/container || exit 1
# Print Erlang's version
printf "\033[1m\033[33mcontainer@pelican~ \033[0merl -noshell -eval 'erlang:display(erlang:system_info(system_version))' -eval 'init:stop()'\n"
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0merl -noshell -eval 'erlang:display(erlang:system_info(system_version))' -eval 'init:stop()'\n"
erl -noshell -eval 'erlang:display(erlang:system_info(system_version))' -eval 'init:stop()'
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
# variable format of "${VARIABLE}" before evaluating the string and automatically
# replacing the values.
PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g')
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
printf "\033[1m\033[33mcontainer@pelican~ \033[0m"
echo "$PARSED"
# Display the command we're running in the output, and then execute it with the env
# from the container itself.
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED"
# shellcheck disable=SC2086
eval "$PARSED"
exec env ${PARSED}

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH node:16-bookworm
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
@@ -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 \
&& dpkg -i packages-microsoft-prod.deb \
&& 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 \
&& dpkg-reconfigure --frontend noninteractive locales
@@ -32,4 +32,4 @@ STOPSIGNAL SIGINT
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["/entrypoint.sh"]
CMD ["/entrypoint.sh"]

View File

@@ -1,6 +1,6 @@
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.licenses=MIT

View File

@@ -54,9 +54,8 @@ function RunSteamCMD { #[Input: int server=0 mod=1 optional_mod=2; int id]
# Error checking for SteamCMD
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\|libcurl")
if [[ -n ${loggedErrors} ]]; then
loggedErrors=$(grep -i "error\|failed" "${STEAMCMD_LOG}" | grep -iv "setlocal\|SDL\|steamservice\|thread")
if [[ -n ${loggedErrors} ]]; then # Catch errors (ignore setlocale, SDL, steamservice, and thread priority warnings)
# Soft errors
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})"
@@ -347,12 +346,6 @@ if [[ ${MODS_LOWERCASE} == "1" ]]; then
done
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
if [[ ${CLEAR_CACHE} == "1" ]]; then
echo -e "\n${GREEN}[STARTUP]: ${CYAN}Clearing Headless Client profiles cache...${NC}"
@@ -402,11 +395,7 @@ fi
# Start the Server
echo -e "\n${GREEN}[STARTUP]:${NC} Starting server with the following startup command:"
echo -e "${CYAN}${modifiedStartup}${NC}\n"
if [[ "$STARTUP_PARAMS" == *"-noLogs"* ]]; then
${modifiedStartup}
else
${modifiedStartup} 2>&1 | tee -a "$LOG_FILE"
fi
${modifiedStartup}
if [ $? -ne 0 ]; then
echo -e "\n${RED}PTDL_CONTAINER_ERR: There was an error while attempting to run the start command.${NC}\n"

View File

@@ -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
## Update base packages and install dependencies
@@ -17,6 +17,7 @@ RUN dpkg --add-architecture i386 \
iproute2 \
gettext-base \
ca-certificates \
numactl \
libssl-dev \
lib32gcc-s1 \
libsdl2-2.0-0 \
@@ -28,17 +29,11 @@ RUN dpkg --add-architecture i386 \
libnss-wrapper \
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
RUN update-locale lang=en_US.UTF-8 \
&& 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
RUN touch ${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
WORKDIR /home/container
STOPSIGNAL SIGINT
STOPSIGNAL SIGINT
## Copy over and execute entrypoint.sh via Tini
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["/entrypoint.sh"]

View File

@@ -1,16 +1,15 @@
#!/bin/bash
## File: DayZ Image - entrypoint.sh
## File: Pterodactyl DayZ SA Image - entrypoint.sh
## Author: David Wolfe (Red-Thirten)
## Contributors: Aussie Server Hosts (https://aussieserverhosts.com/)
## Date: 2024/06/05
## Date: 2022/11/27
## License: MIT License
## === CONSTANTS ===
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
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
CYAN='\033[0;36m'
@@ -46,16 +45,14 @@ function RunSteamCMD { #[Input: int server=0 mod=1; int id]
# Check if updating server or mod
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
${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
# Error checking for SteamCMD
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\|libcurl")
if [[ -n ${loggedErrors} ]]; then
if [[ -n $(grep -i "error\|failed" "${STEAMCMD_LOG}" | grep -iv "setlocal\|SDL\|thread") ]]; then # Catch errors (ignore setlocale, SDL, and thread priority warnings)
# Soft errors
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})"
@@ -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
mkdir -p ./@$2
rm -rf ./@$2/*
mv -f ${WORKSHOP_DIR}/content/$GAME_ID/$2/* ./@$2
rm -d ${WORKSHOP_DIR}/content/$GAME_ID/$2
mv -f ./Steam/steamapps/workshop/content/$GAME_ID/$2/* ./@$2
rm -d ./Steam/steamapps/workshop/content/$GAME_ID/$2
# Make the mods contents all lowercase
ModsLowercase @$2
# 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
echo -e "\tMod was last updated: ${CYAN}$(date -d @${latestUpdate})${NC}"
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"
RunSteamCMD 1 $modID
fi
@@ -288,6 +280,6 @@ echo -e "${CYAN}${modifiedStartup}${NC}\n"
${modifiedStartup}
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
fi

View File

@@ -1,16 +1,16 @@
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update -y \
&& apt install -y curl ca-certificates openssl git tar gnupg2 sqlite3 fontconfig tzdata iproute2 libfreetype6 software-properties-common \
&& useradd -d /home/container -m container
RUN add-apt-repository -y ppa:minetestdevs/stable
RUN apt update && apt -y install minetest
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./entrypoint.sh /entrypoint.sh
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:22.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y curl ca-certificates openssl git tar gnupg2 sqlite3 fontconfig tzdata iproute2 libfreetype6 software-properties-common \
&& useradd -d /home/container -m container
RUN add-apt-repository -y ppa:minetestdevs/stable
RUN apt update && apt -y install minetest
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

View File

@@ -12,7 +12,7 @@ export INTERNAL_IP
cd /home/container || exit 1
# Print minetest version
printf "\033[1m\033[33mcontainer@pelican~ \033[0mminetest --version\n"
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mminetest --version\n"
minetest --version
# Replace Startup Variables

View File

@@ -1,42 +1,23 @@
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
## add container user
RUN useradd -m -d /home/container -s /bin/bash container
## update base packages
RUN apt update && \
apt upgrade -y
## install dependencies
RUN apt install -y iproute2 \
curl \
git \
zip \
unzip \
tar \
xz-utils \
apt-transport-https \
openssl \
libssl3 \
default-libmysqlclient-dev \
libmysqlclient-dev \
libreadline-dev \
libncurses-dev \
libtool \
python3 \
locales \
ffmpeg \
libc6 \
binutils \
liblua5.1-0
## configure locale
RUN update-locale lang=en_US.UTF-8 && \
dpkg-reconfigure --frontend noninteractive locales
WORKDIR /home/container
COPY ./entrypoint.sh /entrypoint.sh
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:20.04
ENV DEBIAN_FRONTEND noninteractive
## add container user
RUN useradd -m -d /home/container -s /bin/bash container
## update base packages
RUN apt update \
&& apt upgrade -y
## install dependencies
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
## configure locale
RUN update-locale lang=en_US.UTF-8 \
&& dpkg-reconfigure --frontend noninteractive locales
WORKDIR /home/container
COPY ./entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

View File

@@ -1,41 +1,23 @@
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" ]
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& apt install -y lib32gcc-s1 lib32stdc++6 unzip curl iproute2 tzdata libgdiplus libsdl2-2.0-0:i386 tini \
&& useradd -d /home/container -m container
# To-Do add and download new golang wrapper here
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"]

View File

@@ -1,18 +1,8 @@
#!/bin/bash
cd /home/container
# 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
# Make internal Docker IP address available to processes.
export INTERNAL_IP=`ip route get 1 | awk '{print $(NF-2);exit}'`
## if auto_update is not set or to 1 update
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
@@ -23,13 +13,13 @@ else
fi
# Replace Startup Variables
MODIFIED_STARTUP=$(eval echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')
MODIFIED_STARTUP=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')`
echo ":/home/container$ ${MODIFIED_STARTUP}"
if [[ "${FRAMEWORK}" == "carbon" ]]; then
# Carbon: https://github.com/CarbonCommunity/Carbon
# Carbon: https://github.com/CarbonCommunity/Carbon.Core
echo "Updating Carbon..."
curl -sSL "https://github.com/CarbonCommunity/Carbon/releases/download/production_build/Carbon.Linux.Release.tar.gz" | tar zx
curl -sSL "https://github.com/CarbonCommunity/Carbon.Core/releases/download/production_build/Carbon.Linux.Release.tar.gz" | tar zx
echo "Done updating Carbon!"
export DOORSTOP_ENABLED=1
@@ -55,4 +45,4 @@ fi
export LD_LIBRARY_PATH=$(pwd)/RustDedicated_Data/Plugins/x86_64:$(pwd)
# Run the Server
/wrapper/wrapper.js "${MODIFIED_STARTUP}"
wrapper "${MODIFIED_STARTUP}"

View File

@@ -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();

View File

@@ -1,33 +1,27 @@
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
LABEL author="QuintenQVD" maintainer="josdekurk@gmail.com"
RUN apt update \
&& apt -y upgrade
RUN dpkg --add-architecture i386 \
&& apt update \
&& 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 libtbb12:i386 libtbb-dev:i386 libicu-dev:i386 \
&& useradd -d /home/container -m container
RUN mkdir -p /run/systemd && echo 'docker' > /run/systemd/container
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 \
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_i386.deb && \
dpkg -i libssl1.1_1.1.0g-2ubuntu4_i386.deb && \
rm libssl1.1_1.1.0g-2ubuntu4_i386.deb; \
fi
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"]
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
LABEL author="QuintenQVD" maintainer="josdekurk@gmail.com"
RUN apt update \
&& apt -y upgrade
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& 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 \
&& useradd -d /home/container -m container
RUN mkdir -p /run/systemd && echo 'docker' > /run/systemd/container
RUN rm -rf /var/lib/apt/lists/*
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"]

View File

@@ -32,65 +32,29 @@ ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& apt install -y \
curl \
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
&& 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 \
&& useradd -m -d /home/container container
# Install rcon
## install rcon
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 \
&& tar xvf rcon.tar.gz \
&& mv rcon-0.10.3-amd64_linux/rcon /usr/local/bin/
# Temp fix for things that still need libssl1.1
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 && \
dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
rm libssl1.1_1.1.0g-2ubuntu4_amd64.deb; \
fi
# Temp fix for things that still need libssl1.1
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 && \
dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
rm libssl1.1_1.1.0g-2ubuntu4_amd64.deb; \
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
ENV USER=container HOME=/home/container
WORKDIR /home/container
STOPSIGNAL SIGINT
STOPSIGNAL SIGINT
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["/entrypoint.sh"]

View File

@@ -52,7 +52,11 @@ fi
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
# Update Source Server
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
echo -e "No appid set. Starting Server"
fi

View File

@@ -2,7 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH ubuntu:22.04
LABEL author="Daniel Barton" maintainer="danny6167@gmail.com"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
## add container user
RUN useradd -m -d /home/container -s /bin/bash container

View File

@@ -21,7 +21,7 @@ fi
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
# Update Source Server
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
echo -e "No appid set. Starting Server"
fi

View File

@@ -1,33 +0,0 @@
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
RUN apt update && \
apt upgrade -y && \
apt install -y \
tini \
wget \
libsdl1.2debian \
libsdl2-2.0-0
RUN wget https://snapshot.debian.org/archive/debian/20190501T215844Z/pool/main/g/glibc/multiarch-support_2.28-10_amd64.deb && \
wget https://snapshot.debian.org/archive/debian/20141009T042436Z/pool/main/libj/libjpeg8/libjpeg8_8d1-2_amd64.deb && \
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
apt install -y ./libjpeg8_8d1-2_amd64.deb ./multiarch-support_2.28-10_amd64.deb ./libssl1.1_1.1.0g-2ubuntu4_amd64.deb
## add container user
RUN useradd -m -d /home/container -s /bin/bash container
# Set up user and working directory
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
# Set the stop signal
STOPSIGNAL SIGINT
# Copy and set up the entrypoint script
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Define entrypoint and command
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["/entrypoint.sh"]

View File

@@ -1,13 +0,0 @@
#!/bin/bash
cd /home/container
# Make internal Docker IP address available to processes.
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Replace Startup Variables
MODIFIED_STARTUP=$(echo -e $(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g'))
echo -e ":/home/container$ ${MODIFIED_STARTUP}"
# Run the Server
eval ${MODIFIED_STARTUP}

View File

@@ -1,38 +1,38 @@
#
# Copyright (c) 2021 Matthew Penner
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
FROM --platform=$TARGETOS/$TARGETARCH golang:1.22-alpine
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
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" ]
#
# Copyright (c) 2021 Matthew Penner
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
FROM --platform=$TARGETOS/$TARGETARCH golang:1.22-alpine
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
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" ]

View File

@@ -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" ]

View File

@@ -34,16 +34,16 @@ export INTERNAL_IP
cd /home/container || exit 1
# Print Go version
printf "\033[1m\033[33mcontainer@pelican~ \033[0mgo version\n"
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mgo version\n"
go version
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
# variable format of "${VARIABLE}" before evaluating the string and automatically
# replacing the values.
PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g')
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
printf "\033[1m\033[33mcontainer@pelican~ \033[0m"
echo "$PARSED"
# Display the command we're running in the output, and then execute it with the env
# from the container itself.
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED"
# shellcheck disable=SC2086
eval "$PARSED"
exec env ${PARSED}

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -1,36 +1,36 @@
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:21-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"]
FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:21-jdk-jammy
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"]

View File

@@ -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"]

View File

@@ -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"

View File

@@ -34,16 +34,16 @@ export INTERNAL_IP
cd /home/container || exit 1
# Print Java version
printf "\033[1m\033[33mcontainer@pelican~ \033[0mjava -version\n"
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mjava -version\n"
java -version
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
# variable format of "${VARIABLE}" before evaluating the string and automatically
# replacing the values.
PARSED=$(echo "$STARTUP" | sed -e 's/{{/${/g' -e 's/}}/}/g')
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
printf "\033[1m\033[33mcontainer@pelican~ \033[0m"
echo "$PARSED"
# Display the command we're running in the output, and then execute it with the env
# from the container itself.
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED"
# shellcheck disable=SC2086
eval "$PARSED"
eval ${PARSED}

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.3
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.4
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.5
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.6
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.7
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:11.2
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:11.3
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \

View File

@@ -5,10 +5,10 @@ FROM --platform=$TARGETOS/$TARGETARCH mariadb:11.4
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat-traditional \
&& apt install -y netcat \
&& useradd -d /home/container -m container -s /bin/bash
USER container

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -1,14 +1,14 @@
# ----------------------------------
# Environment: MongoDB
# ----------------------------------
FROM --platform=$TARGETOS/$TARGETARCH mongo:8-noble
FROM --platform=$TARGETOS/$TARGETARCH mongo:4-focal
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat-openbsd iproute2 \
&& apt install -y netcat iproute2 \
&& useradd -d /home/container -m container -s /bin/bash
USER container

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mongo:5-focal
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat iproute2 \

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mongo:6-jammy
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat iproute2 \

View File

@@ -5,7 +5,7 @@ FROM --platform=$TARGETOS/$TARGETARCH mongo:7-jammy
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat iproute2 \

View File

@@ -29,7 +29,11 @@ if [ ! -z "${SRCDS_APPID}" ]; then
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
# Update Source Server
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
echo -e "No appid set. Starting Server"
fi

View File

@@ -4,7 +4,7 @@ LABEL author="Torsten Widmann" maintainer="support@goover.de"
RUN apt update \
&& 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 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

View File

@@ -2,37 +2,18 @@ FROM --platform=$TARGETOS/$TARGETARCH node:12-bullseye-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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
RUN npm install --global npm@latest typescript ts-node @types/node
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global
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", "--"]

View File

@@ -2,37 +2,18 @@ FROM --platform=$TARGETOS/$TARGETARCH node:14-bullseye-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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
RUN npm install --global npm@latest typescript ts-node @types/node
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global
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", "--"]

View File

@@ -2,37 +2,18 @@ FROM --platform=$TARGETOS/$TARGETARCH node:16-bookworm-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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
RUN npm install --global npm@9.x.x typescript ts-node @types/node
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global
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", "--"]

View File

@@ -2,37 +2,18 @@ FROM --platform=$TARGETOS/$TARGETARCH node:17-bullseye-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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 libnss3 tini \
&& useradd -m -d /home/container container
RUN npm install --global npm@8.x.x typescript ts-node @types/node
RUN npm install npm@8.11.0 typescript ts-node @types/node --location=global
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", "--"]

View File

@@ -2,42 +2,18 @@ FROM --platform=$TARGETOS/$TARGETARCH node:18-bookworm-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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
RUN npm install --global npm@10.x.x typescript ts-node @types/node
# install pnpm
RUN npm install -g corepack
RUN corepack enable
RUN corepack prepare pnpm@latest --activate
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global
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", "--"]

View File

@@ -2,43 +2,19 @@ FROM --platform=$TARGETOS/$TARGETARCH node:19-bullseye-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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
RUN npm install --global npm@9.x.x typescript ts-node @types/node
# install pnpm
RUN npm install -g corepack
RUN corepack enable
RUN corepack prepare pnpm@latest --activate
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global
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", "--"]
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["/entrypoint.sh"]

View File

@@ -2,42 +2,18 @@ FROM --platform=$TARGETOS/$TARGETARCH node:20-bookworm-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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
RUN npm install --global npm@latest typescript ts-node @types/node
# install pnpm
RUN npm install -g corepack
RUN corepack enable
RUN corepack prepare pnpm@latest --activate
RUN npm install npm@latest typescript ts-node @types/node --location=global
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", "--"]

View File

@@ -2,42 +2,18 @@ FROM --platform=$TARGETOS/$TARGETARCH node:21-bookworm-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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
RUN npm install --global npm@10.x.x typescript ts-node @types/node
# install pnpm
RUN npm install -g corepack@latest
RUN corepack enable
RUN corepack prepare pnpm@latest --activate
RUN npm install npm@latest typescript ts-node @types/node --location=global
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", "--"]

View File

@@ -1,44 +0,0 @@
FROM --platform=$TARGETOS/$TARGETARCH node:22-bookworm-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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
RUN npm install --global npm@latest typescript ts-node @types/node
# 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
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["/entrypoint.sh"]

View File

@@ -1,44 +0,0 @@
FROM --platform=$TARGETOS/$TARGETARCH node:23-bookworm-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
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
RUN npm install --global npm@latest typescript ts-node @types/node
# 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
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["/entrypoint.sh"]

Some files were not shown because too many files have changed in this diff Show More