commit ab2dd913f2b8b04977e42041cbc9aa7964cba706
parent 60a4d7dcaa2cf1b51bb565c3f2907d64b4840583
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Sun, 22 Mar 2026 00:06:14 +0100
meow
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Diffstat:
2 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/.github/workflows/build-continuwuity.yaml b/.github/workflows/build-continuwuity.yaml
@@ -0,0 +1,54 @@
+name: Build Continuwuity Wrapper Image
+
+on:
+ push:
+ branches: ["main"]
+ paths:
+ - "apps/talos_cluster/continuwuity/Dockerfile"
+ schedule:
+ # Rebuild daily at 03:00 UTC to pick up upstream :main changes
+ - cron: "0 3 * * *"
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ packages: write
+
+jobs:
+ build:
+ name: Build and Push
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ - name: Log in to GitHub Container Registry
+ uses: docker/login-action@v3
+ with:
+ registry: ghcr.io
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Extract metadata
+ id: meta
+ uses: docker/metadata-action@v5
+ with:
+ images: ghcr.io/${{ github.repository_owner }}/continuwuity
+ tags: |
+ type=raw,value=main
+ type=sha,prefix=sha-
+
+ - name: Build and push
+ uses: docker/build-push-action@v6
+ with:
+ context: apps/talos_cluster/continuwuity
+ file: apps/talos_cluster/continuwuity/Dockerfile
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max
+ platforms: linux/amd64
diff --git a/apps/talos_cluster/continuwuity/Dockerfile b/apps/talos_cluster/continuwuity/Dockerfile
@@ -0,0 +1,17 @@
+# Wraps the upstream continuwuity scratch-based image with a shell (debian:12-slim)
+# so that Velero pre/post backup hooks can freeze the process via SIGSTOP/SIGCONT.
+FROM forgejo.ellis.link/continuwuation/continuwuity:main AS upstream
+
+FROM debian:12-slim
+RUN apt-get update \
+ && apt-get install -y --no-install-recommends procps \
+ && rm -rf /var/lib/apt/lists/*
+
+# Copy binary and shared libraries from the upstream scratch image
+COPY --from=upstream /sbin/conduwuit /sbin/conduwuit
+COPY --from=upstream /usr/lib/ /usr/lib/
+COPY --from=upstream /etc/ssl/ /etc/ssl/
+
+ENV LD_LIBRARY_PATH=/usr/lib
+
+ENTRYPOINT ["/sbin/conduwuit"]