Merge branch 'master' into tini

This commit is contained in:
Quinten
2023-08-09 19:18:11 +02:00
committed by GitHub
5 changed files with 117 additions and 14 deletions

View File

@@ -9,8 +9,8 @@ on:
paths:
- games/**
jobs:
push:
name: "games:${{ matrix.game }}"
pushAMD64:
name: "games_AMD64:${{ matrix.game }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
@@ -18,7 +18,7 @@ jobs:
game:
- altv
- arma3
- dayz
- dayz
- mohaa
- samp
- source
@@ -42,3 +42,33 @@ jobs:
push: true
tags: |
ghcr.io/parkervcp/games:${{ matrix.game }}
pushAll:
name: "games_All:${{ matrix.game }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
game:
- minetest
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: arm64,amd64
- 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@v4
with:
context: ./games/${{ matrix.game }}
file: ./games/${{ matrix.game }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/parkervcp/games:${{ matrix.game }}

View File

@@ -93,6 +93,8 @@ is tagged correctly.
* `ghcr.io/parkervcp/games:arma3`
* [`dayz`](/games/dayz)
* `ghcr.io/parkervcp/games:dayz`
* [`minetest`](/games/minetest)
* `ghcr.io/parkervcp/games:minetest`
* [`mohaa`](games/mohaa)
* `ghcr.io/pterodactyl/games:mohaa`
* [`samp`](/games/samp)

View File

@@ -1,18 +1,50 @@
FROM --platform=$TARGETOS/$TARGETARCH python:3.11-slim-bullseye
FROM --platform=$TARGETOS/$TARGETARCH python:3.11-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN mkdir -p /usr/share/man/man1 \
&& apt update \
&& apt -y install git ca-certificates dnsutils iproute2 wget curl xz-utils git openjdk-11-jre tini \
zlib1g-dev libffi-dev git libmagickwand-dev unzip libaa1-dev build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev ffmpeg imagemagick \
&& pip install python-forecastio tweepy unidecode discord-text-sanitizer mcstatus bs4 sqlalchemy geocoder valve python-valve py-cpuinfo psutil \
&& useradd -m -d /home/container container \
&& mkdir -p /home/container/.config/Red-DiscordBot/ \
&& ln -s /home/container/.config/Red-DiscordBot/ /usr/local/share/Red-DiscordBot
RUN mkdir -p /usr/share/man/man1
RUN apt update \
&& apt -y upgrade \
&& apt -y install \
git \
ca-certificates \
dnsutils \
iproute2 \
wget \
curl \
xz-utils \
openjdk-17-jre-headless \
zlib1g-dev \
libffi-dev \
libmagickwand-dev \
unzip \
libaa1-dev \
build-essential \
tk-dev \
libncurses5-dev \
libncursesw5-dev \
libreadline6-dev \
libdb5.3-dev \
libgdbm-dev \
libsqlite3-dev \
libssl-dev \
libbz2-dev \
libexpat1-dev \
liblzma-dev \
ffmpeg \
imagemagick
RUN pip install --upgrade pip
RUN pip install python-forecastio tweepy unidecode discord-text-sanitizer mcstatus bs4 sqlalchemy geocoder valve python-valve py-cpuinfo psutil
RUN mkdir -p /home/container/.config/Red-DiscordBot/
RUN ln -s /home/container/.config/Red-DiscordBot/ /usr/local/share/Red-DiscordBot
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
USER container
ENV USER=container HOME=/home/container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh

16
games/minetest/Dockerfile Normal file
View File

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

View File

@@ -0,0 +1,23 @@
#!/bin/bash
# Default the TZ environment variable to UTC.
TZ=${TZ:-UTC}
export TZ
# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Switch to the container's working directory
cd /home/container || exit 1
# Print minetest version
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mminetest --version\n"
minetest --version
# 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}