Initial commit: Maskarr - Tracker proxy for *arr apps
All checks were successful
Build and Publish Docker Images / build-and-push (push) Successful in 3m17s

- HTTP proxy server to modify User-Agent and headers for private trackers
  - Web UI with collapsible tracker cards and real-time validation
  - Multi-tracker support with persistent JSON configuration
  - Thread-safe configuration management
  - Full HTTP methods support (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS)
  - REST API for tracker management
  - Docker support with multi-architecture builds (amd64, arm64, arm/v7)
  - CI/CD workflows for GitHub Actions and Gitea Actions
  - Automatic publishing to GitHub Container Registry and Gitea Registry
This commit is contained in:
2026-01-01 13:52:11 +01:00
commit 0e5ab6af1c
12 changed files with 2046 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
name: Build and Publish Docker Images
on:
push:
branches:
- main
- master
tags:
- 'v*.*.*'
pull_request:
branches:
- main
- master
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
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: Set image name
id: image
run: |
# Normalize repository name to lowercase
REPO_LOWER=$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]')
GITEA_REGISTRY="${{ gitea.server_url }}"
# Remove https:// from server URL for registry
GITEA_HOST=$(echo "$GITEA_REGISTRY" | sed 's|https://||' | sed 's|http://||')
echo "gitea_host=${GITEA_HOST}" >> $GITHUB_OUTPUT
echo "gitea_image=${GITEA_HOST}/${REPO_LOWER}" >> $GITHUB_OUTPUT
- name: Log in to Gitea Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ${{ steps.image.outputs.gitea_host }}
username: ${{ gitea.actor }}
password: ${{ secrets.AUTH_TOKEN }}
- name: Generate tags
id: tags
run: |
GITEA_IMG="${{ steps.image.outputs.gitea_image }}"
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
VERSION=${GITHUB_REF#refs/tags/v}
TAGS="${GITEA_IMG}:${VERSION},${GITEA_IMG}:latest"
else
TAGS="${GITEA_IMG}:latest"
fi
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.tags.outputs.tags }}
labels: |
org.opencontainers.image.title=Maskarr
org.opencontainers.image.description=Tracker Proxy for *arr Applications
org.opencontainers.image.source=${{ gitea.server_url }}/${{ gitea.repository }}
org.opencontainers.image.revision=${{ gitea.sha }}
org.opencontainers.image.created=${{ gitea.event.repository.updated_at }}
- name: Print summary
if: github.event_name != 'pull_request'
run: |
echo "✅ Docker image published successfully!"
echo ""
echo "Gitea Registry:"
echo " ${{ steps.image.outputs.gitea_image }}:latest"