Add source container, update GitHub Actions workflow

This commit is contained in:
Matthew Penner 2020-12-03 19:05:20 -07:00
parent c9fd17ef42
commit 22e836fbbf
3 changed files with 68 additions and 101 deletions

View file

@ -12,7 +12,20 @@ jobs:
push: push:
name: Push name: Push
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.event_name == 'push'
strategy:
matrix:
image:
- "alpine"
- "java7"
- "java8"
- "java9"
- "java10"
- "java11"
- "java12"
- "java13"
- "java14"
- "source"
steps: steps:
- name: Code Checkout - name: Code Checkout
@ -21,108 +34,12 @@ jobs:
- name: Registry Authentication - name: Registry Authentication
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin
- name: Build alpine Image - name: Build Image
run: docker build ./alpine --tag alpine run: docker build ./${{ matrix.image }} --tag alpine
- name: Build java7 Image - name: Push Image
run: docker build ./java7 --tag java7
- name: Build java8 Image
run: docker build ./java8 --tag java8
- name: Build java9 Image
run: docker build ./java9 --tag java9
- name: Build java10 Image
run: docker build ./java10 --tag java10
- name: Build java11 Image
run: docker build ./java11 --tag java11
- name: Build java12 Image
run: docker build ./java12 --tag java12
- name: Build java13 Image
run: docker build ./java13 --tag java13
- name: Build java14 Image
run: docker build ./java14 --tag java14
- name: Push alpine Image
run: | run: |
IMAGE_NAME=alpine IMAGE_NAME=${{ matrix.image }}
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
- name: Push java7 Image
run: |
IMAGE_NAME=java7
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
- name: Push java8 Image
run: |
IMAGE_NAME=java8
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
- name: Push java9 Image
run: |
IMAGE_NAME=java9
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
- name: Push java10 Image
run: |
IMAGE_NAME=java10
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
- name: Push java11 Image
run: |
IMAGE_NAME=java11
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
- name: Push java12 Image
run: |
IMAGE_NAME=java12
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
- name: Push java13 Image
run: |
IMAGE_NAME=java13
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
- name: Push java14 Image
run: |
IMAGE_NAME=java14
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')

25
source/Dockerfile Normal file
View file

@ -0,0 +1,25 @@
#
# Copyright (c) 2020 Matthew Penner
#
# This repository is licensed under the MIT License.
# https://github.com/matthewpi/images/blob/master/LICENSE.md
#
FROM debian:stable-slim
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& apt install -y tar curl gcc g++ lib32gcc1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.0.0:i386 libcurl4:i386 lib32tinfo5 libtinfo5:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 iproute2 gdb libsdl1.2debian libfontconfig telnet net-tools netcat 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" ]

25
source/entrypoint.sh Normal file
View file

@ -0,0 +1,25 @@
#!/bin/ash
#
# Copyright (c) 2020 Matthew Penner
#
# This repository is licensed under the MIT License.
# https://github.com/matthewpi/images/blob/master/LICENSE.md
#
# Default the TZ environment variable to UTC.
TZ=${TZ:-UTC}
export TZ
# Switch to the container's working directory
cd /home/container
# Set environment variable that holds the Internal Docker IP
export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'`
# Replace variables in the startup command
MODIFIED_STARTUP=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')`
echo "[container@pterodactyl ~]$ ${MODIFIED_STARTUP}"
# Run the startup command
eval ${MODIFIED_STARTUP}