diff --git a/.github/workflows/deploy-docker-dockerhub.yml b/.github/workflows/deploy-docker-dockerhub.yml index fe109ebd..0f3e20e7 100755 --- a/.github/workflows/deploy-docker-dockerhub.yml +++ b/.github/workflows/deploy-docker-dockerhub.yml @@ -74,6 +74,21 @@ on: default: '1.0.0' type: string + # # + # Registry Name + # + # options: + # - github + # - dockerhub + # - gitea + # # + + IMAGE_REGISTRY: + description: '📘 Registry Name' + required: true + default: 'dockerhub' + type: string + # # # Dockerhub › Author # @@ -100,6 +115,18 @@ on: default: 'thebinaryninja' type: string + # # + # Alpine Version + # + # specifies the alpine base docker image version + # # + + ALPINE_VERSION: + description: '📀 Alpine Version' + required: true + default: '3.21' + type: string + # # # true no changes to the repo will be made # false workflow will behave normally, and push any changes detected to the files @@ -137,8 +164,10 @@ on: env: IMAGE_NAME: ${{ github.event.inputs.IMAGE_NAME || 'tvapp2' }} IMAGE_VERSION: ${{ github.event.inputs.IMAGE_VERSION || '1.0.0' }} + IMAGE_REGISTRY: ${{ github.event.inputs.IMAGE_VERSION || 'dockerhub' }} IMAGE_DOCKERHUB_AUTHOR: ${{ github.event.inputs.IMAGE_DOCKERHUB_AUTHOR || 'thebinaryninja' }} IMAGE_DOCKERHUB_USERNAME: ${{ github.event.inputs.IMAGE_DOCKERHUB_USERNAME || 'thebinaryninja' }} + ALPINE_VERSION: ${{ github.event.inputs.ALPINE_VERSION || '3.21' }} BOT_NAME_1: EuropaServ BOT_NAME_2: BinaryServ @@ -280,7 +309,7 @@ jobs: echo "NOW_LONG=$(date +'%m-%d-%Y %H:%M')" >> $GITHUB_ENV # 02-25-2025 12:49 echo "NOW_DOCKER_LABEL=$(date +'%Y%m%d')" >> $GITHUB_ENV # 20250225 echo "NOW_DOCKER_TS=$(date -u +'%FT%T.%3NZ')" >> $GITHUB_ENV # 2025-02-25T12:50:11.569Z - echo "GITHUB_SHA1=`git rev-parse HEAD`" >> ${GITHUB_ENV} + echo "GITHUB_SHA1=$(git rev-parse HEAD)" >> $GITHUB_ENV # 012cd0cc44c576c4a57b8a18d86793f244d1080a # # # Release › Dockerhub › Install Dependencies @@ -420,10 +449,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=dockerhub + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${GITHUB_SHA1} + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} annotations: | org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} @@ -432,10 +462,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=dockerhub + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${GITHUB_SHA1} + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} # # # Release › Dockerhub › Build and Push › Amd64 @@ -461,6 +492,7 @@ jobs: VERSION=${{ env.IMAGE_VERSION }} BUILDDATE=${{ env.NOW_DOCKER_LABEL }} GIT_SHA1=${{ env.GITHUB_SHA1 }} + ALPINE_VERSION=${{ env.ALPINE_VERSION }} # # # Release › Dockerhub › Export Digest › Amd64 @@ -514,6 +546,7 @@ jobs: VERSION=${{ env.IMAGE_VERSION }} BUILDDATE=${{ env.NOW_DOCKER_LABEL }} GIT_SHA1=${{ env.GITHUB_SHA1 }} + ALPINE_VERSION=${{ env.ALPINE_VERSION }} # # # Release › Dockerhub › Export Digest › Arm64 diff --git a/.github/workflows/deploy-docker-gitea.yml b/.github/workflows/deploy-docker-gitea.yml index 4a4137bb..1a97a35a 100755 --- a/.github/workflows/deploy-docker-gitea.yml +++ b/.github/workflows/deploy-docker-gitea.yml @@ -74,6 +74,21 @@ on: default: '1.0.0' type: string + # # + # Registry Name + # + # options: + # - github + # - dockerhub + # - gitea + # # + + IMAGE_REGISTRY: + description: '📘 Registry Name' + required: true + default: 'gitea' + type: string + # # # Gitea › Author # @@ -106,10 +121,22 @@ on: # # IMAGE_GITEA_WEBSITE: - description: '🌎 Gitea Website' - required: true - default: 'git.binaryninja.net' - type: string + description: '🌎 Gitea Website' + required: true + default: 'git.binaryninja.net' + type: string + + # # + # Alpine Version + # + # specifies the alpine base docker image version + # # + + ALPINE_VERSION: + description: '📀 Alpine Version' + required: true + default: '3.21' + type: string # # # true no changes to the repo will be made @@ -148,9 +175,11 @@ on: env: IMAGE_NAME: ${{ github.event.inputs.IMAGE_NAME || 'tvapp2' }} IMAGE_VERSION: ${{ github.event.inputs.IMAGE_VERSION || '1.0.0' }} + IMAGE_REGISTRY: ${{ github.event.inputs.IMAGE_VERSION || 'gitea' }} IMAGE_GITEA_AUTHOR: ${{ github.event.inputs.IMAGE_GITEA_AUTHOR || 'BinaryNinja' }} IMAGE_GITEA_USERNAME: ${{ github.event.inputs.IMAGE_GITEA_USERNAME || 'BinaryNinja' }} IMAGE_GITEA_WEBSITE: ${{ github.event.inputs.IMAGE_GITEA_WEBSITE || 'git.binaryninja.net' }} + ALPINE_VERSION: ${{ github.event.inputs.ALPINE_VERSION || '3.21' }} BOT_NAME_1: EuropaServ BOT_NAME_2: BinaryServ @@ -292,7 +321,7 @@ jobs: echo "NOW_LONG=$(date +'%m-%d-%Y %H:%M')" >> $GITHUB_ENV # 02-25-2025 12:49 echo "NOW_DOCKER_LABEL=$(date +'%Y%m%d')" >> $GITHUB_ENV # 20250225 echo "NOW_DOCKER_TS=$(date -u +'%FT%T.%3NZ')" >> $GITHUB_ENV # 2025-02-25T12:50:11.569Z - echo "GITHUB_SHA1=`git rev-parse HEAD`" >> ${GITHUB_ENV} + echo "GITHUB_SHA1=$(git rev-parse HEAD)" >> $GITHUB_ENV # 012cd0cc44c576c4a57b8a18d86793f244d1080a # # # Release › Gitea › Install Dependencies @@ -436,10 +465,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=gitea + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${GITHUB_SHA1} + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} annotations: | org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} @@ -448,10 +478,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=gitea + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${GITHUB_SHA1} + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} # # # Release › Gitea › Meta › arm64 @@ -488,10 +519,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=gitea + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${GITHUB_SHA1} + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} annotations: | org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} @@ -500,10 +532,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=gitea + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${GITHUB_SHA1} + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} # # # Release › Gitea › Meta › Release @@ -552,8 +585,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=gitea + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} + org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} annotations: | org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} @@ -562,8 +598,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=gitea + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} + org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} # # # Release › Gitea › Build and Push › Amd64 @@ -589,6 +628,7 @@ jobs: VERSION=${{ env.IMAGE_VERSION }} BUILDDATE=${{ env.NOW_DOCKER_LABEL }} GIT_SHA1=${{ env.GITHUB_SHA1 }} + ALPINE_VERSION=${{ env.ALPINE_VERSION }} # # # Release › Gitea › Export Digest › Amd64 @@ -642,6 +682,7 @@ jobs: VERSION=${{ env.IMAGE_VERSION }} BUILDDATE=${{ env.NOW_DOCKER_LABEL }} GIT_SHA1=${{ env.GITHUB_SHA1 }} + ALPINE_VERSION=${{ env.ALPINE_VERSION }} # # # Release › Gitea › Export Digest › Arm64 diff --git a/.github/workflows/deploy-docker-github.yml b/.github/workflows/deploy-docker-github.yml index d2728bfa..2724e706 100755 --- a/.github/workflows/deploy-docker-github.yml +++ b/.github/workflows/deploy-docker-github.yml @@ -74,6 +74,21 @@ on: default: '1.0.0' type: string + # # + # Registry Name + # + # options: + # - github + # - dockerhub + # - gitea + # # + + IMAGE_REGISTRY: + description: '📘 Registry Name' + required: true + default: 'github' + type: string + # # # Image Author # @@ -99,6 +114,18 @@ on: default: 'TheBinaryNinja' type: string + # # + # Alpine Version + # + # specifies the alpine base docker image version + # # + + ALPINE_VERSION: + description: '📀 Alpine Version' + required: true + default: '3.21' + type: string + # # # true no changes to the repo will be made # false workflow will behave normally, and push any changes detected to the files @@ -136,8 +163,10 @@ on: env: IMAGE_NAME: ${{ github.event.inputs.IMAGE_NAME || 'tvapp2' }} IMAGE_VERSION: ${{ github.event.inputs.IMAGE_VERSION || '1.0.0' }} + IMAGE_REGISTRY: ${{ github.event.inputs.IMAGE_VERSION || 'github' }} IMAGE_GHCR_AUTHOR: ${{ github.event.inputs.IMAGE_GHCR_AUTHOR || 'BinaryNinja' }} IMAGE_GHCR_USERNAME: ${{ github.event.inputs.IMAGE_GHCR_USERNAME || 'BinaryNinja' }} + ALPINE_VERSION: ${{ github.event.inputs.ALPINE_VERSION || '3.21' }} BOT_NAME_1: EuropaServ BOT_NAME_2: BinaryServ @@ -277,7 +306,7 @@ jobs: echo "NOW_LONG=$(date +'%m-%d-%Y %H:%M')" >> $GITHUB_ENV # 02-25-2025 12:49 echo "NOW_DOCKER_LABEL=$(date +'%Y%m%d')" >> $GITHUB_ENV # 20250225 echo "NOW_DOCKER_TS=$(date -u +'%FT%T.%3NZ')" >> $GITHUB_ENV # 2025-02-25T12:50:11.569Z - echo "GITHUB_SHA1=`git rev-parse HEAD`" >> ${GITHUB_ENV} + echo "GITHUB_SHA1=$(git rev-parse HEAD)" >> $GITHUB_ENV # 012cd0cc44c576c4a57b8a18d86793f244d1080a # # # Release › Github › Install Dependencies @@ -418,10 +447,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=github + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${GITHUB_SHA1} + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} annotations: | org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} @@ -430,10 +460,11 @@ jobs: org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} - org.opencontainers.image.registry=github + org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version-alpine=${{ env.IMAGE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${GITHUB_SHA1} + org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} # # # Release › Github › Build and Push › Amd64 @@ -464,6 +495,7 @@ jobs: VERSION=${{ env.IMAGE_VERSION }} BUILDDATE=${{ env.NOW_DOCKER_LABEL }} GIT_SHA1=${{ env.GITHUB_SHA1 }} + ALPINE_VERSION=${{ env.ALPINE_VERSION }} # # # Release › Github › Export Digest › Amd64 @@ -522,6 +554,7 @@ jobs: VERSION=${{ env.IMAGE_VERSION }} BUILDDATE=${{ env.NOW_DOCKER_LABEL }} GIT_SHA1=${{ env.GITHUB_SHA1 }} + ALPINE_VERSION=${{ env.ALPINE_VERSION }} # # # Release › Github › Export Digest › Arm64 diff --git a/Dockerfile b/Dockerfile index 3e500ea5..4318a794 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,6 +58,7 @@ ARG BUILDDATE ARG VERSION ARG RELEASE ARG GIT_SHA1=0000000000000000000000000000000000000000 +ARG REGISTRY=local # # # Set Labels @@ -74,16 +75,16 @@ LABEL org.opencontainers.image.repo.3="https://github.com/aetherinox/docker-base LABEL org.opencontainers.image.documentation="https://thebinaryninja.github.io/tvapp2" LABEL org.opencontainers.image.url="https://github.com/thebinaryninja/tvapp2/pkgs/container/tvapp2" LABEL org.opencontainers.image.licenses="MIT" -LABEL org.opencontainers.image.architecture="${ARCH}" +LABEL org.opencontainers.image.architecture="${ARCH:-amd64}" LABEL org.opencontainers.image.ref.name="main" -LABEL org.opencontainers.image.registry="local" -LABEL org.opencontainers.image.release="${RELEASE}" +LABEL org.opencontainers.image.registry="${REGISTRY:-local}" +LABEL org.opencontainers.image.release="${RELEASE:-stable}" LABEL org.tvapp2.image.maintainers="Aetherinox, iFlip721, Optx" -LABEL org.tvapp2.image.build-version="Version:- ${VERSION} Date:- ${BUILDDATE}" -LABEL org.tvapp2.image.build-version-alpine="${ALPINE_VERSION}" -LABEL org.tvapp2.image.build-architecture="${ARCH}" -LABEL org.tvapp2.image.build-release="${RELEASE}" -LABEL org.tvapp2.image.build-sha1="${GIT_SHA1}" +LABEL org.tvapp2.image.build-version="Version:- ${VERSION} Date:- ${BUILDDATE:-3.21}" +LABEL org.tvapp2.image.build-version-alpine="${ALPINE_VERSION:-3.21}" +LABEL org.tvapp2.image.build-architecture="${ARCH:-amd64}" +LABEL org.tvapp2.image.build-release="${RELEASE:-stable}" +LABEL org.tvapp2.image.build-sha1="${GIT_SHA1:-0000000000000000000000000000000000000000}" # # # Set Env Var @@ -91,7 +92,7 @@ LABEL org.tvapp2.image.build-sha1="${GIT_SHA1}" ENV NODE_VERSION=22.8.0 ENV YARN_VERSION=1.22.22 -ENV RELEASE="${RELEASE}" +ENV RELEASE="${RELEASE:-stable}" ENV DIR_BUILD=/usr/src/app ENV DIR_RUN=/usr/bin/app ENV URL_REPO="https://git.binaryninja.net/binaryninja/"