feat: add base_ubuntu and base_debian images
Base images that self-hosted with other images importing these to build the image
This commit is contained in:
16
.github/workflows/base.yml
vendored
16
.github/workflows/base.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
name: build oses
|
name: build base
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * 1"
|
- cron: "0 0 * * 1"
|
||||||
@@ -6,17 +6,17 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
paths:
|
paths:
|
||||||
- oses/**
|
- base/**
|
||||||
jobs:
|
jobs:
|
||||||
push:
|
push:
|
||||||
name: "yolks:${{ matrix.oses }}"
|
name: "yolks:base_${{ matrix.tag }}"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
oses:
|
tag:
|
||||||
- alpine
|
|
||||||
- debian
|
- debian
|
||||||
|
- ubuntu
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: docker/setup-buildx-action@v1
|
- uses: docker/setup-buildx-action@v1
|
||||||
@@ -30,9 +30,9 @@ jobs:
|
|||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
- uses: docker/build-push-action@v2
|
- uses: docker/build-push-action@v2
|
||||||
with:
|
with:
|
||||||
context: ./oses/${{ matrix.oses }}
|
context: ./base/${{ matrix.tag }}
|
||||||
file: ./oses/${{ matrix.oses }}/Dockerfile
|
file: ./base/${{ matrix.tag }}/Dockerfile
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
ghcr.io/parkervcp/yolks:${{ matrix.oses }}
|
ghcr.io/parkervcp/yolks:base_${{ matrix.tag }}
|
||||||
|
30
base/debian/Dockerfile
Normal file
30
base/debian/Dockerfile
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
FROM debian:buster-slim
|
||||||
|
|
||||||
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
## add container user
|
||||||
|
RUN useradd -m -d /home/container -s /bin/bash container
|
||||||
|
|
||||||
|
RUN ln -s /home/container/ /nonexistent
|
||||||
|
|
||||||
|
ENV USER=container HOME=/home/container
|
||||||
|
|
||||||
|
## update base packages
|
||||||
|
RUN apt update \
|
||||||
|
&& apt upgrade -y
|
||||||
|
|
||||||
|
## install dependencies
|
||||||
|
RUN apt install -y gcc g++ libgcc1 lib32gcc1 libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \
|
||||||
|
libfontconfig libicu63 icu-devtools libunwind8 libssl-dev sqlite3 libsqlite3-dev libmariadbclient-dev libduktape203 locales ffmpeg gnupg2 apt-transport-https software-properties-common ca-certificates tzdata \
|
||||||
|
liblua5.3 libz-dev rapidjson-dev
|
||||||
|
|
||||||
|
## configure locale
|
||||||
|
RUN update-locale lang=en_US.UTF-8 \
|
||||||
|
&& dpkg-reconfigure --frontend noninteractive locales
|
||||||
|
|
||||||
|
WORKDIR /home/container
|
||||||
|
|
||||||
|
COPY ./../entrypoint.sh /entrypoint.sh
|
||||||
|
CMD ["/bin/bash", "/entrypoint.sh"]
|
12
base/entrypoint.sh
Normal file
12
base/entrypoint.sh
Normal 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;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}
|
24
base/ubuntu/Dockerfile
Normal file
24
base/ubuntu/Dockerfile
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
|
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
## add container user
|
||||||
|
RUN useradd -m -d /home/container -s /bin/bash container
|
||||||
|
|
||||||
|
## update base packages
|
||||||
|
RUN apt update \
|
||||||
|
&& apt upgrade -y
|
||||||
|
|
||||||
|
## install dependencies
|
||||||
|
RUN apt install -y gcc g++ libgcc1 lib32gcc1 libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \
|
||||||
|
libfontconfig libicu60 libiculx60 icu-devtools libunwind8 libssl1.0.0 libssl1.0-dev sqlite3 libsqlite3-dev libmariadbclient-dev libduktape202 libzip4 locales ffmpeg apt-transport-https init-system-helpers \
|
||||||
|
libcurl3-gnutls libjsoncpp1 libleveldb1v5 liblua5.1-0 libluajit-5.1-2 libsqlite3-0 libfluidsynth1 bzip2 zlib1g
|
||||||
|
|
||||||
|
## configure locale
|
||||||
|
RUN update-locale lang=en_US.UTF-8 \
|
||||||
|
&& dpkg-reconfigure --frontend noninteractive locales
|
||||||
|
|
||||||
|
COPY ./../entrypoint.sh /entrypoint.sh
|
||||||
|
CMD ["/bin/bash", "/entrypoint.sh"]
|
Reference in New Issue
Block a user