Compare commits
16
Commits
dafc367354
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8bd1ec52db | ||
|
|
3c4a4145b2 | ||
|
|
4e6ddeb9cd | ||
|
|
2571041a4b | ||
|
|
f90a3395a2 | ||
|
|
942d963484 | ||
|
|
74a213ebca | ||
|
|
eddc126992 | ||
|
|
caa0ce318c | ||
|
|
60bc4453de | ||
|
|
22e040bb8e | ||
|
|
d881fbcfb4 | ||
|
|
955fd8c452 | ||
|
|
3ecd399449 | ||
|
|
4a7ceb541b | ||
|
|
ba6d96339a |
@@ -0,0 +1,82 @@
|
||||
name: image puller runner
|
||||
run-name: Pull and Push 🚀
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch: # Enables the manual run UI button
|
||||
|
||||
jobs:
|
||||
setup:
|
||||
env:
|
||||
RUNNER_TOOL_CACHE: /toolcache
|
||||
|
||||
container:
|
||||
image: gitea.geeraert.eu/pi-ux-ce/custom-runner-debian-slim:latest
|
||||
volumes:
|
||||
- act-toolcache:/opt/hostedtoolcache # this is where Runner store their cache default
|
||||
runs-on: host-runner
|
||||
outputs:
|
||||
image_matrix: ${{ steps.set-matrix.outputs.images }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Parse image file into JSON array
|
||||
id: set-matrix
|
||||
run: |
|
||||
# Read lines, remove empty lines/comments, and format as a JSON array
|
||||
# e.g., ["ubuntu:latest", "alpine:3.18"]
|
||||
JSON_ARRAY=$(jq -R -s -c 'split("\n") | map(select(length > 0 and (startswith("#") | not)))' image_list.txt)
|
||||
|
||||
echo "Images found: $JSON_ARRAY"
|
||||
echo "images=$JSON_ARRAY" >> $GITHUB_OUTPUT
|
||||
|
||||
# Job 2: Process each image in parallel matrix slots
|
||||
process-images:
|
||||
needs: setup
|
||||
runs-on: host-runner
|
||||
container:
|
||||
image: gitea.geeraert.eu/pi-ux-ce/custom-runner-debian-slim:latest
|
||||
|
||||
strategy:
|
||||
max-parallel: 1
|
||||
fail-fast: false
|
||||
matrix:
|
||||
image: ${{ fromJSON(needs.setup.outputs.image_matrix) }}
|
||||
|
||||
name: Sync (${{ matrix.image }})
|
||||
|
||||
steps:
|
||||
- name: Login to gitea
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: gitea.geeraert.eu
|
||||
username: ${{ secrets.USERNAME_GITEA }}
|
||||
password: ${{ secrets.PASSWORD_GITEA }}
|
||||
|
||||
|
||||
- name: docker pull ${{ matrix.image }}
|
||||
run: docker pull ${{ matrix.image }}
|
||||
|
||||
- name: Process, Tag and Push to Gitea
|
||||
run: |
|
||||
RAW_IMAGE="${{ matrix.image }}"
|
||||
|
||||
# Clean up the image name string to prevent malformed targets
|
||||
# e.g., converts 'ghcr.io/bitwarden/admin:2026.1.0' into 'bitwarden-admin:2026.1.0'
|
||||
CLEANED_NAME=$(echo "$RAW_IMAGE" | sed -E 's|^[^/]*/||' | tr '/' '-')
|
||||
|
||||
TARGET_IMAGE="gitea.geeraert.eu/pi-ux-ce/${CLEANED_NAME}"
|
||||
|
||||
echo "Original: $RAW_IMAGE"
|
||||
echo "Target Registry Image: $TARGET_IMAGE"
|
||||
|
||||
# Perform operations sequentially
|
||||
docker tag "$RAW_IMAGE" "$TARGET_IMAGE"
|
||||
docker push "$TARGET_IMAGE"
|
||||
|
||||
- name: Post Cleanup Host Storage
|
||||
if: always()
|
||||
run: |
|
||||
CLEANED_NAME=$(echo "${{ matrix.image }}" | sed -E 's|^[^/]*/||' | tr '/' '-')
|
||||
docker rmi "${{ matrix.image }}" || true
|
||||
docker rmi "gitea.geeraert.eu/pi-ux-ce/${CLEANED_NAME}" || true
|
||||
@@ -0,0 +1,58 @@
|
||||
ghcr.io/bitwarden/admin:2026.1.0
|
||||
ghcr.io/bitwarden/attachments:2026.1.0
|
||||
ghcr.io/bitwarden/events:2026.1.0
|
||||
ghcr.io/bitwarden/icons:2026.1.0
|
||||
ghcr.io/bitwarden/mssql:2026.1.0
|
||||
ghcr.io/bitwarden/nginx:2026.1.0
|
||||
ghcr.io/bitwarden/notifications:2026.1.0
|
||||
ghcr.io/bitwarden/sso:2026.1.0
|
||||
ghcr.io/bitwarden/web:2026.1.0
|
||||
linuxserver/bookstack:latest
|
||||
lscr.io/linuxserver/mariadb
|
||||
quay.io/jetstack/cert-manager-controller:v1.11.0
|
||||
quay.io/jetstack/cert-manager-cainjector:v1.11.0
|
||||
quay.io/jetstack/cert-manager-webhook:v1.11.0
|
||||
ghcr.io/stakater/reloader:latest
|
||||
docker.io/library/postgres:latest
|
||||
docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0
|
||||
ealen/echo-server:latest
|
||||
postgres:17
|
||||
gitea/act_runner:latest
|
||||
gitea/gitea:1.27.0
|
||||
qmcgaw/gluetun:latest
|
||||
ghcr.io/immich-app/immich-server:v3.0.0
|
||||
ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
|
||||
docker.io/valkey/valkey:9@sha256:4963247afc4cd33c7d3b2d2816b9f7f8eeebab148d29056c2ca4d7cbc966f2d9
|
||||
ghcr.io/immich-app/immich-machine-learning:v2.5.6
|
||||
docker.io/calico/kube-controllers:v3.27.0
|
||||
registry.k8s.io/coredns/coredns:v1.10.1
|
||||
registry.k8s.io/sig-storage/csi-provisioner:v3.6.2
|
||||
registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2
|
||||
registry.k8s.io/sig-storage/livenessprobe:v2.11.0
|
||||
registry.k8s.io/sig-storage/nfsplugin:v4.6.0
|
||||
quay.io/metallb/controller:v0.14.8
|
||||
netdata/netdata:edge
|
||||
netdata/netdata:edge
|
||||
docker.io/library/postgres:14
|
||||
image: docker.io/library/redis:7
|
||||
nextcloud:29.0.3-apache
|
||||
registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
|
||||
gotenberg/gotenberg:8
|
||||
ghcr.io/paperless-ngx/paperless-ngx:2.18.4
|
||||
postgres:15.6
|
||||
redis:7.4.1
|
||||
image: docker.io/apache/tika:latest
|
||||
pihole/pihole:latest
|
||||
image: portainer/portainer-ce:latest
|
||||
portainer/agent:2.19.4
|
||||
ghcr.io/flaresolverr/flaresolverr:latest
|
||||
linuxserver/prowlarr:latest
|
||||
docker.io/library/postgres:17.5
|
||||
lscr.io/linuxserver/qbittorrent:latest
|
||||
lscr.io/linuxserver/radarr:latest
|
||||
lscr.io/linuxserver/sonarr:latest
|
||||
stashapp/stash:v0.30.1
|
||||
lscr.io/linuxserver/unifi-network-application:8.1.113-ls36
|
||||
docker.io/mongo
|
||||
ghcr.io/requarks/wiki:2.5
|
||||
postgres:17
|
||||
Reference in New Issue
Block a user