initial: lib fix
Some checks failed
Build and Push / check-and-build (push) Has been cancelled

This commit is contained in:
2026-03-01 09:18:43 +01:00
commit 1474022706
3 changed files with 113 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
name: Build and Push
on:
schedule:
# Täglich um 04:00 UTC
- cron: '0 22 * * *'
workflow_dispatch:
push:
branches:
- main
env:
REGISTRY: git.tdpi.dev
IMAGE_NAME: tdpi/protonmailmailbridge-fix
UPSTREAM_IMAGE: shenxn/protonmail-bridge:latest
jobs:
check-and-build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get upstream digest
id: upstream
run: |
UPSTREAM_DIGEST=$(docker manifest inspect ${{ env.UPSTREAM_IMAGE }} | jq -r '.manifests[0].digest // .config.digest')
echo "digest=${UPSTREAM_DIGEST}" >> $GITHUB_OUTPUT
echo "Upstream digest: ${UPSTREAM_DIGEST}"
- name: Get current digest from registry
id: current
continue-on-error: true
run: |
CURRENT_DIGEST=$(docker manifest inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest 2>/dev/null | jq -r '.annotations["upstream.digest"] // empty')
echo "digest=${CURRENT_DIGEST}" >> $GITHUB_OUTPUT
echo "Current stored upstream digest: ${CURRENT_DIGEST}"
- name: Check if build needed
id: check
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
echo "needed=true" >> $GITHUB_OUTPUT
echo "Manual trigger - building"
elif [ "${{ github.event_name }}" = "push" ]; then
echo "needed=true" >> $GITHUB_OUTPUT
echo "Push event - building"
elif [ "${{ steps.upstream.outputs.digest }}" != "${{ steps.current.outputs.digest }}" ]; then
echo "needed=true" >> $GITHUB_OUTPUT
echo "Upstream changed - building"
else
echo "needed=false" >> $GITHUB_OUTPUT
echo "No changes - skipping build"
fi
- name: Set up Docker Buildx
if: steps.check.outputs.needed == 'true'
uses: docker/setup-buildx-action@v3
- name: Login to Gitea Registry
if: steps.check.outputs.needed == 'true'
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push
if: steps.check.outputs.needed == 'true'
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: |
upstream.digest=${{ steps.upstream.outputs.digest }}
annotations: |
upstream.digest=${{ steps.upstream.outputs.digest }}

5
Dockerfile Normal file
View File

@@ -0,0 +1,5 @@
FROM shenxn/protonmail-bridge:latest
RUN apt-get update && \
apt-get install -y --no-install-recommends libfido2-1 && \
rm -rf /var/lib/apt/lists/*

29
README.md Normal file
View File

@@ -0,0 +1,29 @@
# protonmail-bridge-libfido2
Wrapper-Image für `shenxn/protonmail-bridge:latest` mit `libfido2-1` installiert.
## Hintergrund
Proton Mail Bridge 3.22.0+ benötigt `libfido2`, aber das shenxn-Image enthält diese Bibliothek nicht. Dieses Image fügt sie hinzu.
## Verwendung
```yaml
proton-bridge:
image: git.tdpi.dev/tdpi/protonmail-bridge-libfido2:latest
container_name: paperless-protonmail-bridge
restart: unless-stopped
volumes:
- /mnt/docker/appdata/paperless_bridge_data:/root
```
## Automatische Updates
Der Workflow prüft täglich um 04:00 UTC ob sich `shenxn/protonmail-bridge:latest` geändert hat und baut nur dann neu.
## Secrets
Im Repository müssen folgende Secrets konfiguriert sein:
- `REGISTRY_USER`: Gitea Benutzername
- `REGISTRY_TOKEN`: Gitea Access Token mit Package-Rechten