diff --git a/.gitea/workflows/searxng.yaml b/.gitea/workflows/searxng.yaml index 933e7ec..15b6982 100644 --- a/.gitea/workflows/searxng.yaml +++ b/.gitea/workflows/searxng.yaml @@ -1,8 +1,7 @@ name: searxng #run-name: searxng env: - REMOTE_REPO: https://paulgo.dev/infra/paulgoio/searxng.git - SEARXNG_REPO: https://github.com/searxng/searxng.git + REMOTE_REPO: https://github.com/searxng/searxng.git BUILD_PLATFORM: linux/arm64 on: schedule: @@ -12,70 +11,6 @@ on: - ".gitea/workflows/searxng.yaml" jobs: - build-searxng-base: - runs-on: runner - container: - image: docker:cli - env: - REPO_NAME: searxng-base - steps: - - name: Install packages - run: apk --no-cache add curl git jq - - - name: Check latest upstream commit - run: | - STORED_COMMIT=$(curl -H "Authorization: Bearer ${{ secrets.NT }}" -s "https://nt.opnxng.com/${REPO_NAME}/raw?poll=1" | tail -n 1) - LATEST_COMMIT=$(git ls-remote --heads ${REMOTE_REPO} | grep "refs/heads/base" | awk '{print $1}') # use base branch - echo "STORED_COMMIT=${STORED_COMMIT}" >> "$GITHUB_ENV" - echo "LATEST_COMMIT=${LATEST_COMMIT}" >> "$GITHUB_ENV" - echo "Stored Commit: ${STORED_COMMIT}" - echo "Latest Commit: ${LATEST_COMMIT}" - - - name: Build and push Docker image - run: | - if [ "$STORED_COMMIT" != "$LATEST_COMMIT" ]; then - echo "Found a new commit, building new image" - # Install Docker Buildx - BUILDX_VERSION=$(wget -q -O- https://api.github.com/repos/docker/buildx/releases/latest | jq -r '.name') - wget -O /usr/bin/docker-buildx https://github.com/docker/buildx/releases/download/$BUILDX_VERSION/buildx-$BUILDX_VERSION.linux-arm64 - chmod +x /usr/bin/docker-buildx - # Create and use Docker Buildx builder - docker-buildx create --use --name buildx - # Login to Package Registry - echo "${{ secrets.TOKEN }}" | docker login git.opnxng.com -u ${{ gitea.repository_owner }} --password-stdin - # Build and push Docker image - mkdir temp - cd temp - git clone ${REMOTE_REPO} . - git checkout base # Use base branch to build the base image - docker-buildx build \ - --platform ${BUILD_PLATFORM} \ - -t git.opnxng.com/${{ gitea.repository_owner }}/searxng:base \ - -f ./Dockerfile \ - --push . && \ - curl -H prio:low -d "Built and pushed ${REPO_NAME}" https://ntfy.opnxng.com/build || \ - { curl -H tags:warning -H prio:high -d "Built and pushed ${REPO_NAME} failed!" https://ntfy.opnxng.com/build ; exit 1; } - # Remove Docker Buildx builder - docker-buildx rm buildx - else - echo "No new commit, skipped build" - fi - - - name: Update stored commit - run: | - if [ "$STORED_COMMIT" != "$LATEST_COMMIT" ]; then - curl -H "Authorization: Bearer ${{ secrets.NT }}" -d $(git ls-remote --heads ${REMOTE_REPO} | grep "refs/heads/base" | awk '{print $1}') "https://nt.opnxng.com/${REPO_NAME}" # use base branch - STORED_COMMIT=$(curl -H "Authorization: Bearer ${{ secrets.NT }}" -s "https://nt.opnxng.com/${REPO_NAME}/raw?poll=1" | tail -n 1) - echo "STORED_COMMIT=${STORED_COMMIT}" >> "$GITHUB_ENV" - else - curl -H "Authorization: Bearer ${{ secrets.NT }}" -d $(git ls-remote --heads ${REMOTE_REPO} | grep "refs/heads/base" | awk '{print $1}') "https://nt.opnxng.com/${REPO_NAME}" # use base branch - STORED_COMMIT=$(curl -H "Authorization: Bearer ${{ secrets.NT }}" -s "https://nt.opnxng.com/${REPO_NAME}/raw?poll=1" | tail -n 1) - echo "STORED_COMMIT=${STORED_COMMIT}" >> "$GITHUB_ENV" - exit 0 # Continue to next step no matter what - fi - -#---------------------------------------------------------------------------------------------------- - build-searxng: runs-on: runner container: @@ -89,9 +24,7 @@ jobs: - name: Check latest upstream commit run: | STORED_COMMIT=$(curl -H "Authorization: Bearer ${{ secrets.NT }}" -s "https://nt.opnxng.com/${REPO_NAME}/raw?poll=1" | tail -n 1) - # LATEST_COMMIT=$(git ls-remote ${REMOTE_REPO} | awk '{print $1}' | head -1) - # Use upstream SearXNG repo - LATEST_COMMIT=$(git ls-remote ${SEARXNG_REPO} | awk '{print $1}' | head -1) + LATEST_COMMIT=$(git ls-remote ${REMOTE_REPO} | awk '{print $1}' | head -1) echo "STORED_COMMIT=${STORED_COMMIT}" >> "$GITHUB_ENV" echo "LATEST_COMMIT=${LATEST_COMMIT}" >> "$GITHUB_ENV" echo "Stored Commit: ${STORED_COMMIT}" @@ -112,11 +45,7 @@ jobs: # Build and push Docker image mkdir temp cd temp - git clone ${REMOTE_REPO} . - # UPSTREAM_COMMIT=$(git ls-remote ${REMOTE_REPO} | awk '{print $1}' | head -1) - UPSTREAM_COMMIT=$(git ls-remote ${SEARXNG_REPO} | awk '{print $1}' | head -1) - sed -i "s/UPSTREAM_COMMIT=.*/UPSTREAM_COMMIT=$UPSTREAM_COMMIT/" Dockerfile - sed -i 's/FROM registry.paulgo.dev\/infra\/paulgoio\/searxng:base/FROM git.opnxng.com\/opnxng\/searxng:base/' Dockerfile # use git.opnxng.com/opnxng/searxng:base + curl -JL https://git.opnxng.com/opnxng/docker-images/raw/branch/main/dockerfiles/searxng.Dockerfile -o Dockerfile docker-buildx build \ --platform ${BUILD_PLATFORM} \ -t git.opnxng.com/${{ gitea.repository_owner }}/${REPO_NAME}:latest \ diff --git a/dockerfiles/searxng.Dockerfile b/dockerfiles/searxng.Dockerfile new file mode 100644 index 0000000..2a4c149 --- /dev/null +++ b/dockerfiles/searxng.Dockerfile @@ -0,0 +1,6 @@ +FROM docker.io/searxng/searxng:latest + +# copy custom simple theme css, run.sh and limiter config +COPY --from=docker.io/paulgoio/searxng:production /usr/local/searxng/searx/static/themes/simple/css/ /usr/local/searxng/searx/static/themes/simple/css/ +COPY --from=docker.io/paulgoio/searxng:production /usr/local/bin/run.sh /usr/local/bin/run.sh +COPY --from=docker.io/paulgoio/searxng:production /etc/searxng/limiter.toml /etc/searxng/limiter.toml