268 Commits

Author SHA1 Message Date
Quinten
8fa7a9076b Merge pull request #124 from gOOvER/nodejs-fix
removed 2nd layer of npm install
2023-01-28 16:21:51 +01:00
gOOvER
112a4fd3dd removed 2nd layer of npm install 2023-01-28 16:02:52 +01:00
Quinten
2aa3647c4f Merge pull request #123 from gOOvER/fixactions
removed version pinning from BuildKit in github actions
2023-01-28 10:30:44 +01:00
gOOvER
f471b14ed9 removed version pinning from BuildKit 2023-01-28 09:49:09 +01:00
Michael (Parker) Parker
e6bcb46ec0 Merge pull request #122 from gOOvER/npmupdate
Nodejs / add npm install npm@latest -g
2023-01-27 14:17:02 -05:00
gOOvER
dbd807f77b add npm install npm@latest -g 2023-01-27 20:11:24 +01:00
Quinten
4461eec267 Merge pull request #121 from gOOvER/patch-10
wine: update Mono for Wine 8
2023-01-26 17:32:36 +01:00
Torsten Widmann
fab1bc983c update Mono for Wine 8 2023-01-26 17:28:55 +01:00
Quinten
c4f00eb1c6 Merge pull request #120 from gOOvER/steamfix
wine: add fix for login to steamcmd
2023-01-22 16:59:25 +01:00
gOOvER
d316775d80 add fix for login 2023-01-22 16:56:48 +01:00
Quinten
eaeccca9f3 Merge pull request #118 from gOOvER/patch-8
wine_staging: add libsdl2-2.0-0 to prevent error
2023-01-16 18:58:22 +01:00
Quinten
8357fdb559 Merge pull request #119 from gOOvER/patch-9
wine_latest: add libsdl2-2.0-0 to prevent errors
2023-01-16 18:57:53 +01:00
Torsten Widmann
babae9abb0 Update Dockerfile 2023-01-16 17:15:50 +01:00
Torsten Widmann
8b1be5f194 add libsdl2-2.0-0 to prevent errors 2023-01-16 17:15:12 +01:00
Torsten Widmann
140f021df5 add libsdl2-2.0-0 to prevent error 2023-01-16 17:13:56 +01:00
Quinten
ee5cd831d9 Merge pull request #115 from gOOvER/patch-7
OS:Debian: add libfluidsynth2 for OpenTTD
2023-01-08 16:06:21 +01:00
Torsten Widmann
9c32930d92 add libfluidsynth2 for OpenTTD 2023-01-08 16:03:44 +01:00
Quinten
f056ef9a59 Merge pull request #114 from gOOvER/altvnet7
add support for dotnet7 to alt:v
2023-01-06 11:01:58 +01:00
gOOvER
f419c72aad add net7 2023-01-06 10:55:10 +01:00
Michael (Parker) Parker
147ad2b808 Merge pull request #113 from parkervcp/hotfix-steamcmd
fix build steamcmd
2022-12-31 10:22:52 -05:00
Quinten
ab693f3f9a steamcmd: (./../ -> ../) 2022-12-30 20:22:08 +01:00
Quinten
5416728357 fix build 2022-12-30 11:27:54 +01:00
Quinten
6c1690ed34 Merge pull request #111 from gOOvER/steamcmd
added steamcmd images and update buildx to latest
2022-12-30 11:20:34 +01:00
Quinten
933d994790 steamcmd fix maintainer + platform select 2022-12-30 11:17:38 +01:00
Michael (Parker) Parker
42ca29c178 Merge pull request #107 from parkervcp/ubuntu-22.04
Update ubuntu to 22.04
2022-12-23 12:44:06 -05:00
gOOvER
52588fd6a3 typo 2022-12-23 18:01:20 +01:00
gOOvER
1a2cc48e26 missed on folder 2022-12-23 17:50:39 +01:00
gOOvER
e9f7995b25 Update README.md 2022-12-23 17:45:11 +01:00
gOOvER
7d91253f57 added steamcmd images and update buildx to latest 2022-12-23 17:41:12 +01:00
Michael (Parker) Parker
a7c48061ba Merge pull request #108 from parkervcp/bot-bastion
update bastion
2022-12-15 10:10:59 -05:00
Quinten
2bc577c6d1 update bastion 2022-12-15 16:02:31 +01:00
Quinten
e0a72d3b52 fix ubuntu 22 2022-12-10 11:42:01 +01:00
Quinten
4bd8939dcf Update Dockerfile 2022-12-04 20:17:45 +01:00
Michael (Parker) Parker
0f336f3f95 Merge pull request #104 from lilkingjr1/arma3
[Arma 3] Hot Fix SteamCMD Intermittently Failing Workshop Downloads
2022-11-29 15:07:43 -05:00
Red-Thirten
5742a2b8d8 Hot Fix Intermittent SteamCMD Failure & Improvements
- Fixes current issue where SteamCMD will intermittently present a "Failure" error when downloading Workshop mods due to a corrupt cache file.
- Replaced hard coded workshop directory path with a variable.
2022-11-29 11:17:22 -08:00
Red-Thirten
2ba5155100 Dockerfile - Tabs to Spaces 2022-11-29 11:09:27 -08:00
Quinten
dbdbc2fc1b Merge pull request #103 from parkervcp/parkertron_add_ca-certs
Parkertron add ca certs
2022-11-29 18:44:11 +01:00
Michael (Parker) Parker
c564e117f5 add ca-certificates
Reformatted File
Added notes

Moved general packages to their own line

Added eng language package to image as it's the default supported lang
2022-11-29 12:27:25 -05:00
Michael (Parker) Parker
d23d5cebe8 add ca-certificates 2022-11-29 12:18:51 -05:00
Quinten
0a5f5a45e8 Merge pull request #102 from lilkingjr1/source
[Source] Fix SteamCMD crash when logging in with real account
2022-11-27 21:48:30 +01:00
Quinten
83f64a3cb0 Merge pull request #101 from lilkingjr1/dayz
[DayZ] Fix SteamCMD crash when downloading mods
2022-11-27 21:46:55 +01:00
Red-Thirten
3b2edf8e50 Change entrypoint.sh to run SteamCMD on one CPU
Utilize `numactl` to force SteamCMD to run on only one CPU which resolves its current crashing issues on Debian when logging in with real accounts.
2022-11-27 12:31:53 -08:00
Red-Thirten
cc9f611a73 Add numactl to Dockerfile
Adds `numactl` package so it can be used within entrypoint.sh.
2022-11-27 12:18:54 -08:00
Red-Thirten
a70dabc45a Dockerfile - Tabs to spaces 2022-11-27 12:07:13 -08:00
Red-Thirten
e0b5384ab1 Change entrypoint.sh to run SteamCMD on one CPU
- Utilize `numactl` to force SteamCMD to run on only one CPU which resolves its current crashing issues on Debian.
- SteamCMD now complains about thread priority due to it failing to properly load `libSDL` (`libSDL` is included in the image, but will not load properly if it is not installed on the host due to it containing a kernel extension). Therefore, any warnings regarding threads will now be ignored.
- If SteamCMD fatally crashes, copy the directory where it saves its dumps (`/tmp/dumps`) to `/home/container` for easier debugging access.
2022-11-27 12:04:33 -08:00
Red-Thirten
1e1296b943 Add numactl to Dockerfile
Adds `numactl` package so it can be used within entrypoint.sh.
2022-11-27 12:01:48 -08:00
Quinten
a24bfa66fb Merge pull request #100 from lilkingjr1/arma3-debian
[Arma 3] Fix SteamCMD Crashing (Debian Edition)
2022-11-27 08:36:26 +01:00
Red-Thirten
38ec9eb9dc Change entrypoint.sh to run SteamCMD on one CPU
- Utilize `numactl` to force SteamCMD to run on only one CPU which resolves its current crashing issues on Debian.
- SteamCMD now complains about thread priority due to it failing to properly load `libSDL` (`libSDL` is included in the image, but will not load properly if it is not installed on the host due to it containing a kernel extension). Therefore, any warnings regarding threads will now be ignored.
- If SteamCMD fatally crashes, copy the directory where it saves its dumps (`/tmp/dumps`) to `/home/container` for easier debugging access.
2022-11-26 22:38:19 -08:00
Red-Thirten
7b44c28077 Add numactl to Dockerfile
Adds `numactl` package so it can be used within entrypoint.sh.
2022-11-26 22:28:27 -08:00
Quinten
68ffa9077e Merge pull request #95 from gOOvER/patch-7
add missing dotnet7 to readme
2022-11-26 15:33:13 +01:00
Quinten
efbb8cdf10 Merge pull request #98 from parkervcp/update_parkertron
update parkertron image
2022-11-26 15:25:32 +01:00
Michael (Parker) Parker
b4d915f6f5 update start command 2022-11-26 09:24:20 -05:00
Michael (Parker) Parker
dca678b143 update image
use the correct base image and add iproute2
2022-11-26 09:01:06 -05:00
Michael (Parker) Parker
5fef0ac2a7 update parkertron image 2022-11-25 18:29:00 -05:00
Torsten Widmann
e10d59432b add missing dotnet7 to readme 2022-11-13 20:38:40 +01:00
Michael (Parker) Parker
b57080cf56 Merge pull request #93 from gOOvER/dotnet7
add dotnet 7 image
2022-11-09 09:21:07 -05:00
Torsten Widmann
8c99fcdd6c add dotnet 7 2022-11-09 15:19:37 +01:00
Michael (Parker) Parker
b341ec2230 Merge pull request #88 from parkervcp/rethinkdb
add libprotobuf23 debian
2022-11-04 16:53:44 -04:00
Quinten
37a50d3fe2 add libprotobuf23 debian 2022-11-04 19:19:42 +01:00
Torsten Widmann
e0357d8c83 add python 3.11 (#87) 2022-10-28 13:04:44 +03:00
Quinten
e092d3b10d Merge pull request #85 from gOOvER/patch-6
remove not longer maintained java images
2022-10-24 20:01:54 +02:00
Torsten Widmann
1db5e3644a removed not longer maintained java images 2022-10-24 19:57:06 +02:00
Michael (Parker) Parker
b49284cfcb Merge pull request #82 from parkervcp/wine-staging
add wine staging + update mono and gecko version
2022-10-17 21:07:35 -04:00
Michael (Parker) Parker
551681e3e3 Merge pull request #83 from parkervcp/mumble-arm64-build
add mumble to be build on arm
2022-10-13 19:29:35 -04:00
Quinten
42c385ccfa add qemu for build mumble 2022-10-13 18:50:05 +02:00
Quinten
60c2ea90a6 Merge pull request #84 from devnote-dev/dart-lang
feat: add dart-lang image
2022-10-10 20:16:25 +02:00
devnote-dev
b0af8c08ad Merge branch 'master' into dart-lang 2022-10-10 19:13:15 +01:00
devnote-dev
ad0edbeca7 fix: order image correctly 2022-10-10 19:11:56 +01:00
devnote-dev
b50c2d57de feat: add dart-lang image 2022-10-09 20:17:52 +01:00
Quinten
559efa8297 fix brom bash to ash 2022-10-09 20:48:48 +02:00
QuintenQVD0
2b28025cd1 update workflow build naming 2022-10-09 20:30:52 +02:00
Quinten
6cafe12193 do not try to print the cargo version as it is not installed 2022-10-05 20:24:32 +02:00
Quinten
c4c273461c add mumble to main readme 2022-10-05 20:22:43 +02:00
Quinten
babd606e28 add mumble to be build on arm 2022-10-05 20:18:13 +02:00
Quinten
f439d16e4f Merge pull request #75 from parkervcp/add/mumble
add mumble image
2022-10-05 18:34:18 +02:00
Quinten
eb204c0184 add to readme 2022-10-02 18:52:55 +02:00
Quinten
96b0d0c84f add wine staging + update mono and gecko version 2022-10-02 18:51:42 +02:00
Michael (Parker) Parker
3b0cd40708 Merge pull request #81 from parkervcp/remove_youtube-dl_sinusbot
Remove youtube-dl sinusbot
2022-10-01 05:00:34 -07:00
Quinten
7a1c48f044 Remove youtube-dl sinusbot
remove the youtube-dl bin out of the sinusbot image as it is not needed and will be download with the egg install script
2022-10-01 13:48:04 +02:00
Quinten
62079c76c2 Merge pull request #80 from gOOvER/sinusbotytdl
Sinusbot - add youtubedl
2022-10-01 12:10:22 +02:00
Torsten Widmann
3d21f637cd add bzip2 libxss1 libxcomposite1 2022-10-01 12:06:36 +02:00
Quinten
a0da0949b5 Merge pull request #71 from gOOvER/patch-5
removed double xvfb package
2022-10-01 12:03:19 +02:00
Torsten Widmann
df290261e6 add youtubedl 2022-10-01 10:58:54 +02:00
Michael (Parker) Parker
038772db1a Merge pull request #79 from oliver194/master
Add Ubuntu installer image + add java 19 & ubuntu installer to the readme file.
2022-09-30 10:01:16 -07:00
oliver194
dd3c4cfcb6 fix for aarch64 2022-09-30 17:29:51 +01:00
oliver194
b6a7cd70dc Add java 19 + ubuntu installer 2022-09-30 08:20:02 +01:00
oliver194
6c8f9ca120 Merge branch 'parkervcp:master' into master 2022-09-30 08:15:59 +01:00
Michael (Parker) Parker
200a9ad0c4 Merge pull request #78 from danny6167/add-valheim
Add Valheim specific image
2022-09-29 15:39:58 -07:00
Michael (Parker) Parker
9ba58dfa5b Merge branch 'master' into add-valheim 2022-09-29 15:39:52 -07:00
Daniel Barton
fee04c857e fix conflict 2022-09-30 05:07:39 +08:00
Daniel Barton
da84dee67d Add Valheim specific image
This image uses NSS wrapper to enable Valheim to load with libparty.so/crossplay. Otherwise it fails due to the UID not being a valid user
2022-09-30 04:48:44 +08:00
Quinten
0d7c8bf4f9 Merge pull request #77 from parkervcp/update_sinusbot_image
Update Sinusbot Image
2022-09-29 21:39:22 +02:00
Michael (Parker) Parker
9ae8c1427a Update Sinusbot Image 2022-09-29 14:43:16 -04:00
oliver194
daf942cc8b Update installers.yml 2022-09-29 12:10:54 +01:00
oliver194
fd3d88d98a add ubuntu installer 2022-09-29 12:09:51 +01:00
Daniel Barton
885373a1d5 Rename DockerFile to Dockerfile (#76) 2022-09-28 15:58:08 +03:00
Michael Parker
d07eb520b5 add mumble image 2022-09-26 15:00:32 -04:00
Michael (Parker) Parker
e8947cb71b Merge pull request #74 from oliver194/master
add java 19 to be built
2022-09-25 07:14:31 -07:00
oliver194
42ab4c6c84 add java 19 to be built 2022-09-25 08:36:57 +01:00
Michael (Parker) Parker
a53d51f6fc Merge pull request #73 from PterodactylFan/patch-2
Java 19 support
2022-09-24 10:37:00 -07:00
Michael (Parker) Parker
68b8b19eb0 Merge pull request #69 from ExtremTechniker/feat/add-golang-17-to-19
Add Go Versions 1.17, 1.18 and 1.19
2022-09-24 09:41:32 -07:00
PterodactylFan
0665f931d8 Create DockerFile 2022-09-24 19:38:23 +03:00
Torsten Widmann
bde731de72 removed double xvfb package 2022-09-18 10:23:29 +02:00
Extrem Techniker
695deed0d9 Add Go Versions 1.17, 1.18 and 1.19 2022-09-14 11:17:28 +02:00
Michael (Parker) Parker
a310a8c01b Merge pull request #67 from gOOvER/mongodb6
add mongodb 6
2022-08-28 08:12:03 -04:00
Torsten Widmann
c76cc152d6 added mongodb6 to readme 2022-08-28 14:11:49 +02:00
Torsten Widmann
3781925838 add mongodb 6 2022-08-28 14:10:37 +02:00
Alex
89e25a6c58 fix(redis): correct ci login action version
V3 doesn't exist.
2022-08-15 16:00:26 +03:00
Alex
e666c81354 docs(pr-template): add description field
Short overview of why something is changed is helpful in reviewing the PR
2022-08-14 16:07:11 +03:00
Torsten Widmann
2a9dddad44 build: update workflow dependencies to the latest versions (#65) 2022-08-07 12:58:29 +03:00
Michael (Parker) Parker
cf3cb2cd84 Merge pull request #66 from gOOvER/add-redis-7
add Redis 7 Image
2022-08-03 22:09:31 -04:00
Torsten Widmann
032d9bcf41 workflow 2022-08-01 16:07:04 +02:00
Torsten Widmann
8141da4091 add redis 7 Image 2022-08-01 16:06:19 +02:00
Torsten Widmann
246ff17dd6 Merge branch 'parkervcp:master' into master 2022-08-01 15:45:28 +02:00
Alex
c47ac7f71b ci(box64): fix file path 2022-07-21 10:09:20 +03:00
Alex
f636454065 ci(box64): fix tag name 2022-07-21 10:01:11 +03:00
Michael (Parker) Parker
524ef63b53 Merge pull request #48 from Th3Dilli/mohaa
Mohaa
2022-07-19 12:20:38 -04:00
Michael (Parker) Parker
40529b238a Merge pull request #63 from QuintenQVD0/patch-2
Add Box64 arm64 Emulator Image
2022-07-19 12:19:57 -04:00
Quinten
87f386f237 add files 2022-07-06 16:40:21 +02:00
Quinten
06dd419177 Create Dockerfile 2022-07-06 16:36:29 +02:00
Alex
68547991a3 feat(installers): add tar and unzip to alpine 2022-06-18 16:37:45 +03:00
Manuel Dielacher
530d8149ec Merge branch 'master' into mohaa 2022-06-16 09:06:15 +02:00
Michael (Parker) Parker
5f15c2a0c0 Merge pull request #56 from QuintenQVD0/wine-mono
update wine-mono version
2022-06-13 15:10:40 -04:00
Michael (Parker) Parker
960561cb0b Merge pull request #62 from gOOvER/patch-4
update rcon -cli to 0.10.2
2022-06-10 15:06:17 -04:00
Torsten Widmann
92ac2cf943 update rcon -cli to 0.10.2
rcon-cli changelog:

Added --timeout, -T flag, allowed to set dial and execute timeout #20.
Added Makefile.
2022-06-10 16:38:48 +02:00
gOOvER
bff217e1f5 Merge remote-tracking branch 'upstream/master' 2022-06-08 10:21:28 +02:00
Michael (Parker) Parker
8db3f9ce01 Merge pull request #58 from parkervcp/ci/platform
ci: fix multi platform builds
2022-05-31 15:36:19 -04:00
Michael (Parker) Parker
27f81b7928 Merge pull request #61 from gOOvER/patch-3
Update/Wine - add tzdata
2022-05-31 15:35:30 -04:00
Torsten Widmann
1e257e11fc typo 2022-05-31 20:28:09 +02:00
Torsten Widmann
7528d7949f add tzdata 2022-05-31 20:26:18 +02:00
Michael (Parker) Parker
73b6889384 Merge pull request #57 from lilkingjr1/arma3
Arma 3 Image Cleanup & Refurbishment
2022-05-23 08:07:44 -04:00
Michael (Parker) Parker
9e163269a3 Merge pull request #59 from lilkingjr1/dayz
Add DayZ Standalone Image
2022-05-22 22:47:46 -04:00
Red-Thirten
84abe90d35 Fix Entrypoint contributors 2022-05-22 19:42:37 -07:00
Red-Thirten
c13524ceab Add DayZ to root README 2022-05-22 19:20:37 -07:00
softwarenoob
5e94fc4239 fix: multi platform builds 2022-05-23 05:17:41 +03:00
Red-Thirten
c4c9556772 Fix --platform FROM flag in Dockerfile 2022-05-22 19:15:05 -07:00
Red-Thirten
afe583692c Initial Upload
Currently only works with experimental branch of DayZ Standalone.
2022-05-22 18:32:49 -07:00
Red-Thirten
e750a642c9 Arma 3 Image Cleanup & Refurbishment
Files:
- Remove dependency of having `libnss_wrapper.so` libraries directly in the image. Instead, use the libraries provided with their respective packages. This fixes the current 32-bit version being broken and ensures the libraries stay up to date with their respective packages.
- Slight change to passwd.template to accommodate variable name change.

Dockerfile:
- Change the base image to Debian, which from testing appears to run cleaner and faster for Arma. It also should yield a smaller image.
- Fix depreciated `ENV` call format.
- Removed un-needed packages.
- Added iproute2 package.
- Consolidated the NSS Wrapper setup to a commented group of lines to make understanding it's purpose and setup more clear.
- Added shell flag to `useradd` command.

Entrypoint:
- General cleanup.
- Changed `LD_PRELOAD`s to point to package-provided library file locations.
2022-05-22 17:35:03 -07:00
Quinten
8d8151b304 update wine-mono 2022-05-18 18:16:20 +02:00
Th3Dilli
9f576f32e9 Merge remote-tracking branch 'origin/master' into mohaa 2022-05-13 21:17:32 +02:00
Th3Dilli
8fed9ba306 apply INTERNAL_IP fix 2022-05-13 21:15:33 +02:00
Th3Dilli
ad792dc521 fix alphabetical order 2022-05-13 21:14:43 +02:00
Michael (Parker) Parker
cc7a9d0da5 Merge pull request #54 from QuintenQVD0/samp
add samp image
2022-05-03 15:53:18 -04:00
Quinten
bb84c74981 Fix double tzdata install 2022-05-03 07:06:37 +02:00
Quinten
73a2340b3b fix alphabetical orde 2022-05-02 17:54:08 +02:00
Quinten
70e5a4321a add samp image 2022-05-02 17:30:09 +02:00
Alex
cd6b949868 fix: invalid INTERNAL_IP environment value
New IP route output appends UID to the result, causing the value to be set to that instead of the IP. Fix it by ignoring the last two appended UID results
2022-04-24 18:10:20 +03:00
gOOvER
82aaa60e39 Merge remote-tracking branch 'upstream/master' 2022-04-24 08:31:38 +02:00
Michael (Parker) Parker
9f02fe140f Merge pull request #52 from CDE90/rust-lang
feat: add Rust (language) images
2022-04-22 08:25:01 -04:00
Michael (Parker) Parker
2252e1d37b Merge pull request #49 from IAmSilK/feature-arma3-optional-mods
Add optional mods environment variable to Arma 3 image
2022-04-22 08:00:53 -04:00
Michael (Parker) Parker
ec8d0556b0 Merge pull request #53 from gOOvER/nodejs18
add nodejs18
2022-04-22 07:56:25 -04:00
gOOvER
91cba2e3e5 Update README.md 2022-04-22 07:38:43 +02:00
gOOvER
bc57e78b0c add nodejs18 2022-04-22 07:36:18 +02:00
gOOvER
160614b7df Merge remote-tracking branch 'upstream/master' 2022-04-22 07:31:34 +02:00
CDE90
e889a1e143 Update README.md 2022-04-17 16:19:55 +01:00
CDE90
fb6c0dcf56 Add rust language 2022-04-17 16:16:14 +01:00
Alex
b99d99e233 feat(arma): install tzdata
resolves #50
2022-03-26 17:41:49 +02:00
IAmSilK
e79e8cdd4d Ensure optional mods files are deleted after downloading and keys are removed if an optional mod is unconfigured 2022-03-25 01:50:24 -03:00
IAmSilK
1769dffa31 Add optional mods environment variable which allows for downloading mods without requiring them from clients 2022-03-23 19:39:55 -03:00
Michael (Parker) Parker
daf1f5ca6f Merge pull request #47 from QuintenQVD0/patch-1
Update ALTV
2022-03-16 18:58:53 -04:00
Th3Dilli
d268ce3f5a rm debian changes 2022-03-13 12:16:30 +01:00
Th3Dilli
3c8acf91ce add image to readme 2022-03-13 12:12:01 +01:00
Th3Dilli
9b2a7384bd add mohaa image based on debian 2022-03-13 11:57:42 +01:00
Quinten
5fd5db9c81 Update ALTV
The image was broken , It spit out a error: `[09:00:13][Error] Error loading "libcsharp-module.so", Unix error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: Version `GLIBCXX_3.4.26' not found (required by /home/container/modules/libcsharp-module.so)`
2022-03-13 11:46:58 +01:00
Torsten Widmann
1e037c37d1 feat(wine): Mono 7.1 and HTTPS DL url (#46) 2022-03-12 19:21:17 +02:00
Michael (Parker) Parker
55e128a2b5 Merge pull request #45 from parkervcp/fix_db_images
make sure db images use correct entrypoint
2022-02-28 17:45:08 -05:00
Michael Parker
80bb87e8cb make sure db images use correct entrypoint 2022-02-23 16:02:00 -05:00
gOOvER
c912d54020 Merge remote-tracking branch 'upstream/master' 2022-02-22 15:32:50 +01:00
Manuel Dielacher
dd3b647339 Revert "feat: add mohaa game image (#12)"
Failed Pull request with no support for multiarch. 


This reverts commit 2c88875951.
2022-02-19 18:36:24 +02:00
Manuel Dielacher
2c88875951 feat: add mohaa game image (#12) 2022-02-19 18:06:21 +02:00
Alex
f85bd4d78f Merge branch 'master' into mohaa 2022-02-19 18:05:57 +02:00
Torsten Widmann
ab9fecc764 feat: add altv game image (#43) 2022-02-19 17:45:52 +02:00
Torsten Widmann
c9f2cdddbf Merge branch 'parkervcp:master' into master 2022-02-04 16:37:06 +01:00
Torsten Widmann
7caf182f27 update repo url to debian 11 (#42) 2022-02-03 18:32:47 +02:00
gOOvER
face79057c undo commit 2022-02-03 17:28:54 +01:00
gOOvER
c6d043d91b update repo url to debian 11 2022-02-03 17:26:39 +01:00
Michael (Parker) Parker
77ceb396ff Merge pull request #41 from Emilgardis/java-startup
change startup parsing to eval
2022-02-01 16:55:41 -05:00
Emil Gardström
a93590f3a1 change startup parsing to eval
done for similar reason as 2e366792c1
2022-02-01 22:48:21 +01:00
Torsten Widmann
c263e42dac feat: add PostgreSQL/MongoDB Images and fix multiarch (#40)
add PostgreSQL/MongoDB Images and fixes multi-arch builds for MariaDB, Redis.
2022-01-25 17:08:35 +02:00
softwarenoob
68ef32ee2a ci(redis): fix registry typo 2022-01-24 17:41:43 +02:00
Torsten Widmann
f16413485b Merge remote-tracking branch 'upstream/master' 2022-01-24 16:28:59 +01:00
Torsten Widmann
91cb52ee6b feat: Redis 5 and 6 images (#39) 2022-01-24 17:26:20 +02:00
Torsten Widmann
e7e753bb66 Merge remote-tracking branch 'upstream/master' 2022-01-24 16:14:41 +01:00
Torsten Widmann
fc453017ff feat: add MariaDB Images (#38) 2022-01-23 15:58:11 +02:00
Alex
6ca451ec48 feat(mono): install lib32gcc-s1 for steam (#37) 2022-01-22 13:00:09 +02:00
Alex
f5981b736d feat(base_debian): remove lib32gcc-s1 for ARM support (#36) 2022-01-22 12:49:44 +02:00
gOOvER
b951d4ee77 Merge remote-tracking branch 'parkervcp/master' 2022-01-11 15:31:11 +01:00
Torsten Widmann
8a4ef8387d add libzip4 to base debian (#34) 2022-01-10 19:22:04 +02:00
Manuel Dielacher
d29f934558 Merge branch 'master' into mohaa 2021-12-27 09:10:54 +01:00
gOOvER
9c522ecf1f Merge remote-tracking branch 'parkervcp/master' 2021-12-23 19:50:53 +01:00
Alex
a597262dda Debian: downgrade liblua to 5.3 (#33) 2021-12-22 11:16:10 +02:00
gOOvER
a4cde47402 Merge remote-tracking branch 'parkervcp/master' 2021-12-16 14:01:51 +01:00
Manuel Dielacher
cfe53ba22a Merge branch 'master' into mohaa 2021-12-15 20:21:25 +01:00
Th3Dilli
de54edec3b add mohaa deps 2021-12-15 20:10:44 +01:00
Th3Dilli
4fb11156b8 Revert "add mohaa image"
This reverts commit b515b8a09e.
2021-12-15 20:06:09 +01:00
Th3Dilli
586cdaa793 Revert "add missing dependency for entrypoint.sh"
This reverts commit 9754274aab.
2021-12-15 20:05:55 +01:00
softwarenoob
6bde9c7d3e chore: remove reduntant node 15 non-LTS release
closes #31
2021-12-14 14:58:39 +02:00
gOOvER
bb106d6417 Merge remote-tracking branch 'origin/master' 2021-12-13 17:48:29 +01:00
Michael (Parker) Parker
dd005a0661 Merge pull request #30 from Ethanadams642/master
Update node.js dockerfile to include libtool
2021-12-13 10:47:32 -05:00
Ethan Adams
341204d673 Reverted build username 2021-12-13 10:39:02 -05:00
Ethan Adams
79df97b6f3 Merge branch 'parkervcp:master' into master 2021-12-08 21:04:41 -05:00
Michael (Parker) Parker
f968025491 Merge pull request #28 from parkervcp/add_libevent
add libevent-dev to ubuntu/debian
2021-12-08 20:57:14 -05:00
Ethan Adams
fcfbe573e3 Update nodejs.yml 2021-12-08 20:40:48 -05:00
Ethan Adams
8c996953d9 Update nodejs.yml 2021-12-08 20:33:37 -05:00
Ethan Adams
7e55c3b6ab Added libtool installation to Node.js 12 docker file 2021-12-08 14:12:43 -05:00
Ethan Adams
0ac02a5c42 Added libtool installation to Node.js 14 docker file 2021-12-08 14:12:06 -05:00
Ethan Adams
dc1e8d8bf3 Added libtool installation to Node.js 15 docker file 2021-12-08 14:11:26 -05:00
Ethan Adams
a6d1d9f28e Added libtool installation to Node.js 16 docker file 2021-12-08 14:10:50 -05:00
Ethan Adams
38ef2e77c5 Added libtool installation to Node.js 17 Docker file 2021-12-08 14:09:53 -05:00
Michael (Parker) Parker
9a1ed8985d Merge pull request #29 from PteroForge/nodejsbullseye
Update all nodejs to Bullseye-slim to prevent sqlite3 error
2021-12-08 10:44:16 -05:00
gOOvER
d5e1e2e5ec update all nodejs to bullseye-slim 2021-12-08 07:30:18 +01:00
gOOvER
fb53cb148a Merge remote-tracking branch 'parkervcp/master' 2021-12-08 07:23:40 +01:00
Michael Parker
167df328f4 add libevent-dev to ubuntu/debian
required to run webdis
2021-12-07 21:35:49 -05:00
Alex
e0e3b4bf7b fix(source): windows parameter for auto update 2021-12-07 17:59:54 +02:00
Alex
2e366792c1 ci(source): change startup parsing to eval
exec does not support startups that are more keen of scripts with multiple breaks and statements. Ark or 7d2d are examples of this.

ref https://github.com/parkervcp/eggs/pull/1420
2021-12-07 15:30:41 +02:00
gOOvER
0f0501adfa Merge remote-tracking branch 'parkervcp/master' 2021-12-03 17:11:57 +01:00
Alex
fe82cc0ac0 chore: remove reduntant FiveM specific image 2021-11-27 08:54:41 +02:00
Torsten Widmann
28ce052787 feat: add rconcli to source image (#27) 2021-11-27 08:51:31 +02:00
Alex
84035341a8 fix: force_install_dir error
SteamCMD now complains when trying to login before providing install dir `Please use force_install_dir before logon!`
2021-11-26 01:26:58 +02:00
Fernando De Lucchi
eaedc9408a ci(bots): ARM64 support and layer caching (#26) 2021-11-25 03:27:05 +02:00
Torsten Widmann
7f9cd3c581 Add additional Repos for Wine (#25) 2021-11-24 21:26:54 +02:00
Alex
5b70a19170 fix: package new line installation 2021-11-21 17:48:20 +02:00
Alex
2afebbba5a fix: move user env to the beginning 2021-11-21 17:47:25 +02:00
Alex
aa054a48bf fix: add symbolic link for user 2021-11-21 17:44:31 +02:00
Alex
9bd45e5af0 fix: add user to Debian base 2021-11-21 17:20:08 +02:00
Torsten Widmann
a4ef920a09 fix Debian Image (#24) 2021-11-21 17:10:36 +02:00
Alex
df3be85cba feat: use Bullseye for base Debian image
resolves #23
2021-11-21 16:44:55 +02:00
Alex
ac85bf789d add pull request template 2021-11-20 19:49:03 +02:00
Torsten Widmann
0abb82eb91 add wine latest (#21) 2021-11-20 19:33:43 +02:00
Alex
2c3c2e1615 docs: add Wine 2021-11-20 19:33:31 +02:00
Michael (Parker) Parker
f75391d115 Merge pull request #20 from lilkingjr1/steamcmd-update
[SteamCMD] 11/19/21 Update Fix for `force_install_dir` Warning
2021-11-19 22:34:51 -05:00
Red-Thirten
ac894c3267 Arma3's entrypoint.sh SteamCMD fix
SteamCMD apparently put an update out today that now displays a warning if `+force_install_dir` is after `+login`. This removes the error from appearing.
2021-11-19 19:29:31 -08:00
Red-Thirten
990b4fabab Source's entrypoint.sh SteamCMD fix
SteamCMD apparently put an update out today that now displays a warning if `+force_install_dir` is after `+login`. This removes the error from appearing.
2021-11-19 19:27:07 -08:00
Alex
cd85cfd68c docs(readme): Fix dotnet links 2021-11-20 00:18:03 +02:00
Alex
7185d6820e feat: add unzip zip tar jq 2021-11-18 21:38:10 +02:00
Torsten Widmann
56e01559dc add missing workdir (#19) 2021-11-15 10:53:41 +02:00
Torsten Widmann
5bbef80956 Add mono latest and libfreetype6 to java (#18)
Changes codestyle of Java images
2021-11-12 13:04:16 +02:00
Torsten Widmann
1788debd03 docs(readme): fix dotnet 6 link (#17) 2021-11-09 20:57:32 +02:00
Torsten Widmann
5e9841ebad feat: Add dotnet6 (#16) 2021-11-09 20:21:55 +02:00
Torsten Widmann
32ae4fa67c Fixed a little typo (#15) 2021-11-06 12:27:02 +02:00
Red-Thirten
c69ecc02b2 [games] Add sleep to source image (#14)
Sleep for 1 second before proceeding with steamcmd update to make sure it doesn't deadlock
2021-11-05 23:57:00 +02:00
Alex
7b66879352 feat: ARM64 support for Python 2021-10-22 15:30:43 +03:00
Alex
8ba8f2f811 feat: ARM64 support for Node.js
resolves #10
2021-10-22 15:24:42 +03:00
Alex
b24985022a feat: add Node.js 17 image 2021-10-22 14:41:47 +03:00
Alex
d6bb5e86c5 fix: java arm64 builds 2021-10-20 20:45:11 +03:00
Alex
940c33fced feat: Add java 17 image 2021-10-20 20:41:56 +03:00
Alex
f87987d58b ci(python): Fix 3.10 build 2021-10-19 20:21:47 +03:00
Alex
d1d8af7e92 feat: add python 3.10 2021-10-19 20:03:47 +03:00
Alex
4393b67ef6 ci(java): Disable openj9 builds due to missing base image 2021-10-19 20:00:25 +03:00
Alex
198e3d6fed fix: java image building 2021-10-19 19:59:37 +03:00
Alex
58bddef746 nodejs: install latest npm 2021-10-10 21:40:44 +03:00
Alex
c2d71fa988 ci: enable manual workflow dispatch 2021-10-05 17:07:58 +03:00
Alex
69afcac64c ci: fix nodejs workflow on push 2021-10-05 17:06:47 +03:00
Alex
5480ec769c image(nodejs): add build-essential, tar and curl 2021-10-05 17:05:09 +03:00
Softwarenoob
40bdd4c727 Merge remote-tracking branch 'origin/master' 2021-10-05 17:01:33 +03:00
Th3Dilli
9754274aab add missing dependency for entrypoint.sh 2021-10-01 18:23:55 +02:00
Th3Dilli
b515b8a09e add mohaa image 2021-09-30 22:54:38 +02:00
Michael (Parker) Parker
b69df4c990 Merge pull request #11 from PteroForge/teaspeak
add Teaspeak image
2021-09-10 10:20:52 -04:00
gOOvER
26eac566d1 add missing Bot Section 2021-09-10 11:30:27 +02:00
gOOvER
383f147a53 fixed typo 2021-09-10 09:07:56 +02:00
gOOvER
5d04199789 add teaspeak image 2021-09-10 08:59:01 +02:00
gOOvER
e7da5acb90 Merge remote-tracking branch 'parkervcp/master' 2021-09-10 06:56:28 +02:00
Alex
e276d9d73c docs(dotnet): Fix stupid github workflow versioning
Github ignores subversions if they contain zero. Smart.
2021-08-24 21:19:28 +03:00
Alex
4f63fec3f0 Revert "refactor(dotnet): folder name"
This reverts commit 6b4870906b.
2021-08-24 21:16:58 +03:00
Alex
6b4870906b refactor(dotnet): folder name 2021-08-24 21:07:56 +03:00
Alex
7bbb93110c ci(dotnet): fix workflow and formatting
Fix formatting and provide build platform. This together with debian path fix should resolve building of the images
2021-08-24 21:05:46 +03:00
Softwarenoob
7ef5084968 ci(build): force rebuild base images 2021-08-24 20:54:27 +03:00
Softwarenoob
2b0f33c236 Merge branch 'ci/oses' 2021-08-24 20:51:07 +03:00
146 changed files with 2980 additions and 393 deletions

15
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,15 @@
## Description
<!-- Please explain what is being changed or added as a short overview for this PR. Also, link existing relevant issues if they exist with resolves # -->
### All Submissions:
* [ ] Have you ensured there aren't other open [Pull Requests](../pulls) for the same update or change?
* [ ] Have you created a new branch for your changes and PR from that branch and not from your master branch?
<!-- The new image submission below can be removed if you are not adding a new image -->
### New Image Submissions:
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

@@ -1,5 +1,6 @@
name: build oses
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -19,21 +20,21 @@ jobs:
- debian
- ubuntu
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./oses/${{ matrix.oses }}
file: ./oses/${{ matrix.oses }}/Dockerfile
platforms: linux/amd64
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:${{ matrix.oses }}

View File

@@ -1,5 +1,6 @@
name: build bot
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -8,7 +9,53 @@ on:
paths:
- bot/**
jobs:
push:
pushArm:
name: "yolks:bot_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- parkertron
- red
- sinusbot
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: arm64,amd64
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./bot/${{ matrix.tag }}
file: ./bot/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
push: true
tags: |
ghcr.io/parkervcp/yolks:bot_${{ matrix.tag }}
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
pushAmd:
name: "yolks:bot_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
@@ -16,14 +63,11 @@ jobs:
matrix:
tag:
- bastion
- parkertron
- red
- sinusbot
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
with:
version: "v0.5.1"
version: "v0.7.0"
buildkitd-flags: --debug
- uses: docker/login-action@v1
with:

38
.github/workflows/box64.yml vendored Normal file
View File

@@ -0,0 +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@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./box64
file: ./${{ matrix.tag }}/Dockerfile
platforms: linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:${{ matrix.tag }}

View File

@@ -1,5 +1,6 @@
name: build cassandra
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -18,17 +19,16 @@ jobs:
- java8_python2
- java11_python3
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./cassandra
file: ./cassandra/${{ matrix.tag }}/Dockerfile

39
.github/workflows/dart.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
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
steps:
- uses: actions/checkout@v3
# Setup QEMU for ARM64 Build
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
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

@@ -1,7 +1,6 @@
name: build dotnet
on:
# Allows you to run this workflow manually from the Actions tab
# workflow_dispatch:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -19,19 +18,20 @@ jobs:
tag:
- 2.1
- 3.1
- 5.0
- 5
- 6
- 7
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./dotnet
file: ./dotnet/${{ matrix.tag }}/Dockerfile

View File

@@ -1,5 +1,6 @@
name: build erlang
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -19,17 +20,16 @@ jobs:
- 23
- 24
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./erlang
file: ./erlang/${{ matrix.tag }}/Dockerfile

View File

@@ -1,5 +1,6 @@
name: build games
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -15,25 +16,29 @@ jobs:
fail-fast: false
matrix:
game:
- altv
- arma3
- fivem
- dayz
- mohaa
- samp
- source
- valheim
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./games/${{ matrix.game }}
file: ./games/${{ matrix.game }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/parkervcp/games:${{ matrix.game }}
ghcr.io/parkervcp/games:${{ matrix.game }}

View File

@@ -1,5 +1,6 @@
name: build go
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -18,22 +19,24 @@ jobs:
- 1.14
- 1.15
- 1.16
- 1.17
- 1.18
- 1.19
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./go
file: ./go/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/parkervcp/yolks:go_${{ matrix.tag }}
ghcr.io/parkervcp/yolks:go_${{ matrix.tag }}

View File

@@ -1,5 +1,6 @@
name: build installers
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -17,22 +18,22 @@ jobs:
tag:
- alpine
- debian
- ubuntu
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./installers
file: ./installers/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/parkervcp/installers:${{ matrix.tag }}
ghcr.io/parkervcp/installers:${{ matrix.tag }}

View File

@@ -1,5 +1,6 @@
name: build java
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -16,28 +17,29 @@ jobs:
matrix:
tag:
- 8
- 8j9
# - 8j9
- 11
- 11j9
# - 11j9
- 16
- 16j9
# - 16j9
- 17
- 19
steps:
- uses: actions/checkout@v2
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./java
file: ./java/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:java_${{ matrix.tag }}
ghcr.io/parkervcp/yolks:java_${{ matrix.tag }}

43
.github/workflows/mariadb.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: build mariadb
on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- mariadb/**
jobs:
push:
name: "yolks:mariadb_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- '10.3'
- '10.4'
- '10.5'
- '10.6'
- '10.7'
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./mariadb
file: ./mariadb/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:mariadb_${{ matrix.tag }}

41
.github/workflows/mongodb.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
name: build mongodb
on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- mongodb/**
jobs:
push:
name: "yolks:mongodb_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- 4
- 5
- 6
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./mongodb
file: ./mongodb/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:mongodb_${{ matrix.tag }}

37
.github/workflows/mono.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: build mono
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- mono/**
jobs:
push:
name: "yolks:mono_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- latest
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./mono
file: ./mono/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/parkervcp/yolks:mono_${{ matrix.tag }}

View File

@@ -1,12 +1,13 @@
name: build nodejs
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- nodejs/*
- nodejs/**
jobs:
push:
name: "yolks:nodejs_${{ matrix.tag }}"
@@ -17,24 +18,26 @@ jobs:
tag:
- 12
- 14
- 15
- 16
- 17
- 18
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
# Setup QEMU for ARM64 Build
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./nodejs
file: ./nodejs/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:nodejs_${{ matrix.tag }}
ghcr.io/parkervcp/yolks:nodejs_${{ matrix.tag }}

44
.github/workflows/postgres.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: build postgres
on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- postgres/**
jobs:
push:
name: "yolks:postgres_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- 9
- 10
- 11
- 12
- 13
- 14
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
with:
context: ./postgres
file: ./postgres/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:postgres_${{ matrix.tag }}

View File

@@ -1,5 +1,6 @@
name: build python
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
@@ -15,26 +16,29 @@ jobs:
fail-fast: false
matrix:
tag:
- 2.7
- 3.7
- 3.8
- 3.9
- '2.7'
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- '3.11'
steps:
- uses: actions/checkout@v2
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v3
# Setup QEMU for ARM64 Build
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
version: "v0.5.1"
buildkitd-flags: --debug
- uses: docker/login-action@v1
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
- uses: docker/build-push-action@v3
with:
context: ./python
file: ./python/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:python_${{ matrix.tag }}
ghcr.io/parkervcp/yolks:python_${{ matrix.tag }}

41
.github/workflows/redis.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
name: build redis
on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- redis/**
jobs:
push:
name: "yolks:redis_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- 5
- 6
- 7
steps:
- uses: actions/checkout@v3
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v2
with:
context: ./redis
file: ./redis/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:redis_${{ matrix.tag }}

42
.github/workflows/rust.yml vendored Normal file
View File

@@ -0,0 +1,42 @@
name: build rust
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- rust/**
jobs:
push:
name: "yolks:rust_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- '1.31'
- '1.56'
- '1.60'
- 'latest'
steps:
- uses: actions/checkout@v3
# Setup QEMU for ARM64 Build
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./rust
file: ./rust/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:rust_${{ matrix.tag }}

40
.github/workflows/steamcmd.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
name: build steamcmd
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- steamcmd/**
jobs:
push:
name: "steamcmd:${{ matrix.distro }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distro:
- debian
- ubuntu
- dotnet
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./steamcmd
file: ./steamcmd/${{ matrix.distro }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/parkervcp/steamcmd:${{ matrix.distro }}

67
.github/workflows/voice.yml vendored Normal file
View File

@@ -0,0 +1,67 @@
name: build voice
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- voice/**
jobs:
pushx64:
name: "yolks:voice_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- teaspeak
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./voice/${{ matrix.tag }}
file: ./voice/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/parkervcp/yolks:voice_${{ matrix.tag }}
pushx64_arm64:
name: "yolks:voice_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- mumble
steps:
- uses: actions/checkout@v3
# Setup QEMU for ARM64 Build
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-buildx-action@v2
with:
version: "v0.8.2"
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./voice/${{ matrix.tag }}
file: ./voice/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/yolks:voice_${{ matrix.tag }}

38
.github/workflows/wine.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: build wine
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- wine/**
jobs:
push:
name: "yolks:wine_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- latest
- staging
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
with:
buildkitd-flags: --debug
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.REGISTRY_TOKEN }}
- uses: docker/build-push-action@v3
with:
context: ./wine
file: ./wine/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/parkervcp/yolks:wine_${{ matrix.tag }}

260
README.md
View File

@@ -18,87 +18,231 @@ example of this would be something like Java or Python which are used for runnin
All of these images are available for `linux/amd64` and `linux/arm64` versions, unless otherwise specified, to use
these images on an arm system, no modification to them or the tag is needed, they should just work.
### Contributing
## Contributing
When adding a new version to an existing image, such as `java v42`, you'd add it within a child folder of `java`, so
`java/42/Dockerfile` for example. Please also update the correct `.github/workflows` file to ensure that this new version
is tagged correctly.
## Available Images
### [Oses](/oses)
* [alpine](/oses/alpine)
* `ghcr.io/parkervcp/yolks:alpine`
* [debian](/oses/debian)
* `ghcr.io/parkervcp/yolks:debian`
* [ubuntu](/oses/ubuntu)
* `ghcr.io/parkervcp/yolks:ubuntu`
* `ghcr.io/parkervcp/yolks:ubuntu`
### [Bot](/bot)
* [`bastion`](/bot/bastion)
* `ghcr.io/parkervcp/yolks:bot_bastion`
* [`parkertron`](/bot/parkertron)
* `ghcr.io/parkervcp/yolks:bot_parkertron`
* [`redbot`](/bot/red)
* `ghcr.io/parkervcp/yolks:bot_red`
* [`sinusbot`](/bot/sinusbot)
* `ghcr.io/parkervcp/yolks:bot_sinusbot`
### [Box64](/box64)
* [`Box64`](/box64)
* `ghcr.io/parkervcp/yolks:box64`
### [Cassandra](/cassandra)
* [`cassandra_java8_python27`](/cassandra/cassandra_java8_python2)
* `ghcr.io/parkervcp/yolks:cassandra_java11_python2`
* [`cassandra_java11_python3`](/cassandra/cassandra_java11_python3)
* `ghcr.io/parkervcp/yolks:cassandra_java11_python3`
* [`cassandra_java8_python27`](/cassandra/cassandra_java8_python2)
* `ghcr.io/parkervcp/yolks:cassandra_java11_python2`
* [`cassandra_java11_python3`](/cassandra/cassandra_java11_python3)
* `ghcr.io/parkervcp/yolks:cassandra_java11_python3`
### [Dart](/dart)
* [`dart2.17`](/dart/2.17)
* `ghcr.io/parkervcp/yolks:dart_2.17`
### [dotNet](/dotnet)
* [`dotnet2.1`](/dotnet/2.1)
* `ghcr.io/parkervcp/yolks:dotnet_2.1`
* [`dotnet3.1`](/dotnet/3.1)
* `ghcr.io/parkervcp/yolks:dotnet_3.1`
* [`dotnet5.0`](/dotnet/5.0)
* `ghcr.io/parkervcp/yolks:dotnet_5.0`
* [`dotnet2.1`](/dotnet/2.1)
* `ghcr.io/parkervcp/yolks:dotnet_2.1`
* [`dotnet3.1`](/dotnet/3.1)
* `ghcr.io/parkervcp/yolks:dotnet_3.1`
* [`dotnet5.0`](/dotnet/5)
* `ghcr.io/parkervcp/yolks:dotnet_5`
* [`dotnet6.0`](/dotnet/6)
* `ghcr.io/parkervcp/yolks:dotnet_6`
* [`dotnet7.0`](/dotnet/7)
* `ghcr.io/parkervcp/yolks:dotnet_7`
### [Erlang](/erlang)
* [`erlang22`](/erlang/22)
* `ghcr.io/parkervcp/yolks:erlang_22`
* [`erlang23`](/erlang/23)
* `ghcr.io/parkervcp/yolks:erlang_23`
* [`erlang24`](/erlang/24)
* `ghcr.io/parkervcp/yolks:erlang_24`
### [Games](/games)
* [`arma3`](/games/arma3)
* `ghcr.io/parkervcp/games:arma3`
* [`fivem`](/games/fivem)
* `ghcr.io/parkervcp/games:fivem`
* [`source`](/games/source)
* `ghcr.io/parkervcp/games:source`
* [`erlang22`](/erlang/22)
* `ghcr.io/parkervcp/yolks:erlang_22`
* [`erlang23`](/erlang/23)
* `ghcr.io/parkervcp/yolks:erlang_23`
* [`erlang24`](/erlang/24)
* `ghcr.io/parkervcp/yolks:erlang_24`
### [Games](/games)
* [`altv`](/games/altv)
* `ghcr.io/parkervcp/games:altv`
* [`arma3`](/games/arma3)
* `ghcr.io/parkervcp/games:arma3`
* [`dayz`](/games/dayz)
* `ghcr.io/parkervcp/games:dayz`
* [`mohaa`](games/mohaa)
* `ghcr.io/pterodactyl/games:mohaa`
* [`samp`](/games/samp)
* `ghcr.io/parkervcp/games:samp`
* [`source`](/games/source)
* `ghcr.io/parkervcp/games:source`
* [`valheim`](/games/valheim)
* `ghcr.io/parkervcp/games:valheim`
### [Golang](/go)
* [`go1.14`](/go/1.14)
* `ghcr.io/parkervcp/yolks:go_1.14`
* [`go1.15`](/go/1.15)
* `ghcr.io/parkervcp/yolks:go_1.15`
* [`go1.16`](/go/1.16)
* `ghcr.io/parkervcp/yolks:go_1.16`
* [`go1.14`](/go/1.14)
* `ghcr.io/parkervcp/yolks:go_1.14`
* [`go1.15`](/go/1.15)
* `ghcr.io/parkervcp/yolks:go_1.15`
* [`go1.16`](/go/1.16)
* `ghcr.io/parkervcp/yolks:go_1.16`
* [`go1.17`](/go/1.17)
* `ghcr.io/parkervcp/yolks:go_1.17`
* [`go1.18`](/go/1.18)
* `ghcr.io/parkervcp/yolks:go_1.18`
* [`go1.19`](/go/1.19)
* `ghcr.io/parkervcp/yolks:go_1.19`
### [Java](/java)
* [`java7`](/java/7)
* `ghcr.io/parkervcp/yolks:java_7`
* [`java8`](/java/8)
* `ghcr.io/parkervcp/yolks:java_8`
* [`java9`](/java/9)
* `ghcr.io/parkervcp/yolks:java_9`
* [`java11`](/java/11)
* `ghcr.io/parkervcp/yolks:java_11`
* [`java14`](/java/14)
* `ghcr.io/parkervcp/yolks:java_14`
* [`java16`](/java/16)
* `ghcr.io/parkervcp/yolks:java_16`
* [`java8`](/java/8)
* `ghcr.io/parkervcp/yolks:java_8`
* [`java11`](/java/11)
* `ghcr.io/parkervcp/yolks:java_11`
* [`java16`](/java/16)
* `ghcr.io/parkervcp/yolks:java_16`
* [`java17`](/java/17)
* `ghcr.io/parkervcp/yolks:java_17`
* [`java19`](/java/19)
* `ghcr.io/parkervcp/yolks:java_19`
### [MariaDB](/mariadb)
* [`MariaDB 10.3`](/mariadb/10.3)
* `ghcr.io/parkervcp/yolks:mariadb_10.3`
* [`MariaDB 10.4`](/mariadb/10.4)
* `ghcr.io/parkervcp/yolks:mariadb_10.4`
* [`MariaDB 10.5`](/mariadb/10.5)
* `ghcr.io/parkervcp/yolks:mariadb_10.5`
* [`MariaDB 10.6`](/mariadb/10.6)
* `ghcr.io/parkervcp/yolks:mariadb_10.6`
* [`MariaDB 10.7`](/mariadb/10.7)
* `ghcr.io/parkervcp/yolks:mariadb_10.7`
### [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`
### [Mono](/mono)
* [`mono_latest`](/mono/latest)
* `ghcr.io/parkervcp/yolks:mono_latest`
### [Nodejs](/nodejs)
* [`node12`](/nodejs/12)
* `ghcr.io/parkervcp/yolks:nodejs_12`
* [`node14`](/nodejs/14)
* `ghcr.io/parkervcp/yolks:nodejs_14`
* [`node15`](/nodejs/15)
* `ghcr.io/parkervcp/yolks:nodejs_15`
* [`node16`](/nodejs/16)
* `ghcr.io/parkervcp/yolks:nodejs_16`
* [`node12`](/nodejs/12)
* `ghcr.io/parkervcp/yolks:nodejs_12`
* [`node14`](/nodejs/14)
* `ghcr.io/parkervcp/yolks:nodejs_14`
* [`node16`](/nodejs/16)
* `ghcr.io/parkervcp/yolks:nodejs_16`
* [`node17`](/nodejs/17)
* `ghcr.io/parkervcp/yolks:nodejs_17`
* [`node18`](/nodejs/18)
* `ghcr.io/parkervcp/yolks:nodejs_18`
### [PostgreSQL](/postgres)
* [`Postgres 9`](/postgres/9)
* `ghcr.io/parkervcp/yolks:postgres_9`
* [`Postgres 10`](/postgres/10)
* `ghcr.io/parkervcp/yolks:postgres_10`
* [`Postgres 11`](/postgres/11)
* `ghcr.io/parkervcp/yolks:postgres_11`
* [`Postgres 12`](/postgres/12)
* `ghcr.io/parkervcp/yolks:postgres_12`
* [`Postgres 13`](/postgres/13)
* `ghcr.io/parkervcp/yolks:postgres_13`
* [`Postgres 14`](/postgres/14)
* `ghcr.io/parkervcp/yolks:postgres_14`
### [Python](/python)
* [`python3.7`](/python/3.7)
* `ghcr.io/parkervcp/yolks:python_3.7`
* [`python3.8`](/python/3.8)
* `ghcr.io/parkervcp/yolks:python_3.8`
* [`python3.9`](/python/3.9)
* `ghcr.io/parkervcp/yolks:python_3.9`
* [`python3.7`](/python/3.7)
* `ghcr.io/parkervcp/yolks:python_3.7`
* [`python3.8`](/python/3.8)
* `ghcr.io/parkervcp/yolks:python_3.8`
* [`python3.9`](/python/3.9)
* `ghcr.io/parkervcp/yolks:python_3.9`
* [`python3.10`](/python/3.10)
* `ghcr.io/parkervcp/yolks:python_3.10`
* [`python3.11`](/python/3.11)
* `ghcr.io/parkervcp/yolks:python_3.11`
### [Redis](/redis)
* [`Redis 5`](/redis/5)
* `ghcr.io/parkervcp/yolks:redis_5`
* [`Redis 6`](/redis/6)
* `ghcr.io/parkervcp/yolks:redis_6`
* [`Redis 7`](/redis/7)
* `ghcr.io/parkervcp/yolks:redis_7`
### [Rust](/rust)
* ['rust1.31'](/rust/1.31)
* `ghcr.io/parkervcp/yolks:rust_1.31`
* ['rust1.56'](/rust/1.56)
* `ghcr.io/parkervcp/yolks:rust_1.56`
* ['rust1.60'](/rust/1.60)
* `ghcr.io/parkervcp/yolks:rust_1.60`
* ['rust latest'](/rust/latest)
* `ghcr.io/parkervcp/yolks:rust_latest`
### [SteamCMD](/steamcmd)
* [`SteamCMD Debian lastest`](/steamcmd/debian)
* `ghcr.io/parkervcp/steamcmd:debian`
* [`SteamCMD Debian Dotnet`](/steamcmd/dotnet)
* `ghcr.io/parkervcp/steamcmd:dotnet`
* [`SteamCMD Ubuntu latest LTS`](/steamcmd/ubuntu)
* `ghcr.io/parkervcp/steamcmd:ubuntu`
### [Voice](/voice)
* [`Mumble`](/voice/mumble)
* `ghcr.io/parkervcp/yolks:voice_mumble`
* [`TeaSpeak`](/voice/teaspeak)
* `ghcr.io/parkervcp/yolks:voice_teaspeak`
### [Wine](/wine)
* [`Wine`](/wine)
* `ghcr.io/parkervcp/yolks:wine_latest`
* `ghcr.io/parkervcp/yolks:wine_staging`
### [Installation Images](/installers)
* [`alpine-install`](/installers/alpine)
* `ghcr.io/parkervcp/installers:alpine`
* [`debian-install`](/installers/debian)
* `ghcr.io/parkervcp/installers:debian`
* [`ubuntu-install`](/installers/ubuntu)
* `ghcr.io/parkervcp/installers:ubuntu`

View File

@@ -1,13 +1,14 @@
FROM node:14-buster
FROM --platform=$TARGETOS/$TARGETARCH node:18-bullseye
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
## install mongo
RUN wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add - \
&& echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list \
## install mongo
RUN wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add - \
&& echo "deb http://repo.mongodb.org/apt/debian bullseye/mongodb-org/5.0 main" | tee /etc/apt/sources.list.d/mongodb-org-5.0.list \
&& apt update \
&& apt install -y mongodb-org=4.2.7 mongodb-org-server=4.2.7 mongodb-org-shell=4.2.7 mongodb-org-mongos=4.2.7 mongodb-org-tools=4.2.7 \
&& apt install -y mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools \
## install bastion reqs
&& apt install -y python build-essential netcat ffmpeg \
&& apt install -y python build-essential git libtool netcat ffmpeg iproute2 curl tzdata \
## add container user
&& useradd -d /home/container -m container -s /bin/bash

View File

@@ -1,12 +1,19 @@
#!/bin/bash
cd /home/container
# Make internal Docker IP address available to processes.
export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'`
# Set environment variable that holds the Internal Docker IP
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}"
# start mongo
mongod --fork --dbpath /home/container/mongodb/ --port 27017 --logpath /home/container/mongod.log && until nc -z -v -w5 127.0.0.1 27017; do echo 'Waiting for mongodb connection...'; sleep 5; done
# Run the Server
eval ${MODIFIED_STARTUP}
# stop mongo
mongo --eval \"db.getSiblingDB('admin').shutdownServer()\

View File

@@ -1,13 +1,20 @@
FROM alpine:3.9
FROM --platform=$TARGETOS/$TARGETARCH debian:bullseye
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apk add --update --no-cache git curl lua-stdlib lua musl-dev g++ libc-dev tesseract-ocr tesseract-ocr-dev \
&& adduser -D -h /home/container container
ENV DEBIAN_FRONTEND noninteractive
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
RUN apt update -y \
# general packages
&& apt install -y iproute2 ca-certificates \
# additional packages for tesseract and eng lang support
libtesseract-dev tesseract-ocr-eng \
# add container user to run application
&& useradd -m -d /home/container container
COPY ./entrypoint.sh /entrypoint.sh
CMD ["/bin/ash", "/entrypoint.sh"]
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./entrypoint.sh /entrypoint.sh
CMD ["/bin/bash", "/entrypoint.sh"]

View File

@@ -1,8 +1,9 @@
#!/bin/ash
#!/bin/bash
cd /home/container
# Make internal Docker IP address available to processes.
export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'`
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Replace Startup Variables
MODIFIED_STARTUP=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')`

View File

@@ -1,4 +1,4 @@
FROM python:3.8-slim
FROM --platform=$TARGETOS/$TARGETARCH python:3.8-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"

View File

@@ -1,12 +1,13 @@
#!/bin/bash
cd /home/container
# Make internal Docker IP address available to processes.
export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'`
# Set environment variable that holds the Internal Docker IP
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}
eval ${MODIFIED_STARTUP}

View File

@@ -1,15 +1,18 @@
FROM ubuntu:18.04
FROM --platform=$TARGETOS/$TARGETARCH debian:stable-slim
LABEL maintainer="ki2007 <ki2007@damw.eu>" version="1.0"
LABEL org.opencontainers.image.authors="i2007@damw.eu"
LABEL version="1.0"
ENV DEBIAN_FRONTEND noninteractive
# Install Dependencies
RUN apt update \
&& apt upgrade -y \
&& apt install -y ca-certificates less libasound2 libegl1-mesa libglib2.0-0 libnss3 libpci3 libpulse0 libxcursor1 libxslt1.1 libx11-xcb1 libxkbcommon0 locales pulseaudio python sudo x11vnc x11-xkb-utils xvfb iproute2 \
&& apt install -y ca-certificates less locales pulseaudio python python3 sudo x11vnc x11-xkb-utils xvfb iproute2 ffmpeg curl \
libasound2 libegl1-mesa libglib2.0-0 libnss3 libpci3 libpulse0 libxcursor1 libxslt1.1 libx11-xcb1 libxkbcommon0 bzip2 libxss1 libxcomposite1 \
&& useradd -m -d /home/container container
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8

View File

@@ -1,8 +1,9 @@
#!/bin/bash
cd /home/container
# Make internal Docker IP address available to processes.
export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'`
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Replace Startup Variables
MODIFIED_STARTUP=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')`

34
box64/Dockerfile Normal file
View File

@@ -0,0 +1,34 @@
FROM --platform=$TARGETOS/$TARGETARCH debian:bullseye-slim
LABEL author="QuintenQVD" maintainer="josdekurk@gmail.com"
ENV DEBIAN_FRONTEND noninteractive
## Update base packages
RUN apt update \
&& apt upgrade -y
## Install dependencies
RUN apt install -y libc++-dev libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools libatomic1 libsdl1.2debian libsdl2-2.0-0 \
libfontconfig libicu67 icu-devtools libunwind8 libssl-dev sqlite3 libsqlite3-dev libmariadbclient-dev-compat libduktape205 locales ffmpeg gnupg2 apt-transport-https software-properties-common ca-certificates \
libz-dev rapidjson-dev tzdata libevent-dev libzip4 libsdl2-mixer-2.0-0 libsdl2-image-2.0-0 build-essential cmake libgdiplus
## Configure locale
RUN update-locale lang=en_US.UTF-8 \
&& dpkg-reconfigure --frontend noninteractive locales
##Install box64
RUN wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list \
&& wget -O- https://ryanfortner.github.io/box64-debs/KEY.gpg | gpg --dearmor | tee /usr/share/keyrings/box64-debs-archive-keyring.gpg \
&& apt update && apt install box64 -y
RUN useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./entrypoint.sh /entrypoint.sh
CMD ["/bin/bash", "/entrypoint.sh"]

13
box64/entrypoint.sh Normal file
View File

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

View File

@@ -5,7 +5,7 @@ TZ=${TZ:-UTC}
export TZ
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $NF;exit}')
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Switch to the container's working directory

View File

@@ -1,4 +1,4 @@
FROM --platform=$BUILDPLATFORM adoptopenjdk/openjdk11:alpine-jre
FROM --platform=$TARGETOS/$TARGETARCH adoptopenjdk/openjdk11:alpine-jre
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"

View File

@@ -1,4 +1,4 @@
FROM --platform=$BUILDPLATFORM adoptopenjdk/openjdk8:alpine-jre
FROM --platform=$TARGETOS/$TARGETARCH adoptopenjdk/openjdk8:alpine-jre
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"

14
dart/2.17/Dockerfile Normal file
View File

@@ -0,0 +1,14 @@
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 \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

16
dart/entrypoint.sh Normal file
View File

@@ -0,0 +1,16 @@
#!/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
# Print Dart version
dart --version
# Replace startup variables
MODIFIED_STARTUP=$(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')
echo ":/home/container$ ${MODIFIED_STARTUP}"
# Run the server
eval ${MODIFIED_STARTUP}

View File

@@ -1,21 +1,21 @@
FROM 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 \
&& apt upgrade -y \
&& apt install -y apt-transport-https wget iproute2 \
&& wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt update -y \
&& apt install -y aspnetcore-runtime-2.1 libgdiplus
RUN apt update -y \
&& apt upgrade -y \
&& apt install -y apt-transport-https wget iproute2 \
&& wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt update -y \
&& apt install -y aspnetcore-runtime-2.1 libgdiplus
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD ["/bin/bash", "/entrypoint.sh"]
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

View File

@@ -1,21 +1,21 @@
FROM 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 \
&& apt upgrade -y \
&& apt install -y apt-transport-https wget iproute2 \
&& wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt update -y \
&& apt install -y aspnetcore-runtime-3.1 libgdiplus
RUN apt update -y \
&& apt upgrade -y \
&& apt install -y apt-transport-https wget iproute2 \
&& wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt update -y \
&& apt install -y aspnetcore-runtime-3.1 libgdiplus
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD ["/bin/bash", "/entrypoint.sh"]
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

View File

@@ -1,21 +1,21 @@
FROM 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 \
&& apt upgrade -y \
&& apt install -y apt-transport-https wget iproute2 \
&& wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt update -y \
&& apt install -y aspnetcore-runtime-5.0 libgdiplus
RUN apt update -y \
&& apt upgrade -y \
&& apt install -y apt-transport-https wget iproute2 \
&& wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt update -y \
&& apt install -y aspnetcore-runtime-5.0 libgdiplus
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD ["/bin/bash", "/entrypoint.sh"]
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

21
dotnet/6/Dockerfile Normal file
View File

@@ -0,0 +1,21 @@
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 iproute2 \
&& wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt update -y \
&& apt install -y aspnetcore-runtime-6.0 libgdiplus
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

21
dotnet/7/Dockerfile Normal file
View File

@@ -0,0 +1,21 @@
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 iproute2 \
&& wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
&& apt update -y \
&& apt install -y aspnetcore-runtime-7.0 libgdiplus
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

View File

@@ -1,8 +1,9 @@
#!/bin/bash
cd /home/container
# Make internal Docker IP address available to processes.
export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'`
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Replace Startup Variables
MODIFIED_STARTUP=$(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')

View File

@@ -1,4 +1,4 @@
FROM --platform=$BUILDPLATFORM erlang:22-alpine
FROM --platform=$TARGETOS/$TARGETARCH erlang:22-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"

View File

@@ -1,4 +1,4 @@
FROM --platform=$BUILDPLATFORM erlang:23-alpine
FROM --platform=$TARGETOS/$TARGETARCH erlang:23-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"

View File

@@ -1,4 +1,4 @@
FROM --platform=$BUILDPLATFORM erlang:24-alpine
FROM --platform=$TARGETOS/$TARGETARCH erlang:24-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"

View File

@@ -3,7 +3,7 @@ TZ=${TZ:-UTC}
export TZ
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $NF;exit}')
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Switch to the container's working directory

31
games/altv/Dockerfile Normal file
View File

@@ -0,0 +1,31 @@
# ----------------------------------
# Environment: debian
# ----------------------------------
FROM --platform=$TARGETOS/$TARGETARCH node:16-bullseye
LABEL author="goover" maintainer="info@goover.de"
ENV DEBIAN_FRONTEND noninteractive
RUN useradd -m -d /home/container -s /bin/bash container
RUN apt update -y \
&& apt upgrade -y \
&& apt install -y g++ gcc libgcc-s1 lib32gcc-s1 gdb libstdc++6 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 \
libfontconfig1 libicu67 icu-devtools libunwind8 libssl-dev sqlite3 libsqlite3-dev libmariadb-dev libduktape205 locales ffmpeg gnupg2 apt-transport-https software-properties-common ca-certificates tzdata \
python3 dnsutils build-essential coreutils jq pcregrep
RUN wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& apt update -y \
&& apt install -y dotnet-sdk-5.0 dotnet-sdk-6.0 dotnet-sdk-7.0 libgdiplus
RUN update-locale lang=en_US.UTF-8 \
&& dpkg-reconfigure --frontend noninteractive locales
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./entrypoint.sh /entrypoint.sh
CMD ["/bin/bash", "/entrypoint.sh"]

13
games/altv/entrypoint.sh Normal file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
cd /home/container
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Replace Startup Variables
MODIFIED_STARTUP=$(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,29 +1,52 @@
FROM ubuntu:20.04
FROM --platform=$TARGETOS/$TARGETARCH debian:stable-slim
LABEL author="David Wolfe (Red-Thirten)" maintainer="rehlmgaming@gmail.com"
ENV DEBIAN_FRONTEND noninteractive
ENV USER_NAME container
ENV NSS_WRAPPER_PASSWD /tmp/passwd
ENV NSS_WRAPPER_GROUP /tmp/group
# Install Dependencies
LABEL org.opencontainers.image.source="https://github.com/parkervcp/yolks"
LABEL org.opencontainers.image.licenses=MIT
## Update base packages and install dependencies
ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y libgcc-10-dev libstdc++-10-dev libtinfo5 lib64z1 libcurl3-gnutls \
&& apt-get install -y libnss-wrapper gettext-base tar curl gcc g++ libc6 libtbb2 lib32z1 lib32gcc1 lib32stdc++6 libsdl2-2.0-0 libsdl2-2.0-0:i386 libtbb2:i386 lib32stdc++6 libtinfo5:i386 libncurses5:i386 libcurl3-gnutls:i386 \
&& useradd -m -d /home/container -s /bin/bash container \
&& touch ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP} \
&& apt-get install -y \
curl \
tzdata \
locales \
iproute2 \
gettext-base \
ca-certificates \
numactl \
libssl-dev \
lib32gcc-s1 \
libsdl2-2.0-0 \
libsdl2-2.0-0:i386 \
libstdc++6 \
libstdc++6:i386 \
lib32stdc++6 \
libnss-wrapper \
libnss-wrapper:i386 \
libtbb2 \
libtbb2:i386
## 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 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} \
&& chmod g+rw ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP}
ADD passwd.template /passwd.template
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
USER container
ENV HOME /home/container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./libnss_wrapper.so /libnss_wrapper.so
COPY ./libnss_wrapper_x64.so /libnss_wrapper_x64.so
## Copy over and execute entrypoint.sh
COPY ./entrypoint.sh /entrypoint.sh
CMD ["/bin/bash", "/entrypoint.sh"]
CMD [ "/bin/bash", "/entrypoint.sh" ]

View File

@@ -2,12 +2,13 @@
## File: Pterodactyl Arma 3 Image - entrypoint.sh
## Author: David Wolfe (Red-Thirten)
## Contributors: Aussie Server Hosts (https://aussieserverhosts.com/)
## Date: 2021/07/13
## Contributors: Aussie Server Hosts (https://aussieserverhosts.com/), Stephen White (SilK)
## Date: 2022/11/26
## 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=107410 # SteamCMD ID for the Arma 3 GAME (not server). Only used for Workshop mod downloads.
EGG_URL='https://github.com/parkervcp/eggs/tree/master/game_eggs/steamcmd_servers/arma/arma3' # URL for Pterodactyl Egg & Info (only used as info to legacy users)
@@ -20,7 +21,7 @@ RED='\033[0;31m'
NC='\033[0m' # No Color
## === ENVIRONMENT VARS ===
# STARTUP, STARTUP_PARAMS, STEAM_USER, STEAM_PASS, SERVER_BINARY, MOD_FILE, MODIFICATIONS, SERVERMODS, UPDATE_SERVER, CLEAR_CACHE, VALIDATE_SERVER, MODS_LOWERCASE, STEAMCMD_EXTRA_FLAGS, CDLC, STEAMCMD_APPID, HC_NUM, SERVER_PASSWORD, HC_HIDE, STEAMCMD_ATTEMPTS, BASIC_URL, DISABLE_MOD_UPDATES
# STARTUP, STARTUP_PARAMS, STEAM_USER, STEAM_PASS, SERVER_BINARY, MOD_FILE, MODIFICATIONS, SERVERMODS, OPTIONALMODS, UPDATE_SERVER, CLEAR_CACHE, VALIDATE_SERVER, MODS_LOWERCASE, STEAMCMD_EXTRA_FLAGS, CDLC, STEAMCMD_APPID, HC_NUM, SERVER_PASSWORD, HC_HIDE, STEAMCMD_ATTEMPTS, BASIC_URL, DISABLE_MOD_UPDATES
## === GLOBAL VARS ===
# validateServer, extraFlags, updateAttempt, modifiedStartup, allMods, CLIENT_MODS
@@ -28,32 +29,32 @@ NC='\033[0m' # No Color
## === DEFINE FUNCTIONS ===
#
# Runs SteamCMD with specified variables and performs error handling.
function RunSteamCMD { #[Input: int server=0 mod=1; int id]
function RunSteamCMD { #[Input: int server=0 mod=1 optional_mod=2; int id]
# Clear previous SteamCMD log
if [[ -f "${STEAMCMD_LOG}" ]]; then
rm -f "${STEAMCMD_LOG:?}"
fi
updateAttempt=0
while (( $updateAttempt < $STEAMCMD_ATTEMPTS )); do # Loop for specified number of attempts
# Increment attempt counter
updateAttempt=$((updateAttempt+1))
if (( $updateAttempt > 1 )); then # Notify if not first attempt
echo -e "\t${YELLOW}Re-Attempting download/update in 3 seconds...${NC} (Attempt ${CYAN}${updateAttempt}${NC} of ${CYAN}${STEAMCMD_ATTEMPTS}${NC})\n"
sleep 3
fi
# Check if updating server or mod
if [[ $1 == 0 ]]; then # Server
${STEAMCMD_DIR}/steamcmd.sh "+login \"${STEAM_USER}\" \"${STEAM_PASS}\"" +force_install_dir /home/container +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]}
if [[ -n $(grep -i "error\|failed" "${STEAMCMD_LOG}" | grep -iv "setlocal\|SDL") ]]; then # Catch errors (ignore setlocale and SDL warnings)
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})"
@@ -96,6 +97,7 @@ function RunSteamCMD { #[Input: int server=0 mod=1; int id]
elif [[ $steamcmdExitCode != 0 ]]; then # Unknown fatal error
echo -e "\n${RED}[UPDATE]: SteamCMD has crashed for an unknown reason!${NC} (Exit code: ${CYAN}${steamcmdExitCode}${NC})"
echo -e "\t${YELLOW}(Please contact your administrator/host for support)${NC}\n"
cp -r /tmp/dumps /home/container/dumps
exit $steamcmdExitCode
else # Success!
if [[ $1 == 0 ]]; then # Server
@@ -104,13 +106,29 @@ 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 ./Steam/steamapps/workshop/content/$GAME_ID/$2/* ./@$2
rm -d ./Steam/steamapps/workshop/content/$GAME_ID/$2
mv -f ${WORKSHOP_DIR}/content/$GAME_ID/$2/* ./@$2
rm -d ${WORKSHOP_DIR}/content/$GAME_ID/$2
# Make the mods contents all lowercase
ModsLowercase @$2
# Move any .bikey's to the keys directory
echo -e "\tMoving any mod ${CYAN}.bikey${NC} files to the ${CYAN}~/keys/${NC} folder..."
find ./@$2 -name "*.bikey" -type f -exec cp {} ./keys \;
if [[ $1 == 1 ]]; then
find ./@$2 -name "*.bikey" -type f -exec cp {} ./keys \;
else
# Give optional mod keys a custom name which can be checked later for deleting unconfigured mods
for file in $(find ./@$2 -name "*.bikey" -type f); do
filename=$(basename ${file})
cp $file ./keys/optional_$2_${filename}
done;
echo -e "\tMod with ID $2 is an optional mod. Deleting original mod download folder..."
rm -r ./@$2
# Recreate a directory so time-based detection of auto updates works correctly
mkdir ./@$2_optional
fi
echo -e "${GREEN}[UPDATE]: Mod download/update successful!${NC}"
fi
break
@@ -150,9 +168,17 @@ function RemoveDuplicates { #[Input: str - Output: printf of new str]
}
# === ENTRYPOINT START ===
cd /home/container
# Wait for the container to fully initialize
sleep 1
# 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
# Check for old eggs
if [[ -z ${VALIDATE_SERVER} ]]; then # VALIDATE_SERVER was not in the previous version
echo -e "\n${RED}[STARTUP_ERR]: Please contact your administrator/host for support, and give them the following message:${NC}\n"
@@ -183,6 +209,11 @@ if [[ -n ${SERVERMODS} ]] && [[ ${SERVERMODS} != *\; ]]; then # Add server mods
else
allMods=${SERVERMODS}
fi
if [[ -n ${OPTIONALMODS} ]] && [[ ${OPTIONALMODS} != *\; ]]; then # Add specified optional mods to the mods list, while checking for trailing semicolon
allMods+="${OPTIONALMODS};"
else
allMods+=${OPTIONALMODS}
fi
allMods+=$CLIENT_MODS # Add all client-side mods to the master mod list
CLIENT_MODS=$(RemoveDuplicates ${CLIENT_MODS}) # Remove duplicate mods from CLIENT_MODS, if present
allMods=$(RemoveDuplicates ${allMods}) # Remove duplicate mods from allMods, if present
@@ -191,18 +222,18 @@ allMods=$(echo $allMods | sed -e 's/;/ /g') # Convert from string to array
# Update everything (server and mods), if specified
if [[ ${UPDATE_SERVER} == 1 ]]; then
echo -e "\n${GREEN}[STARTUP]: ${CYAN}Starting checks for all updates...${NC}"
echo -e "(It is okay to ignore any \"SDL\" errors during this process)\n"
echo -e "(It is okay to ignore any \"SDL\" and \"thread priority\" errors during this process)\n"
## Update game server
echo -e "${GREEN}[UPDATE]:${NC} Checking for game server updates with App ID: ${CYAN}${STEAMCMD_APPID}${NC}..."
if [[ ${VALIDATE_SERVER} == 1 ]]; then # Validate will be added as a parameter if specified
echo -e "\t${CYAN}File validation enabled.${NC} (This may take extra time to complete)"
validateServer="validate"
else
validateServer=""
fi
# Determine what extra flags should be set
if [[ -n ${STEAMCMD_EXTRA_FLAGS} ]]; then
echo -e "\t(${YELLOW}Advanced${NC}) Extra SteamCMD flags specified: ${CYAN}${STEAMCMD_EXTRA_FLAGS}${NC}\n"
@@ -214,25 +245,37 @@ if [[ ${UPDATE_SERVER} == 1 ]]; then
echo -e ""
extraFlags=""
fi
RunSteamCMD 0 ${STEAMCMD_APPID}
## Update mods
if [[ -n $allMods ]] && [[ ${DISABLE_MOD_UPDATES} != 1 ]]; then
echo -e "\n${GREEN}[UPDATE]:${NC} Checking all ${CYAN}Steam Workshop mods${NC} for updates..."
for modID in $(echo $allMods | sed -e 's/@//g')
do
if [[ $modID =~ ^[0-9]+$ ]]; then # Only check mods that are in ID-form
# If a mod is defined in OPTIONALMODS, and is not defined in CLIENT_MODS or SERVERMODS, then treat as an optional mod
# Optional mods are given a different directory which is checked to see if a new update is available. This is to ensure
# if an optional mod is switched to be a standard client-side mod, this script will redownload the mod
if [[ "${OPTIONALMODS}" == *"@${modID};"* ]] && [[ "${CLIENT_MODS}" != *"@${modID};"* ]] && [[ "${SERVERMODS}" != *"@${modID};"* ]]; then
modType=2
modDir=@${modID}_optional
else
modType=1
modDir=@${modID}
fi
# Get mod's latest update in epoch time from its Steam Workshop changelog page
latestUpdate=$(curl -sL https://steamcommunity.com/sharedfiles/filedetails/changelog/$modID | grep '<p id=' | head -1 | cut -d'"' -f2)
# If the update time is valid and newer than the local directory's creation date, or the mod hasn't been downloaded yet, download the mod
if [[ ! -d @$modID ]] || [[ ( -n $latestUpdate ) && ( $latestUpdate =~ ^[0-9]+$ ) && ( $latestUpdate > $(find @$modID | head -1 | xargs stat -c%Y) ) ]]; then
if [[ ! -d $modDir ]] || [[ ( -n $latestUpdate ) && ( $latestUpdate =~ ^[0-9]+$ ) && ( $latestUpdate > $(find $modDir | head -1 | xargs stat -c%Y) ) ]]; then
# Get the mod's name from the Workshop page as well
modName=$(curl -sL https://steamcommunity.com/sharedfiles/filedetails/changelog/$modID | grep 'workshopItemTitle' | cut -d'>' -f2 | cut -d'<' -f1)
if [[ -z $modName ]]; then # Set default name if unavailable
modName="[NAME UNAVAILABLE]"
fi
if [[ ! -d @$modID ]]; then
if [[ ! -d $modDir ]]; then
echo -e "\n${GREEN}[UPDATE]:${NC} Downloading new Mod: \"${CYAN}${modName}${NC}\" (${CYAN}${modID}${NC})"
else
echo -e "\n${GREEN}[UPDATE]:${NC} Mod update found for: \"${CYAN}${modName}${NC}\" (${CYAN}${modID}${NC})"
@@ -240,11 +283,43 @@ 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
RunSteamCMD $modType $modID
fi
fi
done
# Check over key files for unconfigured optional mods' .bikey files
for keyFile in $(find ./keys -name "*.bikey" -type f); do
keyFileName=$(basename ${keyFile})
# If the key file is using the optional mod file name
if [[ "${keyFileName}" == "optional_"* ]]; then
modID=$(echo "${keyFileName}" | cut -d _ -f 2)
# If mod is not in optional mods, delete it
# If a mod is configured in CLIENT_MODS or SERVERMODS, we should still delete this file
# as a new file will have been copied that does not follow the naming scheme
if [[ "${OPTIONALMODS}" != *"@${modID};"* ]]; then
# We only need to let the user know the key file is being deleted if this mod is no longer configured at all.
# If CLIENT_MODS contains the mod ID, we'd just confuse the user by telling them we are deleting the optional .bikey file
if [[ "${CLIENT_MODS}" != *"@${modID};"* ]]; then
echo -e "\tKey file and directory for unconfigured optional mod ${CYAN}${modID}${NC} is being deleted..."
fi
# Delete the optional mod .bikey file and directory
rm ${keyFile}
rmdir ./@${modID}_optional 2> /dev/null
fi
fi
done;
echo -e "${GREEN}[UPDATE]:${NC} Steam Workshop mod update check ${GREEN}complete${NC}!"
fi
fi
@@ -284,15 +359,15 @@ if [[ ! -f ./basic.cfg ]]; then
curl -sSL ${BASIC_URL} -o ./basic.cfg
fi
# $NSS_WRAPPER_PASSWD and $NSS_WRAPPER_GROUP have been set by the Dockerfile
# Setup NSS Wrapper for use ($NSS_WRAPPER_PASSWD and $NSS_WRAPPER_GROUP have been set by the Dockerfile)
export USER_ID=$(id -u)
export GROUP_ID=$(id -g)
envsubst < /passwd.template > ${NSS_WRAPPER_PASSWD}
if [[ ${SERVER_BINARY} == *"x64"* ]]; then # Check which libnss_wrapper architecture to run, based off the server binary name
export LD_PRELOAD=/libnss_wrapper_x64.so
if [[ ${SERVER_BINARY} == *"x64"* ]]; then # Check which libnss-wrapper architecture to run, based off the server binary name
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libnss_wrapper.so
else
export LD_PRELOAD=/libnss_wrapper.so
export LD_PRELOAD=/usr/lib/i386-linux-gnu/libnss_wrapper.so
fi
# Replace Startup Variables

Binary file not shown.

Binary file not shown.

View File

@@ -23,4 +23,4 @@ systemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/false
syslog:x:104:108::/home/syslog:/bin/false
messagebus:x:106:109::/var/run/dbus:/bin/false
bind:x:108:112::/var/cache/bind:/bin/false
${USER_NAME}:x:${USER_ID}:${GROUP_ID}:${USER_NAME}:${HOME}:/bin/bash
${USER}:x:${USER_ID}:${GROUP_ID}:${USER}:${HOME}:/bin/bash

50
games/dayz/Dockerfile Normal file
View File

@@ -0,0 +1,50 @@
FROM --platform=$BUILDPLATFORM debian:stable-slim
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
## Update base packages and install dependencies
ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& apt install -y \
curl \
tzdata \
locales \
iproute2 \
gettext-base \
ca-certificates \
numactl \
libssl-dev \
lib32gcc-s1 \
libsdl2-2.0-0 \
libsdl2-2.0-0:i386 \
libstdc++6 \
libstdc++6:i386 \
lib32stdc++6 \
libcap2 \
libnss-wrapper
## 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 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} \
&& chmod g+rw ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP}
ADD passwd.template /passwd.template
## 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 over and execute entrypoint.sh
COPY ./entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

2
games/dayz/README.md Normal file
View File

@@ -0,0 +1,2 @@
# DayZ
Docker container designed to run Bohemia Interactive's DayZ dedicated server.

285
games/dayz/entrypoint.sh Normal file
View File

@@ -0,0 +1,285 @@
#!/bin/bash
## File: Pterodactyl DayZ SA Image - entrypoint.sh
## Author: David Wolfe (Red-Thirten)
## Contributors: Aussie Server Hosts (https://aussieserverhosts.com/)
## Date: 2022/11/27
## License: MIT License
## === CONSTANTS ===
STEAMCMD_DIR="./steamcmd" # SteamCMD's directory containing steamcmd.sh
STEAMCMD_LOG="${STEAMCMD_DIR}/steamcmd.log" # Log file for SteamCMD
GAME_ID=221100 # SteamCMD ID for the DayZ SA GAME (not server). Only used for Workshop mod downloads.
# Color Codes
CYAN='\033[0;36m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
## === ENVIRONMENT VARS ===
# STARTUP, STARTUP_PARAMS, STEAM_USER, STEAM_PASS, SERVER_BINARY, MOD_FILE, MODIFICATIONS, SERVERMODS, UPDATE_SERVER, VALIDATE_SERVER, MODS_LOWERCASE, STEAMCMD_EXTRA_FLAGS, STEAMCMD_APPID, SERVER_PASSWORD, STEAMCMD_ATTEMPTS, DISABLE_MOD_UPDATES
## === GLOBAL VARS ===
# validateServer, extraFlags, updateAttempt, modifiedStartup, allMods, CLIENT_MODS
## === DEFINE FUNCTIONS ===
# Runs SteamCMD with specified variables and performs error handling.
function RunSteamCMD { #[Input: int server=0 mod=1; int id]
# Clear previous SteamCMD log
if [[ -f "${STEAMCMD_LOG}" ]]; then
rm -f "${STEAMCMD_LOG:?}"
fi
updateAttempt=0
while (( $updateAttempt < $STEAMCMD_ATTEMPTS )); do # Loop for specified number of attempts
# Increment attempt counter
updateAttempt=$((updateAttempt+1))
if (( $updateAttempt > 1 )); then # Notify if not first attempt
echo -e "\t${YELLOW}Re-Attempting download/update in 3 seconds...${NC} (Attempt ${CYAN}${updateAttempt}${NC} of ${CYAN}${STEAMCMD_ATTEMPTS}${NC})\n"
sleep 3
fi
# Check if updating server or mod
if [[ $1 == 0 ]]; then # Server
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
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]}
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})"
echo -e "\t(This is expected for particularly large mods)"
elif [[ -n $(grep -i "0x402\|0x6\|0x602" "${STEAMCMD_LOG}") ]]; then # Connection issue with Steam
echo -e "\n${YELLOW}[UPDATE]: ${NC}Connection issue with Steam servers."
echo -e "\t(Steam servers may currently be down, or a connection cannot be made reliably)"
# Hard errors
elif [[ -n $(grep -i "Password check for AppId" "${STEAMCMD_LOG}") ]]; then # Incorrect beta branch password
echo -e "\n${RED}[UPDATE]: ${YELLOW}Incorrect password given for beta branch. ${CYAN}Skipping download...${NC}"
echo -e "\t(Check your \"[ADVANCED] EXTRA FLAGS FOR STEAMCMD\" startup parameter)"
break
# Fatal errors
elif [[ -n $(grep -i "Invalid Password\|two-factor\|No subscription" "${STEAMCMD_LOG}") ]]; then # Wrong username/password, Steam Guard is turned on, or host is using anonymous account
echo -e "\n${RED}[UPDATE]: Cannot login to Steam - Improperly configured account and/or credentials"
echo -e "\t${YELLOW}Please contact your administrator/host and give them the following message:${NC}"
echo -e "\t${CYAN}Your Egg, or your client's server, is not configured with valid Steam credentials.${NC}"
echo -e "\t${CYAN}Either the username/password is wrong, or Steam Guard is not properly configured\n\taccording to this egg's documentation/README.${NC}\n"
exit 1
elif [[ -n $(grep -i "Download item" "${STEAMCMD_LOG}") ]]; then # Steam account does not own base game for mod downloads, or unknown
echo -e "\n${RED}[UPDATE]: Cannot download mod - Download failed"
echo -e "\t${YELLOW}While unknown, this error is likely due to your host's Steam account not owning the base game.${NC}"
echo -e "\t${YELLOW}(Please contact your administrator/host if this issue persists)${NC}\n"
exit 1
elif [[ -n $(grep -i "0x202\|0x212" "${STEAMCMD_LOG}") ]]; then # Not enough disk space
echo -e "\n${RED}[UPDATE]: Unable to complete download - Not enough storage"
echo -e "\t${YELLOW}You have run out of your allotted disk space.${NC}"
echo -e "\t${YELLOW}Please contact your administrator/host for potential storage upgrades.${NC}\n"
exit 1
elif [[ -n $(grep -i "0x606" "${STEAMCMD_LOG}") ]]; then # Disk write failure
echo -e "\n${RED}[UPDATE]: Unable to complete download - Disk write failure"
echo -e "\t${YELLOW}This is normally caused by directory permissions issues,\n\tbut could be a more serious hardware issue.${NC}"
echo -e "\t${YELLOW}(Please contact your administrator/host if this issue persists)${NC}\n"
exit 1
else # Unknown caught error
echo -e "\n${RED}[UPDATE]: ${YELLOW}An unknown error has occurred with SteamCMD. ${CYAN}Skipping download...${NC}"
echo -e "\t(Please contact your administrator/host if this issue persists)"
break
fi
elif [[ $steamcmdExitCode != 0 ]]; then # Unknown fatal error
echo -e "\n${RED}[UPDATE]: SteamCMD has crashed for an unknown reason!${NC} (Exit code: ${CYAN}${steamcmdExitCode}${NC})"
echo -e "\t${YELLOW}(Please contact your administrator/host for support)${NC}\n"
cp -r /tmp/dumps /home/container/dumps
exit $steamcmdExitCode
else # Success!
if [[ $1 == 0 ]]; then # Server
echo -e "\n${GREEN}[UPDATE]: Game server is up to date!${NC}"
else # Mod
# Move the downloaded mod to the root directory, and replace existing mod if needed
mkdir -p ./@$2
rm -rf ./@$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
echo -e "\tMoving any mod ${CYAN}.bikey${NC} files to the ${CYAN}~/keys/${NC} folder..."
find ./@$2 -name "*.bikey" -type f -exec cp {} ./keys \;
echo -e "${GREEN}[UPDATE]: Mod download/update successful!${NC}"
fi
break
fi
if (( $updateAttempt == $STEAMCMD_ATTEMPTS )); then # Notify if failed last attempt
if [[ $1 == 0 ]]; then # Server
echo -e "\t${RED}Final attempt made! ${YELLOW}Unable to complete game server update. ${CYAN}Skipping...${NC}"
echo -e "\t(Please try again at a later time)"
sleep 3
else # Mod
echo -e "\t${RED}Final attempt made! ${YELLOW}Unable to complete mod download/update. ${CYAN}Skipping...${NC}"
echo -e "\t(You may try again later, or manually upload this mod to your server via SFTP)"
sleep 3
fi
fi
done
}
# Takes a directory (string) as input, and recursively makes all files & folders lowercase.
function ModsLowercase {
echo -e "\n\tMaking mod ${CYAN}$1${NC} files/folders lowercase..."
for SRC in `find ./$1 -depth`
do
DST=`dirname "${SRC}"`/`basename "${SRC}" | tr '[A-Z]' '[a-z]'`
if [ "${SRC}" != "${DST}" ]
then
[ ! -e "${DST}" ] && mv -T "${SRC}" "${DST}"
fi
done
}
# Removes duplicate items from a semicolon delimited string
function RemoveDuplicates { #[Input: str - Output: printf of new str]
if [[ -n $1 ]]; then # If nothing to compare, skip to prevent extra semicolon being returned
echo $1 | sed -e 's/;/\n/g' | sort -u | xargs printf '%s;'
fi
}
## === ENTRYPOINT START ===
# Wait for the container to fully initialize
sleep 1
# 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
# Collect and parse all specified mods
if [[ -n ${MODIFICATIONS} ]] && [[ ${MODIFICATIONS} != *\; ]]; then # Add manually specified mods to the client-side mods list, while checking for trailing semicolon
CLIENT_MODS="${MODIFICATIONS};"
else
CLIENT_MODS=${MODIFICATIONS}
fi
# If the mod list file exists and is valid, parse and add mods to the client-side mods list
if [[ -f ${MOD_FILE} ]] && [[ -n "$(cat ${MOD_FILE} | grep 'Created by DayZ Launcher')" ]]; then
CLIENT_MODS+=$(cat ${MOD_FILE} | grep 'id=' | cut -d'=' -f3 | cut -d'"' -f1 | xargs printf '@%s;')
elif [[ -n "${MOD_FILE}" ]]; then # If MOD_FILE is not null, warn user file is missing or invalid
echo -e "\n${YELLOW}[STARTUP_WARN]: DayZ Modlist file \"${CYAN}${MOD_FILE}${YELLOW}\" could not be found, or is invalid!${NC}"
echo -e "\tEnsure your uploaded modlist's file name matches your Startup Parameter."
echo -e "\tOnly files exported from a DayZ Launcher are permitted."
if [[ -n "${CLIENT_MODS}" ]]; then
echo -e "\t${CYAN}Reverting to the manual mod list...${NC}"
fi
fi
# Add server mods to the master mods list, while checking for trailing semicolon
if [[ -n ${SERVERMODS} ]] && [[ ${SERVERMODS} != *\; ]]; then
allMods="${SERVERMODS};"
else
allMods=${SERVERMODS}
fi
allMods+=$CLIENT_MODS # Add all client-side mods to the master mod list
CLIENT_MODS=$(RemoveDuplicates ${CLIENT_MODS}) # Remove duplicate mods from CLIENT_MODS, if present
allMods=$(RemoveDuplicates ${allMods}) # Remove duplicate mods from allMods, if present
allMods=$(echo $allMods | sed -e 's/;/ /g') # Convert from string to array
# Update everything (server and mods), if specified
if [[ ${UPDATE_SERVER} == 1 ]]; then
echo -e "\n${GREEN}[STARTUP]: ${CYAN}Starting checks for all updates...${NC}"
echo -e "(It is okay to ignore any \"SDL\" and \"thread priority\" errors during this process)\n"
## Update game server
echo -e "${GREEN}[UPDATE]:${NC} Checking for game server updates with App ID: ${CYAN}${STEAMCMD_APPID}${NC}..."
if [[ ${VALIDATE_SERVER} == 1 ]]; then # Validate will be added as a parameter if specified
echo -e "\t${CYAN}File validation enabled.${NC} (This may take extra time to complete)"
validateServer="validate"
else
validateServer=""
fi
# Determine what extra flags should be set
if [[ -n ${STEAMCMD_EXTRA_FLAGS} ]]; then
echo -e "\t(${YELLOW}Advanced${NC}) Extra SteamCMD flags specified: ${CYAN}${STEAMCMD_EXTRA_FLAGS}${NC}\n"
extraFlags=${STEAMCMD_EXTRA_FLAGS}
else
echo -e ""
extraFlags=""
fi
RunSteamCMD 0 ${STEAMCMD_APPID}
## Update mods
if [[ -n $allMods ]] && [[ ${DISABLE_MOD_UPDATES} != 1 ]]; then
echo -e "\n${GREEN}[UPDATE]:${NC} Checking all ${CYAN}Steam Workshop mods${NC} for updates..."
for modID in $(echo $allMods | sed -e 's/@//g')
do
if [[ $modID =~ ^[0-9]+$ ]]; then # Only check mods that are in ID-form
# Get mod's latest update in epoch time from its Steam Workshop changelog page
latestUpdate=$(curl -sL https://steamcommunity.com/sharedfiles/filedetails/changelog/$modID | grep '<p id=' | head -1 | cut -d'"' -f2)
# If the update time is valid and newer than the local directory's creation date, or the mod hasn't been downloaded yet, download the mod
if [[ ! -d @$modID ]] || [[ ( -n $latestUpdate ) && ( $latestUpdate =~ ^[0-9]+$ ) && ( $latestUpdate > $(find @$modID | head -1 | xargs stat -c%Y) ) ]]; then
# Get the mod's name from the Workshop page as well
modName=$(curl -sL https://steamcommunity.com/sharedfiles/filedetails/changelog/$modID | grep 'workshopItemTitle' | cut -d'>' -f2 | cut -d'<' -f1)
if [[ -z $modName ]]; then # Set default name if unavailable
modName="[NAME UNAVAILABLE]"
fi
if [[ ! -d @$modID ]]; then
echo -e "\n${GREEN}[UPDATE]:${NC} Downloading new Mod: \"${CYAN}${modName}${NC}\" (${CYAN}${modID}${NC})"
else
echo -e "\n${GREEN}[UPDATE]:${NC} Mod update found for: \"${CYAN}${modName}${NC}\" (${CYAN}${modID}${NC})"
fi
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
echo -e "\tAttempting mod update/download via SteamCMD...\n"
RunSteamCMD 1 $modID
fi
fi
done
echo -e "${GREEN}[UPDATE]:${NC} Steam Workshop mod update check ${GREEN}complete${NC}!"
fi
fi
# Check if specified server binary exists.
if [[ ! -f ./${SERVER_BINARY} ]]; then
echo -e "\n${RED}[STARTUP_ERR]: Specified DayZ server binary could not be found in the root directory!${NC}"
echo -e "${YELLOW}Please do the following to resolve this issue:${NC}"
echo -e "\t${CYAN}- Double check your \"Server Binary\" Startup Variable is correct.${NC}"
echo -e "\t${CYAN}- Ensure your server has properly installed/updated without errors (reinstalling/updating again may help).${NC}"
echo -e "\t${CYAN}- Use the File Manager to check that your specified server binary file is not missing from the root directory.${NC}\n"
exit 1
fi
# Make mods lowercase, if specified
if [[ ${MODS_LOWERCASE} == "1" ]]; then
for modDir in $allMods
do
ModsLowercase $modDir
done
fi
# Setup NSS Wrapper for use ($NSS_WRAPPER_PASSWD and $NSS_WRAPPER_GROUP have been set by the Dockerfile)
export USER_ID=$(id -u)
export GROUP_ID=$(id -g)
envsubst < /passwd.template > ${NSS_WRAPPER_PASSWD}
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libnss_wrapper.so
# Replace Startup Variables
modifiedStartup=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')`
# Start the Server
echo -e "\n${GREEN}[STARTUP]:${NC} Starting server with the following startup command:"
echo -e "${CYAN}${modifiedStartup}${NC}\n"
${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"
exit 1
fi

View File

@@ -0,0 +1,26 @@
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false
systemd-network:x:101:103:systemd Network Management,,,:/run/systemd/netif:/bin/false
systemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/false
systemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/false
syslog:x:104:108::/home/syslog:/bin/false
messagebus:x:106:109::/var/run/dbus:/bin/false
bind:x:108:112::/var/cache/bind:/bin/false
${USER}:x:${USER_ID}:${GROUP_ID}:${USER}:${HOME}:/bin/bash

12
games/mohaa/Dockerfile Normal file
View File

@@ -0,0 +1,12 @@
FROM ghcr.io/parkervcp/yolks:debian
LABEL author="Manuel Dielacher" maintainer="th3dilli@gmx.at"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
RUN dpkg --add-architecture i386 \
&& apt update && apt upgrade -y \
&& apt install -y lib32gcc-s1 lib32stdc++6 libstdc++5:i386

13
games/mohaa/entrypoint.sh Normal file
View File

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

23
games/samp/Dockerfile Normal file
View File

@@ -0,0 +1,23 @@
FROM --platform=$TARGETOS/$TARGETARCH debian:bullseye-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 \
&& apt install -y libtbb2: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
COPY ./entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

12
games/samp/entrypoint.sh Normal file
View File

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

View File

@@ -20,7 +20,7 @@
# SOFTWARE.
#
FROM --platform=$BUILDPLATFORM debian:stable-slim
FROM --platform=$TARGETOS/$TARGETARCH debian:stable-slim
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
@@ -30,10 +30,16 @@ LABEL org.opencontainers.image.licenses=MIT
ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& apt install -y tar curl gcc g++ lib32gcc-s1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.1: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 tzdata \
&& useradd -m -d /home/container container
&& apt update \
&& apt upgrade -y \
&& apt install -y tar curl gcc g++ lib32gcc-s1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.1: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 tzdata numactl \
&& useradd -m -d /home/container container
## install rcon
RUN cd /tmp/ \
&& curl -sSL https://github.com/gorcon/rcon-cli/releases/download/v0.10.2/rcon-0.10.2-amd64_linux.tar.gz > rcon.tar.gz \
&& tar xvf rcon.tar.gz \
&& mv rcon-0.10.2-amd64_linux/rcon /usr/local/bin/
USER container
ENV USER=container HOME=/home/container

View File

@@ -22,21 +22,20 @@
# SOFTWARE.
#
# 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;exit}')
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
# 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' | eval echo "$(cat -)")
## just in case someone removed the defaults.
if [ "${STEAM_USER}" == "" ]; then
@@ -53,7 +52,11 @@ fi
if [ -z ${AUTO_UPDATE} ] || [ "${AUTO_UPDATE}" == "1" ]; then
# Update Source Server
if [ ! -z ${SRCDS_APPID} ]; then
./steamcmd/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir /home/container +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
@@ -62,8 +65,9 @@ else
echo -e "Not updating game server as auto update was set to 0. Starting Server"
fi
# 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
exec env ${PARSED}
# Replace Startup Variables
MODIFIED_STARTUP=$(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')
echo -e ":/home/container$ ${MODIFIED_STARTUP}"
# Run the Server
eval ${MODIFIED_STARTUP}

38
games/valheim/Dockerfile Normal file
View File

@@ -0,0 +1,38 @@
FROM --platform=$TARGETOS/$TARGETARCH ubuntu:22.04
LABEL author="Daniel Barton" maintainer="danny6167@gmail.com"
ENV DEBIAN_FRONTEND noninteractive
## add container user
RUN useradd -m -d /home/container -s /bin/bash container
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& apt install -y libcurl4-gnutls-dev:i386 libssl3:i386 libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 \
gcc g++ libgcc1 libc++-dev gdb libc6 curl tar iproute2 net-tools libatomic1 libsdl1.2debian libsdl2-2.0-0 \
libfontconfig locales libcurl3-gnutls libpulse-dev libpulse0 libnss-wrapper gettext
## configure locale
RUN update-locale lang=en_US.UTF-8 \
&& dpkg-reconfigure --frontend noninteractive locales
ENV USER=container HOME=/home/container
WORKDIR /home/container
## Prepare NSS Wrapper for the entrypoint as a workaround for Valheim 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} \
&& chmod g+rw ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP}
ADD passwd.template /passwd.template
COPY ./entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

View File

@@ -0,0 +1,46 @@
#!/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
## just in case someone removed the defaults.
if [ "${STEAM_USER}" == "" ]; then
echo -e "steam user is not set.\n"
echo -e "Using anonymous user.\n"
STEAM_USER=anonymous
STEAM_PASS=""
STEAM_AUTH=""
else
echo -e "user set to ${STEAM_USER}"
fi
## if auto_update is not set or to 1 update
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 ${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
else
echo -e "Not updating game server as auto update was set to 0. Starting Server"
fi
# Setup NSS Wrapper for use ($NSS_WRAPPER_PASSWD and $NSS_WRAPPER_GROUP have been set by the Dockerfile)
export USER_ID=$(id -u)
export GROUP_ID=$(id -g)
envsubst < /passwd.template > ${NSS_WRAPPER_PASSWD}
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libnss_wrapper.so
# Replace Startup Variables
MODIFIED_STARTUP=$(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')
echo -e ":/home/container$ ${MODIFIED_STARTUP}"
# Run the Server
eval ${MODIFIED_STARTUP}

View File

@@ -0,0 +1,26 @@
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false
systemd-network:x:101:103:systemd Network Management,,,:/run/systemd/netif:/bin/false
systemd-resolve:x:102:104:systemd Resolver,,,:/run/systemd/resolve:/bin/false
systemd-bus-proxy:x:103:105:systemd Bus Proxy,,,:/run/systemd:/bin/false
syslog:x:104:108::/home/syslog:/bin/false
messagebus:x:106:109::/var/run/dbus:/bin/false
bind:x:108:112::/var/cache/bind:/bin/false
${USER_NAME}:x:${USER_ID}:${GROUP_ID}:${USER_NAME}:${HOME}:/bin/bash

View File

@@ -20,7 +20,7 @@
# SOFTWARE.
#
FROM --platform=$BUILDPLATFORM golang:1.14-alpine
FROM --platform=$TARGETOS/$TARGETARCH golang:1.14-alpine
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"

View File

@@ -20,7 +20,7 @@
# SOFTWARE.
#
FROM --platform=$BUILDPLATFORM golang:1.15-alpine
FROM --platform=$TARGETOS/$TARGETARCH golang:1.15-alpine
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"

View File

@@ -20,7 +20,7 @@
# SOFTWARE.
#
FROM --platform=$BUILDPLATFORM golang:1.16-alpine
FROM --platform=$TARGETOS/$TARGETARCH golang:1.16-alpine
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"

View File

@@ -20,19 +20,19 @@
# SOFTWARE.
#
FROM --platform=$BUILDPLATFORM alpine:latest
FROM --platform=$TARGETOS/$TARGETARCH golang:1.17-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 c-ares icu-libs libssl1.1 libunwind musl musl-dbg tzdata zlib \
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
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/ash", "/entrypoint.sh" ]

View File

@@ -1,5 +1,3 @@
#!/bin/ash
#
# Copyright (c) 2021 Matthew Penner
#
@@ -20,26 +18,21 @@
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
#
# Default the TZ environment variable to UTC.
TZ=${TZ:-UTC}
export TZ
FROM --platform=$TARGETOS/$TARGETARCH golang:1.18-alpine
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $NF;exit}')
export INTERNAL_IP
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
# Switch to the container's working directory
cd /home/container || exit 1
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
# 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' | eval echo "$(cat -)")
RUN apk add --update --no-cache ca-certificates tzdata \
&& adduser -D -h /home/container container
# 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
exec env ${PARSED}
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/ash", "/entrypoint.sh" ]

38
go/1.19/Dockerfile Normal file
View File

@@ -0,0 +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.19-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

@@ -20,14 +20,14 @@
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
#
# Default the TZ environment variable to UTC.
TZ=${TZ:-UTC}
export TZ
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $NF;exit}')
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Switch to the container's working directory

View File

@@ -20,11 +20,11 @@
# SOFTWARE.
#
FROM --platform=$BUILDPLATFORM alpine:latest
FROM --platform=$TARGETOS/$TARGETARCH alpine:latest
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 curl git jq wget
RUN apk add --update --no-cache ca-certificates curl unzip tar git jq wget

View File

@@ -18,9 +18,9 @@
# 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=$BUILDPLATFORM debian:stable-slim
FROM --platform=$TARGETOS/$TARGETARCH debian:stable-slim
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
@@ -32,4 +32,4 @@ ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& apt -y --no-install-recommends install ca-certificates curl lib32gcc-s1 libsdl2-2.0-0:i386 git
&& apt -y --no-install-recommends install ca-certificates curl lib32gcc-s1 libsdl2-2.0-0:i386 git unzip zip tar jq

View File

@@ -0,0 +1,34 @@
#
# Copyright (c) 2022 oliver194
#
# 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 ubuntu:focal
LABEL author="oliver194" maintainer="100048880+oliver194@users.noreply.github.com"
LABEL org.opencontainers.image.source="https://github.com/oliver194/yolks"
LABEL org.opencontainers.image.licenses=MIT
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update \
&& apt upgrade -y \
&& apt -y --no-install-recommends install ca-certificates curl git unzip zip tar jq

View File

@@ -1,13 +1,13 @@
FROM --platform=$BUILDPLATFORM openjdk:11-slim
FROM --platform=$TARGETOS/$TARGETARCH openjdk:11-slim
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-get update -y \
&& apt-get install -y curl ca-certificates openssl git tar sqlite fontconfig tzdata iproute2 \
&& useradd -d /home/container -m container
RUN apt update -y \
&& apt install -y curl ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 \
&& useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container

View File

@@ -1,10 +1,10 @@
FROM --platform=$BUILDPLATFORM adoptopenjdk/openjdk11-openj9:debianslim
FROM --platform=$TARGETOS/$TARGETARCH adoptopenjdk/openjdk11-openj9:debianslim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt-get update -y \
&& apt-get install -y curl ca-certificates openssl git tar sqlite fontconfig tzdata iproute2 \
&& useradd -d /home/container -m container
RUN apt update -y \
&& apt install -y curl ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 \
&& useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container

View File

@@ -1,13 +1,13 @@
FROM --platform=$BUILDPLATFORM openjdk:16-slim
FROM --platform=$TARGETOS/$TARGETARCH openjdk:16-slim
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-get update -y \
&& apt-get install -y curl ca-certificates openssl git tar sqlite fontconfig tzdata iproute2 \
&& useradd -d /home/container -m container
RUN apt update -y \
&& apt install -y curl ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 \
&& useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container

View File

@@ -1,10 +1,10 @@
FROM --platform=$BUILDPLATFORM adoptopenjdk/openjdk16-openj9:debianslim
FROM --platform=$TARGETOS/$TARGETARCH adoptopenjdk/openjdk16-openj9:debianslim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt-get update -y \
&& apt-get install -y curl ca-certificates openssl git tar sqlite fontconfig tzdata iproute2 \
&& useradd -d /home/container -m container
RUN apt update -y \
&& apt install -y curl ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 \
&& useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container

17
java/17/Dockerfile Normal file
View File

@@ -0,0 +1,17 @@
FROM --platform=$TARGETOS/$TARGETARCH openjdk:17-slim
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 ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 \
&& useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

17
java/19/Dockerfile Normal file
View File

@@ -0,0 +1,17 @@
FROM --platform=$TARGETOS/$TARGETARCH openjdk:19-slim
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 ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 \
&& useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

View File

@@ -1,13 +1,13 @@
FROM --platform=$BUILDPLATFORM openjdk:8-slim-buster
FROM --platform=$TARGETOS/$TARGETARCH openjdk:8-slim-buster
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-get update -y \
&& apt-get install -y curl ca-certificates openssl git tar sqlite fontconfig tzdata iproute2 \
&& useradd -d /home/container -m container
RUN apt update -y \
&& apt install -y curl ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 \
&& useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container

View File

@@ -1,10 +1,10 @@
FROM --platform=$BUILDPLATFORM adoptopenjdk/openjdk8-openj9:debianslim
FROM --platform=$TARGETOS/$TARGETARCH adoptopenjdk/openjdk8-openj9:debianslim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt-get update -y \
&& apt-get install -y curl ca-certificates openssl git tar sqlite fontconfig tzdata iproute2 \
&& useradd -d /home/container -m container
RUN apt update -y \
&& apt install -y curl ca-certificates openssl git tar sqlite fontconfig tzdata iproute2 libfreetype6 \
&& useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container

View File

@@ -27,7 +27,7 @@ TZ=${TZ:-UTC}
export TZ
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $NF;exit}')
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Switch to the container's working directory
@@ -46,4 +46,4 @@ PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat
# from the container itself.
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED"
# shellcheck disable=SC2086
exec env ${PARSED}
eval ${PARSED}

19
mariadb/10.3/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# -----------------------------------------------------
# MariaDB Image for Pterodactyl
# -----------------------------------------------------
FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.3
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \
&& 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"]

19
mariadb/10.4/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# -----------------------------------------------------
# MariaDB Image for Pterodactyl
# -----------------------------------------------------
FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.4
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \
&& 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"]

19
mariadb/10.5/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# -----------------------------------------------------
# MariaDB Image for Pterodactyl
# -----------------------------------------------------
FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.5
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \
&& 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"]

19
mariadb/10.6/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# -----------------------------------------------------
# MariaDB Image for Pterodactyl
# -----------------------------------------------------
FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.6
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \
&& 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"]

19
mariadb/10.7/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# -----------------------------------------------------
# MariaDB Image for Pterodactyl
# -----------------------------------------------------
FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.7
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat \
&& 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"]

13
mariadb/entrypoint.sh Normal file
View File

@@ -0,0 +1,13 @@
#!/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 ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')
echo ":/home/container$ ${MODIFIED_STARTUP}"
# Run the Server
eval ${MODIFIED_STARTUP}

19
mongodb/4/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# ----------------------------------
# Environment: MongoDB
# ----------------------------------
FROM --platform=$TARGETOS/$TARGETARCH mongo:4-focal
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat iproute2 \
&& 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"]

19
mongodb/5/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# ----------------------------------
# Environment: MongoDB
# ----------------------------------
FROM --platform=$TARGETOS/$TARGETARCH mongo:5-focal
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat iproute2 \
&& 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"]

19
mongodb/6/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# ----------------------------------
# Environment: MongoDB
# ----------------------------------
FROM --platform=$TARGETOS/$TARGETARCH mongo:6-focal
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt install -y netcat iproute2 \
&& 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"]

13
mongodb/entrypoint.sh Normal file
View File

@@ -0,0 +1,13 @@
#!/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 ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')
echo ":/home/container$ ${MODIFIED_STARTUP}"
# Run the Server
eval ${MODIFIED_STARTUP}

13
mono/entrypoint.sh Normal file
View File

@@ -0,0 +1,13 @@
#!/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="eval $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')"
echo ":/home/container$ ${MODIFIED_STARTUP}"
# Run the Server
${MODIFIED_STARTUP}

18
mono/latest/Dockerfile Normal file
View File

@@ -0,0 +1,18 @@
FROM ghcr.io/parkervcp/yolks:debian
LABEL author="Torsten Widmann" maintainer="support@goover.de"
RUN apt update \
&& apt -y upgrade
RUN apt install -y fontconfig dirmngr
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
RUN apt install -y mono-complete lib32gcc-s1
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]

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