From bd755aecb080fadffbf89ea8c1caf29ac02aa34f Mon Sep 17 00:00:00 2001 From: Zuptalo Date: Tue, 4 Nov 2025 20:42:58 +0100 Subject: [PATCH 1/8] Update initial admin user creation with correct credentials --- backend/setup.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/setup.js b/backend/setup.js index b2c0dcb71c..84f42793ea 100644 --- a/backend/setup.js +++ b/backend/setup.js @@ -37,7 +37,7 @@ const setupDefaultUser = async () => { const data = { is_deleted: 0, - email: email, + email: initialAdminEmail, name: "Administrator", nickname: "Admin", avatar: "", @@ -53,7 +53,7 @@ const setupDefaultUser = async () => { .insert({ user_id: user.id, type: "password", - secret: password, + secret: initialAdminPassword, meta: {}, }); From 9853034e2627b7c7b1bb1dae73fdb756188f3743 Mon Sep 17 00:00:00 2001 From: Kamran Alipour Date: Tue, 4 Nov 2025 22:05:34 +0100 Subject: [PATCH 2/8] - added docker-publish.yml --- .github/workflows/docker-publish.yml | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/docker-publish.yml diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml new file mode 100644 index 0000000000..4738117685 --- /dev/null +++ b/.github/workflows/docker-publish.yml @@ -0,0 +1,39 @@ +name: Docker Image CI + +on: + push: + branches: [ "develop" ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v3 + - + name: Build Frontend + run: | + chmod +x scripts/ci/frontend-build + ./scripts/ci/frontend-build + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./docker/Dockerfile + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: true + tags: zuptalo/nginx-proxy-manager:develop From 2b412ec8fa06af7915fc1066c31bb9bfc155e0a9 Mon Sep 17 00:00:00 2001 From: Kamran Alipour Date: Tue, 4 Nov 2025 22:28:38 +0100 Subject: [PATCH 3/8] - added cache for the frontend part so it doesn't need to rebuild if the yarn.lock has not changed - added cache for the docker build part so subsequent builds can go faster --- .github/workflows/docker-publish.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 4738117685..3c82ed5ed4 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -12,7 +12,17 @@ jobs: name: Checkout uses: actions/checkout@v3 - - name: Build Frontend + name: Cache frontend artifacts + id: cache-frontend + uses: actions/cache@v3 + with: + path: frontend/dist + key: ${{ runner.os }}-frontend-${{ hashFiles('frontend/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-frontend- + - + name: Build Frontend if not cached + if: steps.cache-frontend.outputs.cache-hit != 'true' run: | chmod +x scripts/ci/frontend-build ./scripts/ci/frontend-build @@ -37,3 +47,5 @@ jobs: platforms: linux/amd64,linux/arm64,linux/arm/v7 push: true tags: zuptalo/nginx-proxy-manager:develop + cache-from: type=gha + cache-to: type=gha,mode=max From 5f15353fab93077f0d7fe19c55214abecc7f26de Mon Sep 17 00:00:00 2001 From: Kamran Alipour Date: Tue, 4 Nov 2025 22:54:23 +0100 Subject: [PATCH 4/8] Added possibility for manual workflow execution --- .github/workflows/docker-publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 3c82ed5ed4..944362232f 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -3,6 +3,7 @@ name: Docker Image CI on: push: branches: [ "develop" ] + workflow_dispatch: jobs: build: From c18ebde31c77ab7af2f5fe88cf2cce897dc5883b Mon Sep 17 00:00:00 2001 From: Kamran Alipour Date: Tue, 4 Nov 2025 23:56:43 +0100 Subject: [PATCH 5/8] feat(ci): add Docker publish workflow Adds a GitHub Actions workflow to build and push a multi-architecture Docker image to Docker Hub. Key features: - Triggers on push to the 'develop' branch or manual dispatch. - Builds a multi-arch image for linux/amd64, linux/arm64, and linux/arm/v7. - Caches Docker layers and frontend build artifacts to accelerate builds. - Uses DOCKERHUB_USERNAME secret for the image repository. - The workflow is skipped if required Docker Hub secrets are not defined. --- .github/workflows/docker-publish.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 944362232f..a866bc5e2b 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -7,6 +7,7 @@ on: jobs: build: + if: secrets.DOCKERHUB_USERNAME != '' && secrets.DOCKERHUB_TOKEN != '' runs-on: ubuntu-latest steps: - @@ -47,6 +48,6 @@ jobs: file: ./docker/Dockerfile platforms: linux/amd64,linux/arm64,linux/arm/v7 push: true - tags: zuptalo/nginx-proxy-manager:develop + tags: ${{ secrets.DOCKERHUB_USERNAME }}/nginx-proxy-manager:develop cache-from: type=gha cache-to: type=gha,mode=max From 33a72b63bd7cfd16c6eda3f329a80e397c89ce0a Mon Sep 17 00:00:00 2001 From: Kamran Alipour Date: Tue, 4 Nov 2025 23:57:56 +0100 Subject: [PATCH 6/8] feat(ci): add Docker publish workflow Adds a GitHub Actions workflow to build and push a multi-architecture Docker image to Docker Hub. Key features: - Triggers on push to the 'develop' branch or manual dispatch. - Builds a multi-arch image for linux/amd64, linux/arm64, and linux/arm/v7. - Caches Docker layers and frontend build artifacts to accelerate builds. - Uses DOCKERHUB_USERNAME secret for the image repository. - The workflow is skipped if required Docker Hub secrets are not defined. --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index a866bc5e2b..8f6c8eba8a 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -7,7 +7,7 @@ on: jobs: build: - if: secrets.DOCKERHUB_USERNAME != '' && secrets.DOCKERHUB_TOKEN != '' + if: secrets.DOCKERHUB_USERNAME && secrets.DOCKERHUB_TOKEN runs-on: ubuntu-latest steps: - From 69ac3bded0108219c4c85a9e9e13fc9f06d72d7a Mon Sep 17 00:00:00 2001 From: Kamran Alipour Date: Wed, 5 Nov 2025 00:00:57 +0100 Subject: [PATCH 7/8] feat(ci): add Docker publish workflow Adds a GitHub Actions workflow to build and push a multi-architecture Docker image to Docker Hub. Key features: - Triggers on push to the 'develop' branch or manual dispatch. - Builds a multi-arch image for linux/amd64, linux/arm64, and linux/arm/v7. - Caches Docker layers and frontend build artifacts to accelerate builds. - Uses DOCKERHUB_USERNAME secret for the image repository. - The workflow is skipped if required Docker Hub secrets are not defined. --- .github/workflows/docker-publish.yml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 8f6c8eba8a..4b1ecbfa93 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -3,18 +3,28 @@ name: Docker Image CI on: push: branches: [ "develop" ] - workflow_dispatch: jobs: build: - if: secrets.DOCKERHUB_USERNAME && secrets.DOCKERHUB_TOKEN runs-on: ubuntu-latest steps: + - + name: Check for secrets + id: check_secrets + run: | + if [ -z "${{ secrets.DOCKERHUB_USERNAME }}" ] || [ -z "${{ secrets.DOCKERHUB_TOKEN }}" ]; then + echo "::warning::Docker Hub secrets not set. Skipping job." + echo "skip=true" >> $GITHUB_OUTPUT + else + echo "skip=false" >> $GITHUB_OUTPUT + fi - name: Checkout + if: steps.check_secrets.outputs.skip == 'false' uses: actions/checkout@v3 - name: Cache frontend artifacts + if: steps.check_secrets.outputs.skip == 'false' id: cache-frontend uses: actions/cache@v3 with: @@ -24,24 +34,28 @@ jobs: ${{ runner.os }}-frontend- - name: Build Frontend if not cached - if: steps.cache-frontend.outputs.cache-hit != 'true' + if: steps.check_secrets.outputs.skip == 'false' && steps.cache-frontend.outputs.cache-hit != 'true' run: | chmod +x scripts/ci/frontend-build ./scripts/ci/frontend-build - name: Set up QEMU + if: steps.check_secrets.outputs.skip == 'false' uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx + if: steps.check_secrets.outputs.skip == 'false' uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub + if: steps.check_secrets.outputs.skip == 'false' uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push + if: steps.check_secrets.outputs.skip == 'false' uses: docker/build-push-action@v4 with: context: . From 3f30ccac333aaaad327b3e3d103af26dc4b1691d Mon Sep 17 00:00:00 2001 From: Kamran Alipour Date: Wed, 5 Nov 2025 00:15:57 +0100 Subject: [PATCH 8/8] fix(ci): improve Docker workflow robustness and caching --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 4b1ecbfa93..6e1178891a 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -29,7 +29,7 @@ jobs: uses: actions/cache@v3 with: path: frontend/dist - key: ${{ runner.os }}-frontend-${{ hashFiles('frontend/yarn.lock') }} + key: ${{ runner.os }}-frontend-${{ hashFiles('frontend/yarn.lock', 'frontend/package.json', 'frontend/vite.config.ts', 'frontend/tsconfig.json', 'frontend/src/**') }} restore-keys: | ${{ runner.os }}-frontend- -