From 9ee5b6ffeab41f609cdaca2aff03f04cccc58c5f Mon Sep 17 00:00:00 2001 From: casjay Date: Thu, 15 Jan 2026 23:48:09 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=97=83=EF=B8=8F=20Updated=20workflows=20a?= =?UTF-8?q?nd=20moved=20rootfs=20=F0=9F=97=83=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dockerfile Dockerfile.18.04 Dockerfile.20.04 Dockerfile.22.04 Dockerfile.24.04 Dockerfile.24.10 dockerfs/ .gitea/workflows/docker.18.04.yaml .gitea/workflows/docker.20.04.yaml .gitea/workflows/docker.22.04.yaml .gitea/workflows/docker.24.04.yaml .gitea/workflows/docker.24.10.yaml .gitea/workflows/docker.yaml .github/ README.md rootfs/root/docker/setup/00-init.sh rootfs/root/docker/setup/01-system.sh rootfs/root/docker/setup/02-packages.sh rootfs/root/docker/setup/03-files.sh rootfs/root/docker/setup/04-users.sh rootfs/root/docker/setup/05-custom.sh rootfs/root/docker/setup/06-post.sh rootfs/root/docker/setup/07-cleanup.sh rootfs/usr/local/bin/entrypoint.sh rootfs/usr/local/bin/pkmgr rootfs/usr/local/etc/docker/functions/entrypoint.sh rootfs/usr/local/share/template-files/config/env/default.sample rootfs/usr/local/share/template-files/config/env/examples/00-directory.sh rootfs/usr/local/share/template-files/config/env/examples/addresses.sh rootfs/usr/local/share/template-files/config/env/examples/certbot.sh rootfs/usr/local/share/template-files/config/env/examples/couchdb.sh rootfs/usr/local/share/template-files/config/env/examples/dockerd.sh rootfs/usr/local/share/template-files/config/env/examples/global.sh rootfs/usr/local/share/template-files/config/env/examples/healthcheck.sh rootfs/usr/local/share/template-files/config/env/examples/mariadb.sh rootfs/usr/local/share/template-files/config/env/examples/mongodb.sh rootfs/usr/local/share/template-files/config/env/examples/networking.sh rootfs/usr/local/share/template-files/config/env/examples/other.sh rootfs/usr/local/share/template-files/config/env/examples/php.sh rootfs/usr/local/share/template-files/config/env/examples/postgres.sh rootfs/usr/local/share/template-files/config/env/examples/redis.sh rootfs/usr/local/share/template-files/config/env/examples/services.sh rootfs/usr/local/share/template-files/config/env/examples/ssl.sh rootfs/usr/local/share/template-files/config/env/examples/supabase.sh rootfs/usr/local/share/template-files/config/env/examples/webservers.sh rootfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh rootfs/usr/local/share/template-files/config/.gitkeep rootfs/usr/local/share/template-files/data/.gitkeep rootfs/usr/local/share/template-files/defaults/.gitkeep --- .gitea/workflows/docker.18.04.yaml | 74 +++++++++++----- .gitea/workflows/docker.20.04.yaml | 76 +++++++++++----- .gitea/workflows/docker.22.04.yaml | 74 +++++++++++----- .gitea/workflows/docker.24.04.yaml | 74 +++++++++++----- .gitea/workflows/docker.24.10.yaml | 74 +++++++++++----- .gitea/workflows/docker.yaml | 68 +++++++++++---- .github/workflows/docker.18.04.yaml | 85 ++++++++++++++++++ .github/workflows/docker.20.04.yaml | 85 ++++++++++++++++++ .github/workflows/docker.22.04.yaml | 85 ++++++++++++++++++ .github/workflows/docker.24.04.yaml | 85 ++++++++++++++++++ .github/workflows/docker.24.10.yaml | 85 ++++++++++++++++++ .github/workflows/docker.yaml | 86 +++++++++++++++++++ Dockerfile | 4 +- Dockerfile.18.04 | 4 +- Dockerfile.20.04 | 4 +- Dockerfile.22.04 | 4 +- Dockerfile.24.04 | 4 +- Dockerfile.24.10 | 4 +- README.md | 2 +- .../root/docker/setup/00-init.sh | 0 .../root/docker/setup/01-system.sh | 0 .../root/docker/setup/02-packages.sh | 0 .../root/docker/setup/03-files.sh | 0 .../root/docker/setup/04-users.sh | 0 .../root/docker/setup/05-custom.sh | 0 .../root/docker/setup/06-post.sh | 0 .../root/docker/setup/07-cleanup.sh | 0 .../usr/local/bin/entrypoint.sh | 0 {rootfs => dockerfs}/usr/local/bin/pkmgr | 0 .../local/etc/docker/functions/entrypoint.sh | 0 .../share/template-files/config/.gitkeep | 0 .../template-files/config/env/default.sample | 0 .../config/env/examples/00-directory.sh | 0 .../config/env/examples/addresses.sh | 0 .../config/env/examples/certbot.sh | 0 .../config/env/examples/couchdb.sh | 0 .../config/env/examples/dockerd.sh | 0 .../config/env/examples/global.sh | 0 .../config/env/examples/healthcheck.sh | 0 .../config/env/examples/mariadb.sh | 0 .../config/env/examples/mongodb.sh | 0 .../config/env/examples/networking.sh | 0 .../config/env/examples/other.sh | 0 .../template-files/config/env/examples/php.sh | 0 .../config/env/examples/postgres.sh | 0 .../config/env/examples/redis.sh | 0 .../config/env/examples/services.sh | 0 .../template-files/config/env/examples/ssl.sh | 0 .../config/env/examples/supabase.sh | 0 .../config/env/examples/webservers.sh | 0 .../config/env/examples/zz-entrypoint.sh | 0 .../local/share/template-files/data/.gitkeep | 0 .../share/template-files/defaults/.gitkeep | 0 53 files changed, 836 insertions(+), 141 deletions(-) create mode 100644 .github/workflows/docker.18.04.yaml create mode 100644 .github/workflows/docker.20.04.yaml create mode 100644 .github/workflows/docker.22.04.yaml create mode 100644 .github/workflows/docker.24.04.yaml create mode 100644 .github/workflows/docker.24.10.yaml create mode 100644 .github/workflows/docker.yaml rename {rootfs => dockerfs}/root/docker/setup/00-init.sh (100%) rename {rootfs => dockerfs}/root/docker/setup/01-system.sh (100%) rename {rootfs => dockerfs}/root/docker/setup/02-packages.sh (100%) rename {rootfs => dockerfs}/root/docker/setup/03-files.sh (100%) rename {rootfs => dockerfs}/root/docker/setup/04-users.sh (100%) rename {rootfs => dockerfs}/root/docker/setup/05-custom.sh (100%) rename {rootfs => dockerfs}/root/docker/setup/06-post.sh (100%) rename {rootfs => dockerfs}/root/docker/setup/07-cleanup.sh (100%) rename {rootfs => dockerfs}/usr/local/bin/entrypoint.sh (100%) rename {rootfs => dockerfs}/usr/local/bin/pkmgr (100%) rename {rootfs => dockerfs}/usr/local/etc/docker/functions/entrypoint.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/.gitkeep (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/default.sample (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/00-directory.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/addresses.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/certbot.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/couchdb.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/dockerd.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/global.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/healthcheck.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/mariadb.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/mongodb.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/networking.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/other.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/php.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/postgres.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/redis.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/services.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/ssl.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/supabase.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/webservers.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/data/.gitkeep (100%) rename {rootfs => dockerfs}/usr/local/share/template-files/defaults/.gitkeep (100%) diff --git a/.gitea/workflows/docker.18.04.yaml b/.gitea/workflows/docker.18.04.yaml index 9c08237..32105ef 100644 --- a/.gitea/workflows/docker.18.04.yaml +++ b/.gitea/workflows/docker.18.04.yaml @@ -1,9 +1,15 @@ name: ubuntu-18-04 -on: push +on: + push: + branches: + - main + - master + schedule: + - cron: '0 2 2 * *' jobs: - ubuntu-18-04: + build-and-push: runs-on: act_runner container: image: catthehacker/ubuntu:act-latest @@ -16,29 +22,21 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v2 - - name: Get Meta - id: meta - env: - TAG: 18.04 - ORG: casjaysdev - HUB: docker.io - run: | - echo DATE_TAG=$(date +'%y%m') >> $GITHUB_OUTPUT - echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT - echo DOCKER_TAG=$([ -n "$TAG" ] && echo $TAG || echo "18.04") >> $GITHUB_OUTPUT - echo DOCKER_HUB=$([ -n "$HUB" ] && echo $HUB || echo "docker.io") >> $GITHUB_OUTPUT - echo DOCKER_ORG=$([ -n "$ORG" ] && echo "$ORG" || echo "casjaysdev") >> $GITHUB_OUTPUT - echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | sed 's|^docker-||g') >> $GITHUB_OUTPUT - - - name: Set up Docker BuildX + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to Docker Hub uses: docker/login-action@v2 with: password: ${{ secrets.DOCKER_TOKEN }} username: ${{ secrets.DOCKER_USERNAME }} - registry: ${{ steps.meta.outputs.DOCKER_HUB }} + registry: docker.io - name: Build and push uses: docker/build-push-action@v4 @@ -49,6 +47,38 @@ jobs: linux/amd64 linux/arm64 push: true - tags: | # replace it with your local IP and tags - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:disco - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.DOCKER_TAG }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=18.04 + IMAGE_REPO=casjaysdev/ubuntu + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=bionic + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=casjaysdev/ubuntu + org.opencontainers.image.description=Containerized version of casjaysdev/ubuntu + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=18.04 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + docker.io/casjaysdev/ubuntu:18.04 diff --git a/.gitea/workflows/docker.20.04.yaml b/.gitea/workflows/docker.20.04.yaml index 46d4162..b9f8d23 100644 --- a/.gitea/workflows/docker.20.04.yaml +++ b/.gitea/workflows/docker.20.04.yaml @@ -1,9 +1,15 @@ name: ubuntu-20-04 -on: push +on: + push: + branches: + - main + - master + schedule: + - cron: '0 2 2 * *' jobs: - ubuntu-20-04: + build-and-push: runs-on: act_runner container: image: catthehacker/ubuntu:act-latest @@ -16,39 +22,63 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v2 - - name: Get Meta - id: meta - env: - TAG: 20.04 - ORG: casjaysdev - HUB: docker.io - run: | - echo DATE_TAG=$(date +'%y%m') >> $GITHUB_OUTPUT - echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT - echo DOCKER_TAG=$([ -n "$TAG" ] && echo $TAG || echo "20.04") >> $GITHUB_OUTPUT - echo DOCKER_HUB=$([ -n "$HUB" ] && echo $HUB || echo "docker.io") >> $GITHUB_OUTPUT - echo DOCKER_ORG=$([ -n "$ORG" ] && echo "$ORG" || echo "casjaysdev") >> $GITHUB_OUTPUT - echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | sed 's|^docker-||g') >> $GITHUB_OUTPUT - - - name: Set up Docker BuildX + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to Docker Hub uses: docker/login-action@v2 with: password: ${{ secrets.DOCKER_TOKEN }} username: ${{ secrets.DOCKER_USERNAME }} - registry: ${{ steps.meta.outputs.DOCKER_HUB }} + registry: docker.io - name: Build and push uses: docker/build-push-action@v4 with: context: . - file: ./Dockerfile.21.04 + file: ./Dockerfile.20.04 platforms: | linux/amd64 linux/arm64 push: true - tags: | # replace it with your local IP and tags - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:focal - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.DOCKER_TAG }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=20.04 + IMAGE_REPO=casjaysdev/ubuntu + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=focal + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=casjaysdev/ubuntu + org.opencontainers.image.description=Containerized version of casjaysdev/ubuntu + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=20.04 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + docker.io/casjaysdev/ubuntu:20.04 diff --git a/.gitea/workflows/docker.22.04.yaml b/.gitea/workflows/docker.22.04.yaml index 8e70b54..2a18317 100644 --- a/.gitea/workflows/docker.22.04.yaml +++ b/.gitea/workflows/docker.22.04.yaml @@ -1,9 +1,15 @@ name: ubuntu-22-04 -on: push +on: + push: + branches: + - main + - master + schedule: + - cron: '0 2 2 * *' jobs: - ubuntu-22-04: + build-and-push: runs-on: act_runner container: image: catthehacker/ubuntu:act-latest @@ -16,29 +22,21 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v2 - - name: Get Meta - id: meta - env: - TAG: 22.04 - ORG: casjaysdev - HUB: docker.io - run: | - echo DATE_TAG=$(date +'%y%m') >> $GITHUB_OUTPUT - echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT - echo DOCKER_TAG=$([ -n "$TAG" ] && echo $TAG || echo "22.04") >> $GITHUB_OUTPUT - echo DOCKER_HUB=$([ -n "$HUB" ] && echo $HUB || echo "docker.io") >> $GITHUB_OUTPUT - echo DOCKER_ORG=$([ -n "$ORG" ] && echo "$ORG" || echo "casjaysdev") >> $GITHUB_OUTPUT - echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | sed 's|^docker-||g') >> $GITHUB_OUTPUT - - - name: Set up Docker BuildX + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to Docker Hub uses: docker/login-action@v2 with: password: ${{ secrets.DOCKER_TOKEN }} username: ${{ secrets.DOCKER_USERNAME }} - registry: ${{ steps.meta.outputs.DOCKER_HUB }} + registry: docker.io - name: Build and push uses: docker/build-push-action@v4 @@ -49,6 +47,38 @@ jobs: linux/amd64 linux/arm64 push: true - tags: | # replace it with your local IP and tags - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:jammy - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.DOCKER_TAG }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=22.04 + IMAGE_REPO=casjaysdev/ubuntu + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=jammy + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=casjaysdev/ubuntu + org.opencontainers.image.description=Containerized version of casjaysdev/ubuntu + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=22.04 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + docker.io/casjaysdev/ubuntu:22.04 diff --git a/.gitea/workflows/docker.24.04.yaml b/.gitea/workflows/docker.24.04.yaml index f97f7aa..583bb79 100644 --- a/.gitea/workflows/docker.24.04.yaml +++ b/.gitea/workflows/docker.24.04.yaml @@ -1,9 +1,15 @@ name: ubuntu-24-04 -on: push +on: + push: + branches: + - main + - master + schedule: + - cron: '0 2 2 * *' jobs: - ubuntu-24-04: + build-and-push: runs-on: act_runner container: image: catthehacker/ubuntu:act-latest @@ -16,29 +22,21 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v2 - - name: Get Meta - id: meta - env: - TAG: 24.04 - ORG: casjaysdev - HUB: docker.io - run: | - echo DATE_TAG=$(date +'%y%m') >> $GITHUB_OUTPUT - echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT - echo DOCKER_TAG=$([ -n "$TAG" ] && echo $TAG || echo "24.04") >> $GITHUB_OUTPUT - echo DOCKER_HUB=$([ -n "$HUB" ] && echo $HUB || echo "docker.io") >> $GITHUB_OUTPUT - echo DOCKER_ORG=$([ -n "$ORG" ] && echo "$ORG" || echo "casjaysdev") >> $GITHUB_OUTPUT - echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | sed 's|^docker-||g') >> $GITHUB_OUTPUT - - - name: Set up Docker BuildX + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to Docker Hub uses: docker/login-action@v2 with: password: ${{ secrets.DOCKER_TOKEN }} username: ${{ secrets.DOCKER_USERNAME }} - registry: ${{ steps.meta.outputs.DOCKER_HUB }} + registry: docker.io - name: Build and push uses: docker/build-push-action@v4 @@ -49,6 +47,38 @@ jobs: linux/amd64 linux/arm64 push: true - tags: | # replace it with your local IP and tags - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:noble - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.DOCKER_TAG }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=24.04 + IMAGE_REPO=casjaysdev/ubuntu + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=noble + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=casjaysdev/ubuntu + org.opencontainers.image.description=Containerized version of casjaysdev/ubuntu + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=24.04 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + docker.io/casjaysdev/ubuntu:24.04 diff --git a/.gitea/workflows/docker.24.10.yaml b/.gitea/workflows/docker.24.10.yaml index eff350e..6080c8e 100644 --- a/.gitea/workflows/docker.24.10.yaml +++ b/.gitea/workflows/docker.24.10.yaml @@ -1,9 +1,15 @@ name: ubuntu-24-10 -on: push +on: + push: + branches: + - main + - master + schedule: + - cron: '0 2 2 * *' jobs: - ubuntu-24-10: + build-and-push: runs-on: act_runner container: image: catthehacker/ubuntu:act-latest @@ -16,29 +22,21 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v2 - - name: Get Meta - id: meta - env: - TAG: 24.10 - ORG: casjaysdev - HUB: docker.io - run: | - echo DATE_TAG=$(date +'%y%m') >> $GITHUB_OUTPUT - echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT - echo DOCKER_TAG=$([ -n "$TAG" ] && echo $TAG || echo "24.10") >> $GITHUB_OUTPUT - echo DOCKER_HUB=$([ -n "$HUB" ] && echo $HUB || echo "docker.io") >> $GITHUB_OUTPUT - echo DOCKER_ORG=$([ -n "$ORG" ] && echo "$ORG" || echo "casjaysdev") >> $GITHUB_OUTPUT - echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | sed 's|^docker-||g') >> $GITHUB_OUTPUT - - - name: Set up Docker BuildX + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to Docker Hub uses: docker/login-action@v2 with: password: ${{ secrets.DOCKER_TOKEN }} username: ${{ secrets.DOCKER_USERNAME }} - registry: ${{ steps.meta.outputs.DOCKER_HUB }} + registry: docker.io - name: Build and push uses: docker/build-push-action@v4 @@ -49,6 +47,38 @@ jobs: linux/amd64 linux/arm64 push: true - tags: | # replace it with your local IP and tags - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:oracular - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.DOCKER_TAG }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=24.10 + IMAGE_REPO=casjaysdev/ubuntu + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=oracular + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=casjaysdev/ubuntu + org.opencontainers.image.description=Containerized version of casjaysdev/ubuntu + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=24.10 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + docker.io/casjaysdev/ubuntu:24.10 diff --git a/.gitea/workflows/docker.yaml b/.gitea/workflows/docker.yaml index 1757cdd..21e1223 100644 --- a/.gitea/workflows/docker.yaml +++ b/.gitea/workflows/docker.yaml @@ -1,9 +1,15 @@ name: ubuntu -on: push +on: + push: + branches: + - main + - master + schedule: + - cron: '0 2 2 * *' jobs: - release-ubuntu: + build-and-push: runs-on: act_runner container: image: catthehacker/ubuntu:act-latest @@ -16,26 +22,21 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Get Meta id: meta run: | - echo DATE_TAG=$(date +'%y%m') >> $GITHUB_OUTPUT - echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT - echo DOCKER_ORG=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $1}') >> $GITHUB_OUTPUT - echo DOCKER_TAG=$([ -n "$DOCKER_TAG" ] && echo ${DOCKER_TAG} || echo "latest") >> $GITHUB_OUTPUT - echo DOCKER_HUB=$([ -n "$DOCKER_HUB" ] && echo ${DOCKER_HUB} || echo "docker.io") >> $GITHUB_OUTPUT - echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | sed 's|^docker-||g') >> $GITHUB_OUTPUT - echo "$DOCKER_HUB/$DOCKER_ORG/$REPO_NAME:$DOCKER_TAG" + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT - - name: Set up Docker BuildX - uses: docker/setup-buildx-action@v2 - - - name: Login to DockerHub + - name: Login to Docker Hub uses: docker/login-action@v2 with: password: ${{ secrets.DOCKER_TOKEN }} username: ${{ secrets.DOCKER_USERNAME }} - registry: ${{ steps.meta.outputs.DOCKER_HUB }} + registry: docker.io - name: Build and push uses: docker/build-push-action@v4 @@ -46,6 +47,39 @@ jobs: linux/amd64 linux/arm64 push: true - tags: | # replace it with your local IP and tags - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.DATE_TAG }} - ${{ steps.meta.outputs.DOCKER_HUB }}/${{ steps.meta.outputs.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.DOCKER_TAG }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=latest + IMAGE_REPO=casjaysdev/ubuntu + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=USE_DATE + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=casjaysdev/ubuntu + org.opencontainers.image.description=Containerized version of casjaysdev/ubuntu + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=latest + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + docker.io/casjaysdev/ubuntu:latest + docker.io/casjaysdev/ubuntu:${{ steps.meta.outputs.DATE_TAG }} diff --git a/.github/workflows/docker.18.04.yaml b/.github/workflows/docker.18.04.yaml new file mode 100644 index 0000000..99fec65 --- /dev/null +++ b/.github/workflows/docker.18.04.yaml @@ -0,0 +1,85 @@ +name: ubuntu-18-04 + +on: + push: + branches: + - main + - master + pull_request: + schedule: + - cron: '0 2 2 * *' + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile.18.04 + platforms: | + linux/amd64 + linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=18.04 + IMAGE_REPO=${{ github.repository }} + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=bionic + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=${{ github.repository }} + org.opencontainers.image.description=Containerized version of ${{ github.repository }} + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=18.04 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + ghcr.io/${{ github.repository }}:18.04 diff --git a/.github/workflows/docker.20.04.yaml b/.github/workflows/docker.20.04.yaml new file mode 100644 index 0000000..852b92f --- /dev/null +++ b/.github/workflows/docker.20.04.yaml @@ -0,0 +1,85 @@ +name: ubuntu-20-04 + +on: + push: + branches: + - main + - master + pull_request: + schedule: + - cron: '0 2 2 * *' + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile.20.04 + platforms: | + linux/amd64 + linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=20.04 + IMAGE_REPO=${{ github.repository }} + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=focal + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=${{ github.repository }} + org.opencontainers.image.description=Containerized version of ${{ github.repository }} + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=20.04 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + ghcr.io/${{ github.repository }}:20.04 diff --git a/.github/workflows/docker.22.04.yaml b/.github/workflows/docker.22.04.yaml new file mode 100644 index 0000000..fac2b85 --- /dev/null +++ b/.github/workflows/docker.22.04.yaml @@ -0,0 +1,85 @@ +name: ubuntu-22-04 + +on: + push: + branches: + - main + - master + pull_request: + schedule: + - cron: '0 2 2 * *' + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile.22.04 + platforms: | + linux/amd64 + linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=22.04 + IMAGE_REPO=${{ github.repository }} + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=jammy + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=${{ github.repository }} + org.opencontainers.image.description=Containerized version of ${{ github.repository }} + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=22.04 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + ghcr.io/${{ github.repository }}:22.04 diff --git a/.github/workflows/docker.24.04.yaml b/.github/workflows/docker.24.04.yaml new file mode 100644 index 0000000..646d960 --- /dev/null +++ b/.github/workflows/docker.24.04.yaml @@ -0,0 +1,85 @@ +name: ubuntu-24-04 + +on: + push: + branches: + - main + - master + pull_request: + schedule: + - cron: '0 2 2 * *' + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile.24.04 + platforms: | + linux/amd64 + linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=24.04 + IMAGE_REPO=${{ github.repository }} + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=noble + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=${{ github.repository }} + org.opencontainers.image.description=Containerized version of ${{ github.repository }} + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=24.04 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + ghcr.io/${{ github.repository }}:24.04 diff --git a/.github/workflows/docker.24.10.yaml b/.github/workflows/docker.24.10.yaml new file mode 100644 index 0000000..42db8a9 --- /dev/null +++ b/.github/workflows/docker.24.10.yaml @@ -0,0 +1,85 @@ +name: ubuntu-24-10 + +on: + push: + branches: + - main + - master + pull_request: + schedule: + - cron: '0 2 2 * *' + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile.24.10 + platforms: | + linux/amd64 + linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=24.10 + IMAGE_REPO=${{ github.repository }} + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=oracular + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=${{ github.repository }} + org.opencontainers.image.description=Containerized version of ${{ github.repository }} + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=24.10 + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + ghcr.io/${{ github.repository }}:24.10 diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml new file mode 100644 index 0000000..6891473 --- /dev/null +++ b/.github/workflows/docker.yaml @@ -0,0 +1,86 @@ +name: ubuntu + +on: + push: + branches: + - main + - master + pull_request: + schedule: + - cron: '0 2 2 * *' + workflow_dispatch: + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Get Meta + id: meta + run: | + echo "BUILD_DATE=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT + echo "DATE_TAG=$(date +'%y%m')" >> $GITHUB_OUTPUT + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + platforms: | + linux/amd64 + linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + provenance: false + build-args: | + IMAGE_NAME=ubuntu + IMAGE_VERSION=latest + IMAGE_REPO=${{ github.repository }} + PHP_SERVER=ubuntu + BUILD_DATE=${{ steps.meta.outputs.BUILD_DATE }} + BUILD_VERSION=${{ steps.meta.outputs.BUILD_DATE }} + PULL_URL=ubuntu + DISTRO_VERSION=${IMAGE_VERSION} + CONTAINER_VERSION=USE_DATE + TIMEZONE=America/New_York + LANGUAGE=en_US.UTF-8 + PHP_VERSION=system + NODE_VERSION=system + NODE_MANAGER=system + SERVICE_PORT= + EXPOSE_PORTS= + WWW_ROOT_DIR=/usr/local/share/httpd/default + DEFAULT_FILE_DIR=/usr/local/share/template-files + DEFAULT_DATA_DIR=/usr/local/share/template-files/data + DEFAULT_CONF_DIR=/usr/local/share/template-files/config + DEFAULT_TEMPLATE_DIR=/usr/local/share/template-files/defaults + annotations: | + org.opencontainers.image.title=${{ github.repository }} + org.opencontainers.image.description=Containerized version of ${{ github.repository }} + org.opencontainers.image.vendor=CasjaysDev + org.opencontainers.image.authors=CasjaysDev + org.opencontainers.image.url=https://github.com/${{ github.repository }} + org.opencontainers.image.source=https://github.com/${{ github.repository }} + org.opencontainers.image.version=latest + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.created=${{ github.event.head_commit.timestamp }} + tags: | + ghcr.io/${{ github.repository }}:latest + ghcr.io/${{ github.repository }}:${{ steps.meta.outputs.DATE_TAG }} diff --git a/Dockerfile b/Dockerfile index f78692c..018a06b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -73,7 +73,7 @@ ENV DEBIAN_FRONTEND="${DEBIAN_FRONTEND}" USER ${USER} WORKDIR /root -COPY ./rootfs/usr/local/bin/. /usr/local/bin/ +COPY ./dockerfs/usr/local/bin/. /usr/local/bin/ RUN set -e; \ echo "Updating the system and ensuring bash is installed"; \ @@ -119,7 +119,7 @@ RUN echo "Initializing packages before copying files to image"; \ if [ -f "/root/docker/setup/02-packages.sh" ];then echo "Running the packages script";/root/docker/setup/02-packages.sh||{ echo "Failed to execute /root/docker/setup/02-packages.sh" >&2 && exit 10; };echo "Done running the packages script";fi; \ echo "" -COPY ./rootfs/. / +COPY ./dockerfs/. / COPY ./Dockerfile /root/docker/Dockerfile RUN echo "Updating system files "; \ diff --git a/Dockerfile.18.04 b/Dockerfile.18.04 index 37110e3..19c810d 100644 --- a/Dockerfile.18.04 +++ b/Dockerfile.18.04 @@ -73,7 +73,7 @@ ENV DEBIAN_FRONTEND="${DEBIAN_FRONTEND}" USER ${USER} WORKDIR /root -COPY ./rootfs/usr/local/bin/. /usr/local/bin/ +COPY ./dockerfs/usr/local/bin/. /usr/local/bin/ RUN set -e; \ echo "Updating the system and ensuring bash is installed"; \ @@ -121,7 +121,7 @@ RUN echo "Initializing packages before copying files to image"; \ if [ -f "/root/docker/setup/02-packages.sh" ];then echo "Running the packages script";/root/docker/setup/02-packages.sh||{ echo "Failed to execute /root/docker/setup/02-packages.sh" >&2 && exit 10; };echo "Done running the packages script";fi; \ echo "" -COPY ./rootfs/. / +COPY ./dockerfs/. / COPY ./Dockerfile.18.04 /root/docker/Dockerfile RUN echo "Updating system files "; \ diff --git a/Dockerfile.20.04 b/Dockerfile.20.04 index e570f01..3d4f477 100644 --- a/Dockerfile.20.04 +++ b/Dockerfile.20.04 @@ -73,7 +73,7 @@ ENV DEBIAN_FRONTEND="${DEBIAN_FRONTEND}" USER ${USER} WORKDIR /root -COPY ./rootfs/usr/local/bin/. /usr/local/bin/ +COPY ./dockerfs/usr/local/bin/. /usr/local/bin/ RUN set -e; \ echo "Updating the system and ensuring bash is installed"; \ @@ -119,7 +119,7 @@ RUN echo "Initializing packages before copying files to image"; \ if [ -f "/root/docker/setup/02-packages.sh" ];then echo "Running the packages script";/root/docker/setup/02-packages.sh||{ echo "Failed to execute /root/docker/setup/02-packages.sh" >&2 && exit 10; };echo "Done running the packages script";fi; \ echo "" -COPY ./rootfs/. / +COPY ./dockerfs/. / COPY ./Dockerfile.20.04 /root/docker/Dockerfile RUN echo "Updating system files "; \ diff --git a/Dockerfile.22.04 b/Dockerfile.22.04 index 96fdabf..fa6eb82 100644 --- a/Dockerfile.22.04 +++ b/Dockerfile.22.04 @@ -73,7 +73,7 @@ ENV DEBIAN_FRONTEND="${DEBIAN_FRONTEND}" USER ${USER} WORKDIR /root -COPY ./rootfs/usr/local/bin/. /usr/local/bin/ +COPY ./dockerfs/usr/local/bin/. /usr/local/bin/ RUN set -e; \ echo "Updating the system and ensuring bash is installed"; \ @@ -119,7 +119,7 @@ RUN echo "Initializing packages before copying files to image"; \ if [ -f "/root/docker/setup/02-packages.sh" ];then echo "Running the packages script";/root/docker/setup/02-packages.sh||{ echo "Failed to execute /root/docker/setup/02-packages.sh" >&2 && exit 10; };echo "Done running the packages script";fi; \ echo "" -COPY ./rootfs/. / +COPY ./dockerfs/. / COPY ./Dockerfile.22.04 /root/docker/Dockerfile RUN echo "Updating system files "; \ diff --git a/Dockerfile.24.04 b/Dockerfile.24.04 index ed3546d..021001a 100644 --- a/Dockerfile.24.04 +++ b/Dockerfile.24.04 @@ -73,7 +73,7 @@ ENV DEBIAN_FRONTEND="${DEBIAN_FRONTEND}" USER ${USER} WORKDIR /root -COPY ./rootfs/usr/local/bin/. /usr/local/bin/ +COPY ./dockerfs/usr/local/bin/. /usr/local/bin/ RUN set -e; \ echo "Updating the system and ensuring bash is installed"; \ @@ -119,7 +119,7 @@ RUN echo "Initializing packages before copying files to image"; \ if [ -f "/root/docker/setup/02-packages.sh" ];then echo "Running the packages script";/root/docker/setup/02-packages.sh||{ echo "Failed to execute /root/docker/setup/02-packages.sh" >&2 && exit 10; };echo "Done running the packages script";fi; \ echo "" -COPY ./rootfs/. / +COPY ./dockerfs/. / COPY ./Dockerfile.24.04 /root/docker/Dockerfile RUN echo "Updating system files "; \ diff --git a/Dockerfile.24.10 b/Dockerfile.24.10 index f2aa701..e4e5177 100644 --- a/Dockerfile.24.10 +++ b/Dockerfile.24.10 @@ -73,7 +73,7 @@ ENV DEBIAN_FRONTEND="${DEBIAN_FRONTEND}" USER ${USER} WORKDIR /root -COPY ./rootfs/usr/local/bin/. /usr/local/bin/ +COPY ./dockerfs/usr/local/bin/. /usr/local/bin/ RUN set -e; \ echo "Setting up prerequisites"; \ @@ -122,7 +122,7 @@ RUN echo "Initializing packages before copying files to image"; \ if [ -f "/root/docker/setup/02-packages.sh" ];then echo "Running the packages script";/root/docker/setup/02-packages.sh||{ echo "Failed to execute /root/docker/setup/02-packages.sh" >&2 && exit 10; };echo "Done running the packages script";fi; \ echo "" -COPY ./rootfs/. / +COPY ./dockerfs/. / COPY ./Dockerfile.24.10 /root/docker/Dockerfile RUN echo "Updating system files "; \ diff --git a/README.md b/README.md index 8d7708c..8819f89 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ dockermgr update os ubuntu ```shell mkdir -p "/var/lib/srv/root/docker/casjaysdev/ubuntu/latest" git clone "https://github.com/dockermgr/ubuntu" "$HOME/.local/share/CasjaysDev/dockermgr/ubuntu" -cp -Rfva "$HOME/.local/share/CasjaysDev/dockermgr/ubuntu/rootfs/." "/var/lib/srv/root/docker/casjaysdev/ubuntu/latest/" +cp -Rfva "$HOME/.local/share/CasjaysDev/dockermgr/ubuntu/dockerfs/." "/var/lib/srv/root/docker/casjaysdev/ubuntu/latest/" docker run -d \ --restart always \ --privileged \ diff --git a/rootfs/root/docker/setup/00-init.sh b/dockerfs/root/docker/setup/00-init.sh similarity index 100% rename from rootfs/root/docker/setup/00-init.sh rename to dockerfs/root/docker/setup/00-init.sh diff --git a/rootfs/root/docker/setup/01-system.sh b/dockerfs/root/docker/setup/01-system.sh similarity index 100% rename from rootfs/root/docker/setup/01-system.sh rename to dockerfs/root/docker/setup/01-system.sh diff --git a/rootfs/root/docker/setup/02-packages.sh b/dockerfs/root/docker/setup/02-packages.sh similarity index 100% rename from rootfs/root/docker/setup/02-packages.sh rename to dockerfs/root/docker/setup/02-packages.sh diff --git a/rootfs/root/docker/setup/03-files.sh b/dockerfs/root/docker/setup/03-files.sh similarity index 100% rename from rootfs/root/docker/setup/03-files.sh rename to dockerfs/root/docker/setup/03-files.sh diff --git a/rootfs/root/docker/setup/04-users.sh b/dockerfs/root/docker/setup/04-users.sh similarity index 100% rename from rootfs/root/docker/setup/04-users.sh rename to dockerfs/root/docker/setup/04-users.sh diff --git a/rootfs/root/docker/setup/05-custom.sh b/dockerfs/root/docker/setup/05-custom.sh similarity index 100% rename from rootfs/root/docker/setup/05-custom.sh rename to dockerfs/root/docker/setup/05-custom.sh diff --git a/rootfs/root/docker/setup/06-post.sh b/dockerfs/root/docker/setup/06-post.sh similarity index 100% rename from rootfs/root/docker/setup/06-post.sh rename to dockerfs/root/docker/setup/06-post.sh diff --git a/rootfs/root/docker/setup/07-cleanup.sh b/dockerfs/root/docker/setup/07-cleanup.sh similarity index 100% rename from rootfs/root/docker/setup/07-cleanup.sh rename to dockerfs/root/docker/setup/07-cleanup.sh diff --git a/rootfs/usr/local/bin/entrypoint.sh b/dockerfs/usr/local/bin/entrypoint.sh similarity index 100% rename from rootfs/usr/local/bin/entrypoint.sh rename to dockerfs/usr/local/bin/entrypoint.sh diff --git a/rootfs/usr/local/bin/pkmgr b/dockerfs/usr/local/bin/pkmgr similarity index 100% rename from rootfs/usr/local/bin/pkmgr rename to dockerfs/usr/local/bin/pkmgr diff --git a/rootfs/usr/local/etc/docker/functions/entrypoint.sh b/dockerfs/usr/local/etc/docker/functions/entrypoint.sh similarity index 100% rename from rootfs/usr/local/etc/docker/functions/entrypoint.sh rename to dockerfs/usr/local/etc/docker/functions/entrypoint.sh diff --git a/rootfs/usr/local/share/template-files/config/.gitkeep b/dockerfs/usr/local/share/template-files/config/.gitkeep similarity index 100% rename from rootfs/usr/local/share/template-files/config/.gitkeep rename to dockerfs/usr/local/share/template-files/config/.gitkeep diff --git a/rootfs/usr/local/share/template-files/config/env/default.sample b/dockerfs/usr/local/share/template-files/config/env/default.sample similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/default.sample rename to dockerfs/usr/local/share/template-files/config/env/default.sample diff --git a/rootfs/usr/local/share/template-files/config/env/examples/00-directory.sh b/dockerfs/usr/local/share/template-files/config/env/examples/00-directory.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/00-directory.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/00-directory.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/addresses.sh b/dockerfs/usr/local/share/template-files/config/env/examples/addresses.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/addresses.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/addresses.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/certbot.sh b/dockerfs/usr/local/share/template-files/config/env/examples/certbot.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/certbot.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/certbot.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/couchdb.sh b/dockerfs/usr/local/share/template-files/config/env/examples/couchdb.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/couchdb.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/couchdb.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/dockerd.sh b/dockerfs/usr/local/share/template-files/config/env/examples/dockerd.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/dockerd.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/dockerd.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/global.sh b/dockerfs/usr/local/share/template-files/config/env/examples/global.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/global.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/global.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/healthcheck.sh b/dockerfs/usr/local/share/template-files/config/env/examples/healthcheck.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/healthcheck.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/healthcheck.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/mariadb.sh b/dockerfs/usr/local/share/template-files/config/env/examples/mariadb.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/mariadb.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/mariadb.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/mongodb.sh b/dockerfs/usr/local/share/template-files/config/env/examples/mongodb.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/mongodb.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/mongodb.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/networking.sh b/dockerfs/usr/local/share/template-files/config/env/examples/networking.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/networking.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/networking.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/other.sh b/dockerfs/usr/local/share/template-files/config/env/examples/other.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/other.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/other.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/php.sh b/dockerfs/usr/local/share/template-files/config/env/examples/php.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/php.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/php.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/postgres.sh b/dockerfs/usr/local/share/template-files/config/env/examples/postgres.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/postgres.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/postgres.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/redis.sh b/dockerfs/usr/local/share/template-files/config/env/examples/redis.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/redis.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/redis.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/services.sh b/dockerfs/usr/local/share/template-files/config/env/examples/services.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/services.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/services.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/ssl.sh b/dockerfs/usr/local/share/template-files/config/env/examples/ssl.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/ssl.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/ssl.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/supabase.sh b/dockerfs/usr/local/share/template-files/config/env/examples/supabase.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/supabase.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/supabase.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/webservers.sh b/dockerfs/usr/local/share/template-files/config/env/examples/webservers.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/webservers.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/webservers.sh diff --git a/rootfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh b/dockerfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh similarity index 100% rename from rootfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh rename to dockerfs/usr/local/share/template-files/config/env/examples/zz-entrypoint.sh diff --git a/rootfs/usr/local/share/template-files/data/.gitkeep b/dockerfs/usr/local/share/template-files/data/.gitkeep similarity index 100% rename from rootfs/usr/local/share/template-files/data/.gitkeep rename to dockerfs/usr/local/share/template-files/data/.gitkeep diff --git a/rootfs/usr/local/share/template-files/defaults/.gitkeep b/dockerfs/usr/local/share/template-files/defaults/.gitkeep similarity index 100% rename from rootfs/usr/local/share/template-files/defaults/.gitkeep rename to dockerfs/usr/local/share/template-files/defaults/.gitkeep