From b5224cb51285128fd73392a365c9208a06aebe95 Mon Sep 17 00:00:00 2001 From: Worph Date: Sat, 3 Oct 2026 16:09:47 +0200 Subject: [PATCH 01/12] initial commit --- Apps/Gitea/docker-compose.yml | 408 +++++++++++ Apps/Gitea/icon.png | Bin 0 -> 10146 bytes Apps/Gitea/rationale.md | 86 +++ Apps/Gitea/screenshot-1.png | Bin 0 -> 81012 bytes Apps/Gitea/screenshot-2.png | Bin 0 -> 130657 bytes Apps/Gitea/screenshot-3.png | Bin 0 -> 142712 bytes Apps/Gitea/seed/runner-config/act_runner-run | 32 + Apps/Gitea/seed/runner-config/config.yaml | 40 ++ Apps/Gitea/thumbnail.png | Bin 0 -> 58440 bytes Apps/IPCR-Forge/docker-compose.yml | 658 ++++++++++++++++++ Apps/IPCR-Forge/icon.png | Bin 0 -> 11528 bytes .../seed/gitea/runner-config/act_runner-run | 32 + .../seed/gitea/runner-config/config.yaml | 40 ++ .../seed/ipcr/init.d/01-ipcr-node.sh | 19 + .../seed/radicle/caddy/Caddyfile.tmpl | 20 + .../seed/radicle/home/config.json.tmpl | 15 + Apps/Radicle/docker-compose.yml | 334 +++++++++ Apps/Radicle/icon.png | Bin 0 -> 4099 bytes Apps/Radicle/rationale.md | 85 +++ Apps/Radicle/screenshot-1.png | Bin 0 -> 104741 bytes Apps/Radicle/screenshot-2.png | Bin 0 -> 52286 bytes Apps/Radicle/screenshot-3.png | Bin 0 -> 42486 bytes Apps/Radicle/seed/caddy/Caddyfile.tmpl | 20 + Apps/Radicle/seed/home/config.json.tmpl | 15 + Apps/Radicle/thumbnail.png | Bin 0 -> 131751 bytes 25 files changed, 1804 insertions(+) create mode 100644 Apps/Gitea/docker-compose.yml create mode 100644 Apps/Gitea/icon.png create mode 100644 Apps/Gitea/rationale.md create mode 100644 Apps/Gitea/screenshot-1.png create mode 100644 Apps/Gitea/screenshot-2.png create mode 100644 Apps/Gitea/screenshot-3.png create mode 100644 Apps/Gitea/seed/runner-config/act_runner-run create mode 100644 Apps/Gitea/seed/runner-config/config.yaml create mode 100644 Apps/Gitea/thumbnail.png create mode 100644 Apps/IPCR-Forge/docker-compose.yml create mode 100644 Apps/IPCR-Forge/icon.png create mode 100644 Apps/IPCR-Forge/seed/gitea/runner-config/act_runner-run create mode 100644 Apps/IPCR-Forge/seed/gitea/runner-config/config.yaml create mode 100644 Apps/IPCR-Forge/seed/ipcr/init.d/01-ipcr-node.sh create mode 100644 Apps/IPCR-Forge/seed/radicle/caddy/Caddyfile.tmpl create mode 100644 Apps/IPCR-Forge/seed/radicle/home/config.json.tmpl create mode 100644 Apps/Radicle/docker-compose.yml create mode 100644 Apps/Radicle/icon.png create mode 100644 Apps/Radicle/rationale.md create mode 100644 Apps/Radicle/screenshot-1.png create mode 100644 Apps/Radicle/screenshot-2.png create mode 100644 Apps/Radicle/screenshot-3.png create mode 100644 Apps/Radicle/seed/caddy/Caddyfile.tmpl create mode 100644 Apps/Radicle/seed/home/config.json.tmpl create mode 100644 Apps/Radicle/thumbnail.png diff --git a/Apps/Gitea/docker-compose.yml b/Apps/Gitea/docker-compose.yml new file mode 100644 index 0000000..6a02fdf --- /dev/null +++ b/Apps/Gitea/docker-compose.yml @@ -0,0 +1,408 @@ +name: gitea + +services: + # Gitea itself — git hosting, the Actions controller, and the OCI package + # registry, all in one process. SQLite: a personal forge never has the write + # concurrency that would justify a second container for Postgres. + gitea: + image: gitea/gitea:1.27.3-rootless + container_name: gitea + user: $PUID:$PGID + restart: unless-stopped + cpu_shares: 70 + deploy: + resources: + limits: + memory: 1G + environment: + TZ: $TZ + # Every URL Gitea hands out — clone URLs, the registry host, and the + # server_url the CI runner passes to jobs — is derived from ROOT_URL, so + # it has to be the address that works from outside as well as inside. + GITEA__server__ROOT_URL: https://gitea-${APP_DOMAIN}/ + GITEA__server__DOMAIN: gitea-${APP_DOMAIN} + GITEA__server__HTTP_PORT: "3000" + GITEA__server__PROTOCOL: http + # The address Gitea's own CLI uses to reach the running server's internal + # API. It defaults to localhost, which is right for the server itself and + # useless from the init container that runs + # `gitea actions generate-runner-token`. It has to be set here rather than + # there: the CLI reads it out of the shared app.ini, and only this + # container's entrypoint renders environment into app.ini. + GITEA__server__LOCAL_ROOT_URL: http://gitea:3000/ + # Git over SSH would need a published host port of its own. Everything + # here — clone, push, CI, registry — goes over HTTPS instead. + GITEA__server__DISABLE_SSH: "true" + GITEA__server__START_SSH_SERVER: "false" + # Skips the first-run install wizard: every value it would ask for is set + # here, and the admin account is created by an init step below. + GITEA__security__INSTALL_LOCK: "true" + GITEA__database__DB_TYPE: sqlite3 + GITEA__database__PATH: /var/lib/gitea/data/gitea.db + GITEA__service__DISABLE_REGISTRATION: "true" + GITEA__service__REQUIRE_SIGNIN_VIEW: "true" + GITEA__actions__ENABLED: "true" + # Where a bare `uses: actions/checkout@v4` is resolved from. + GITEA__actions__DEFAULT_ACTIONS_URL: github + GITEA__packages__ENABLED: "true" + # Lets a pull mirror name a repository on this server's own Docker + # network — a Radicle node's git endpoint, for instance. See rationale.md. + GITEA__migrations__ALLOW_LOCALNETWORKS: "true" + # How often a pull mirror is re-fetched. The sync emits the same push + # event a real push would, so this interval is also how quickly CI + # reacts to a commit that arrives from the mirrored source. + GITEA__mirror__DEFAULT_INTERVAL: 10m + GITEA__mirror__MIN_INTERVAL: 10m + volumes: + - ${DATA_ROOT:-/DATA}/AppData/$AppID/data:/var/lib/gitea + - ${DATA_ROOT:-/DATA}/AppData/$AppID/config:/etc/gitea + healthcheck: + test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:3000/api/healthz"] + interval: 30s + timeout: 10s + retries: 5 + start_period: 60s + expose: + - 3000 + labels: + caddy_0: gitea-${APP_DOMAIN} + caddy_0.import: gateway_tls + caddy_0.reverse_proxy: "{{upstreams 3000}}" + caddy_1: gitea-${APP_PUBLIC_IP_DASH}.nip.io + caddy_1.import: gateway_tls + caddy_1.reverse_proxy: "{{upstreams 3000}}" + caddy_2: gitea-${APP_PUBLIC_IP_DASH}.sslip.io + caddy_2.reverse_proxy: "{{upstreams 3000}}" + networks: + - pcs + - gitea-internal + + # The CI runner: act_runner with its own Docker daemon inside it (dind), so + # workflow jobs and the images they build never touch the host's daemon. + # See rationale.md for what `privileged` buys and what it costs. + gitea-runner: + image: gitea/act_runner:0.6.1-dind + container_name: gitea-runner + restart: unless-stopped + privileged: true + cpu_shares: 20 + deploy: + resources: + limits: + memory: 2G + environment: + TZ: $TZ + # This address is not just how the runner daemon reaches Gitea — it is + # handed to every job as GITHUB_SERVER_URL, and a job runs inside the + # runner's *nested* daemon, on a network where `gitea` does not resolve. + # So it has to be an address that works from the outside: checkout and + # `docker login` from a workflow both go out and back over HTTPS. + GITEA_INSTANCE_URL: https://gitea-${APP_DOMAIN} + GITEA_RUNNER_REGISTRATION_TOKEN_FILE: /data/token + GITEA_RUNNER_NAME: gitea-runner + # Registration-time labels. runner-config/config.yaml repeats them, and + # that copy wins on every start, so an installed runner follows store updates. + GITEA_RUNNER_LABELS: ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest,ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04,ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04,docker:docker://docker:28.5-cli + CONFIG_FILE: /config/config.yaml + # DOCKER_TLS_CERTDIR is deliberately left at the image's default. Emptying + # it does not turn the nested daemon's TCP listener off — it turns the + # listener's TLS off, and 2375 then answers unauthenticated to anything + # that can reach this container. + volumes: + # .runner (the registration this runner is identified by) and the + # registration token the init step leaves for it. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/runner:/data + - ${DATA_ROOT:-/DATA}/AppData/$AppID/runner-config:/config:ro + # Replaces the image's own start-up wait — see the comments in the + # script. It is declared under x-compose-app.files rather than left to + # the seed tree, because it has to arrive executable. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/runner-config/act_runner-run:/etc/s6/act_runner/run:ro + # The inner daemon's image store. Without this every restart re-pulls + # every base image a workflow uses. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/runner-docker:/var/lib/docker + networks: + - gitea-internal + +networks: + pcs: + name: ${APP_NET:-pcs} + external: true + # The runner has no business being reachable from other apps — it only ever + # talks to gitea and to the internet. + gitea-internal: + driver: bridge + +x-casaos: + architectures: + - amd64 + main: gitea + developer: Gitea + category: Developer + tags: ["developer", "git", "ci"] + description: + en_us: | + Gitea — a git forge with CI and a container registry + + Gitea is a lightweight, self-contained software forge: repositories, issues, pull requests, releases, a CI engine and an OCI container registry in a single service that is happy on a small machine. + + What it gives you here: + + • Git hosting over HTTPS, with issues, pull requests, releases and wikis + • Actions — CI workflows in GitHub Actions syntax, so existing workflow files usually run unchanged + • A built-in container registry, so a workflow can build an image and push it next to the code it came from + • Pull mirrors — point a repository at any git URL and it is re-fetched on a schedule, and each sync starts the same workflows a push would + + That last pair is what makes it useful in front of a git source that has no webhooks of its own: mirror the repository, and the mirror's own updates drive the build. + + A runner ships with the app, with its own Docker daemon inside it, so workflows can build container images out of the box. + fr_fr: | + Gitea — une forge git avec CI et registre de conteneurs + + Gitea est une forge logicielle légère et autonome : dépôts, tickets, pull requests, versions, moteur d'intégration continue et registre de conteneurs OCI dans un seul service, à l'aise sur une petite machine. + + Ce que vous obtenez ici : + + • Hébergement git en HTTPS, avec tickets, pull requests, versions et wikis + • Actions — des workflows d'intégration continue en syntaxe GitHub Actions, si bien qu'un fichier de workflow existant tourne généralement tel quel + • Un registre de conteneurs intégré : un workflow peut construire une image et la publier à côté du code dont elle provient + • Miroirs — pointez un dépôt vers n'importe quelle URL git, il est re-synchronisé périodiquement, et chaque synchronisation déclenche les mêmes workflows qu'un push + + Ces deux derniers points sont ce qui rend Gitea utile devant une source git dépourvue de webhooks : mettez le dépôt en miroir, et ce sont les mises à jour du miroir qui pilotent la construction. + + Un runner est fourni avec l'application, avec son propre démon Docker embarqué, afin que les workflows puissent construire des images de conteneurs dès l'installation. + zh_cn: | + Gitea — 带 CI 与容器仓库的 Git 代码托管 + + Gitea 是轻量、自足的软件协作平台:仓库、议题、合并请求、发布、CI 引擎与 OCI 容器仓库集于一个服务,在小型机器上也能流畅运行。 + + 它在这里提供: + + • 通过 HTTPS 托管 Git,附带议题、合并请求、发布与百科 + • Actions —— 采用 GitHub Actions 语法的 CI 工作流,现有的工作流文件通常无需修改即可运行 + • 内置容器仓库,工作流可以构建镜像并发布在源代码旁边 + • 拉取镜像同步 —— 将仓库指向任意 Git URL,它会按计划重新拉取,每次同步都会触发与推送相同的工作流 + + 后两项让 Gitea 特别适合放在没有 webhook 的 Git 源前面:把仓库设为镜像,镜像的更新就会驱动构建。 + + 应用自带一个运行器,内含独立的 Docker 守护进程,因此工作流开箱即可构建容器镜像。 + icon: icon.png + screenshot_link: + - screenshot-1.png + - screenshot-2.png + - screenshot-3.png + thumbnail: thumbnail.png + tagline: + en_us: A git forge with CI and a container registry, on your own domain. + fr_fr: Une forge git avec intégration continue et registre de conteneurs, sur votre domaine. + zh_cn: 运行在你自己域名下的 Git 托管,内建 CI 与容器仓库。 + tips: + before_install: + en_us: | + Signing in + + | | | + | --- | --- | + | Address | `https://gitea-$APP_DOMAIN` | + | User | `gitea_admin` | + | Password | your server's default app password | + + Gitea uses its own account system. Self-registration is off, so + `gitea_admin` is the only account until you create more under + Site Administration. + + Building from a repository that has no webhooks + + New Migration → check **This repository will be a mirror**, and give it + the git URL. Gitea re-fetches on a schedule, and each sync raises the + same `push` event a real push would — so a workflow with `on: push` + runs. Commit the workflow to `.gitea/workflows/` in the mirrored + repository itself (`.github/workflows/` also works; `.forgejo/` does + not). + + One thing to change by hand: a migrated repository arrives with + **Actions switched off**. Repository → Settings → Advanced Settings → + tick **Actions**, or nothing will ever run, however correct the + workflow is. + + Publishing images + + The registry lives at the same address as the web UI. In a workflow, + log in to `gitea-$APP_DOMAIN` and push to + `gitea-$APP_DOMAIN//:`. Use an access token with the + `write:package` scope, kept as a repository secret — the token Actions + injects as `secrets.GITHUB_TOKEN` is rejected by the registry. + + The CI runner + + The runner holds a Docker daemon of its own and therefore runs + privileged. It is what lets a workflow build container images. If you + do not intend to run CI, stop the `gitea-runner` container — Gitea + itself is unaffected. + fr_fr: | + Connexion + + | | | + | --- | --- | + | Adresse | `https://gitea-$APP_DOMAIN` | + | Utilisateur | `gitea_admin` | + | Mot de passe | le mot de passe par défaut de vos applications | + + Gitea gère ses propres comptes. L'auto-inscription est désactivée : + `gitea_admin` est donc le seul compte tant que vous n'en créez pas + d'autres depuis l'administration du site. + + Construire depuis un dépôt sans webhooks + + Nouvelle migration → cochez **Ce dépôt sera un miroir** et indiquez + l'URL git. Gitea re-synchronise périodiquement, et chaque + synchronisation lève l'événement `push` qu'un vrai push aurait levé — + un workflow `on: push` se déclenche donc. Le fichier de workflow se + place dans `.gitea/workflows/` du dépôt mis en miroir + (`.github/workflows/` fonctionne aussi ; `.forgejo/` non). + + Une chose à changer à la main : un dépôt migré arrive avec **Actions + désactivé**. Dépôt → Paramètres → Paramètres avancés → cochez + **Actions**, sinon rien ne se déclenchera, si correct que soit le + workflow. + + Publier des images + + Le registre est à la même adresse que l'interface web. Dans un + workflow, connectez-vous à `gitea-$APP_DOMAIN` puis publiez vers + `gitea-$APP_DOMAIN//:`. Utilisez un jeton + d'accès de portée `write:package`, conservé en secret de dépôt : le + jeton fourni par Actions (`secrets.GITHUB_TOKEN`) est refusé par le + registre. + + Le runner d'intégration continue + + Le runner embarque son propre démon Docker et tourne donc en mode + privilégié. C'est ce qui permet à un workflow de construire des images + de conteneurs. Si vous ne comptez pas utiliser l'intégration continue, + arrêtez le conteneur `gitea-runner` — Gitea lui-même n'en dépend pas. + zh_cn: | + 登录 + + | | | + | --- | --- | + | 地址 | `https://gitea-$APP_DOMAIN` | + | 用户 | `gitea_admin` | + | 密码 | 服务器的默认应用密码 | + + Gitea 使用自己的账户体系。自助注册已关闭,因此在你于站点管理中创建更多账户之前, + `gitea_admin` 是唯一的账户。 + + 为没有 webhook 的仓库构建 + + 新建迁移 → 勾选**将此仓库设为镜像**并填入 git URL。Gitea 会按计划重新拉取, + 每次同步都会触发与真实推送相同的 `push` 事件,因此 `on: push` 工作流会运行。 + 工作流文件请提交到被镜像仓库自身的 `.gitea/workflows/` 目录 + (`.github/workflows/` 同样有效,`.forgejo/` 无效)。 + + 有一处需要手动调整:迁移而来的仓库默认**关闭 Actions**。 + 进入 仓库 → 设置 → 高级设置 → 勾选 **Actions**,否则工作流再正确也不会运行。 + + 发布镜像 + + 容器仓库与网页界面位于同一地址。在工作流中登录 `gitea-$APP_DOMAIN`, + 并推送到 `gitea-$APP_DOMAIN/<用户>/<镜像>:<标签>`。请使用具有 + `write:package` 权限的访问令牌并存为仓库机密 —— Actions 注入的 + `secrets.GITHUB_TOKEN` 会被容器仓库拒绝。 + + CI 运行器 + + 运行器内含独立的 Docker 守护进程,因此以特权模式运行,这正是工作流能够构建 + 容器镜像的原因。若不打算使用 CI,可停止 `gitea-runner` 容器 —— 这不影响 Gitea 本身。 + title: + en_us: Gitea + index: / + webui_port: 3000 + store_app_id: gitea + +x-compose-app: + schema_version: 2 + folders: + - path: /DATA/AppData/$AppID/data + user: $PUID + group: $PGID + - path: /DATA/AppData/$AppID/config + user: $PUID + group: $PGID + # Holds .runner (the runner's registration) and the token file the + # init step writes for it. + - path: /DATA/AppData/$AppID/runner + user: $PUID + group: $PGID + mode: "0700" + - path: /DATA/AppData/$AppID/runner-config + user: $PUID + group: $PGID + # The inner Docker daemon's image store. dockerd runs as root inside the + # runner and takes ownership of what it creates below this point. + - path: /DATA/AppData/$AppID/runner-docker + user: $PUID + group: $PGID + mode: "0710" + files: + # Declared rather than left to the seed tree so the executable bit is + # stated, not inherited: git on a Windows-hosted checkout records every + # file 100644, and s6 refuses to spawn a `run` script it cannot execute — + # the runner then loops "unable to spawn ./run: Permission denied" and no + # workflow ever runs. + - path: /DATA/AppData/$AppID/runner-config/act_runner-run + from: runner-config/act_runner-run + ensure: always + mode: "0755" + init: + # Both steps are the gitea binary acting on its own installation, and both + # have to wait for the server: post_up fires as soon as `compose up` + # returns, which is when the container has *started*, not when Gitea has + # migrated its schema. Run them any sooner and `user create` dies on + # "no such table: user". + # + # The wait is bounded by `timeout` rather than left open: a step that + # blocks forever would hold the install open forever. + - name: create-admin + image: gitea/gitea:1.27.3-rootless + user: $PUID:$PGID + phase: post_up + volumes: + - /DATA/AppData/$AppID/data:/var/lib/gitea + - /DATA/AppData/$AppID/config:/etc/gitea + command: + - sh + - -c + - | + timeout 240 sh -c 'until gitea admin user list >/dev/null 2>&1; do sleep 3; done' + gitea admin user create --admin --username gitea_admin \ + --password "$APP_DEFAULT_PASSWORD" --email "$APP_EMAIL" \ + --must-change-password=false \ + || echo "admin account already present, leaving it alone" + # Re-run rather than remembered: the command is idempotent, and an account + # that was deleted by accident comes back on the next start. + when: always + - name: runner-token + image: gitea/gitea:1.27.3-rootless + user: $PUID:$PGID + phase: post_up + # Unlike the account, a runner token is not a database write — it is a + # call to the running server's internal API, so this one needs to be able + # to reach it. + network: $APP_NET + volumes: + - /DATA/AppData/$AppID/data:/var/lib/gitea + - /DATA/AppData/$AppID/config:/etc/gitea + - /DATA/AppData/$AppID/runner:/runner + command: + - sh + - -c + - | + timeout 240 sh -c 'until gitea actions generate-runner-token > /runner/token.new 2>/dev/null; do sleep 3; done' + mv /runner/token.new /runner/token + chmod 600 /runner/token + # Only while the runner has no registration of its own. Once it has one + # the token is dead weight, and re-minting it on every start would leave + # a live credential lying in the app folder for no reason. + when: absent:/DATA/AppData/$AppID/runner/.runner + webui-host: gitea-${domain} + webui-path: / diff --git a/Apps/Gitea/icon.png b/Apps/Gitea/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8eda1ea38d7548c4044089644f9f845b240c5eac GIT binary patch literal 10146 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.git` — is exactly that +case. Without the flag the URL is rejected before any fetch is attempted. + +**3. The admin username.** `admin` is on Gitea's reserved-name list (it +collides with the `/admin` route) and account creation fails with it. + +## Security mitigations in place + +- The runner is not on the shared `pcs` network. It sits on an app-internal + bridge with Gitea and nothing else, so no other app can reach it, and it + publishes no port. +- The runner's daemon is nested: its image store is a directory under the + app's own AppData, and the containers it creates are invisible to, and + cannot see, the host's daemon. +- `capacity: 1` in the runner config and a 2G memory limit bound what a + runaway build can consume. +- Self-registration is disabled (`DISABLE_REGISTRATION`) and anonymous + browsing is off (`REQUIRE_SIGNIN_VIEW`), so the forge starts closed with a + single account whose password is the deployment's default app password. +- `ALLOW_LOCALNETWORKS` is reachable only by an authenticated user of this + Gitea — with registration disabled, that is the owner. It widens what the + owner can point a mirror at; it does not expose anything to an anonymous + caller. +- The runner is severable: stopping the `gitea-runner` container leaves a + fully working forge and removes the privileged container from the box. This + is called out in `tips.before_install`. + +## Alternatives considered and rejected + +| Alternative | Why not | +|---|---| +| Host Docker socket in the runner | Any workflow, including one from a mirrored repo, gets root on the host. Strictly worse than a privileged container. | +| `0.6.1-dind-rootless` | Does not start under Ubuntu's unprivileged-userns restriction (see above); the workaround disables AppArmor for the container. | +| Ship no runner | Gitea Actions is the reason to choose Gitea over a plain git server here, and a runner cannot be added later without the same `privileged` decision. | +| Mirror over the public HTTPS address instead of `ALLOW_LOCALNETWORKS` | Works, but routes a same-box fetch out to the gateway and back, and breaks if the deployment has no public address. | + +## Data protection + +Everything that survives a restart is under `/DATA/AppData/gitea/`: +repositories and the SQLite database in `data/`, the rendered `app.ini` in +`config/`, the runner's registration in `runner/`, and the nested daemon's +image store in `runner-docker/`. Nothing is written outside that tree, and no +user directory (`/DATA/Documents`, `/DATA/Media`, …) is mounted into any +container. + +The only credential the app generates is the runner registration token, which +is rewritten on every start and is worthless without network access to Gitea. +The admin password is the deployment's own `APP_DEFAULT_PASSWORD`; it is never +written to disk by this app beyond Gitea's own salted hash. diff --git a/Apps/Gitea/screenshot-1.png b/Apps/Gitea/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..98b495492bf4e89110236d04810d0b9077ae7f63 GIT binary patch literal 81012 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 z zG|X1E3#IrGloQdiX}bFraa%iXo`5W#o$R)QnHV*9WWUix&m4CIqyC%-$(?1b%2FE+rr;=6x=6<-yq|AfwU`Vn3SeIw zEl9DbKaR8Ry4i)Hu{yNYsi;{{Ut9I4r6p~w$_g*A*C3qD<#p@=MO$Yz7viuis(52_ zv0G;hlSsSIP7nZ?Ly=Ki4ST*DH{N}4!*23(%;D2-9QE<{o!#u7g~NUA+2{bB;Xo2o z3i+^9$)4su3@fdzt$QT2_NdCux9$NB_GE5Jt|{P{J}2r4z)PBvSKKdT($dmaEhoFq zuX+PF29VpjU`mbqA+lZc#2ZCdNO_ zwG*-2g=5NTd~JVo0Vdi!DM(s>{=)u6Bkc}JsjAx%*y;02`3AJn94A)`X%nHGEO9~7 zU#9#Qk*DvDlTZaeEE-#!ml9!B>DT_|8D-@z4g+9%~d#$a@y~-zYR(pc8U7= zwyu!>^=b_i5|01$-F7L_T?}$b6DfD&n_y7J-!M9Lw|NV{smp}9WhnMSr z`_@x#UuDzCo<4n=6ZP*6f6V{EO%Ji@5hoB;Wa>7%cRqMR$ZfMCk!o7GG*-zl8Gv68 z$#SDFbW1M9YNd0WsEsP*H3<37Bu5=Jfdf%j6jRRPvNjM?ZoNF=Z6*>hUD9j_bHUT+ zBaGIEltA1(YFeRFt@_d;mwGjKJ?Az|Lm7K50T5s{8eWJQ`S)mUY5s^Bylp>zRlrTy zFXj~}&Xz{fW(gsQ-)+fj!~hHqA8svlLQD=Lw6A^`w=J#W|E4ixv65csTrkRL7C`&pz zi8JBx@%0sqm%f|^H%T6Q80NdqtXG~yGP{|Mwa-$Zh(|C*VW)QL4mEZ1t&f#ig@qWM z&wVMzG~i>%-S4_h&?+P(v@`mJ&F=w6gqK+8-Ma)gYv2Qs(()3y|4Ho{Dw}7etS4}z^?7zni`wPo)?lUSQ2%+}H-QgmuIHy!@9A=Y z-8J7{x&t}wT8+!abKBJkjGtEnyaR}VeBc>}chLkEFZe8$_%Qu_3$2GIzsvQSB^KnN zN#pxV2BDr}nDw67a23Yn3J2At1&x5wtLNocV1&_X;Qt_rChYt7*3FG(9nD-sP?LWh zFYS9CP?DUtW0J;ylMtbp;7j%a1J}%sPp00 zvg*F)A~2mAE47l6TL)T#T7@&JJ6v6>rN)civWuEPGjD(0zR%O*F}xmogy)^sQU9J; z(n_~REG+{6_VH;1SDrMM1zpO-jEwr++N+cb1+R*1=+u8b5WIR-R#xsNW}sHz z=3^kRO!au}z;+AhsBSu)e7Iad0M`s|lWc;$%ma>}Xf;!2$L5Wr9O{)AVYKy4O`q

IZq;^-uo;=d#tLZ5 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

XJ^lKE7vW7J7N9#^Cxiz8w0z0 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 MsPwZuVO_8P0;n7k_y7O^ literal 0 HcmV?d00001 diff --git a/Apps/Gitea/screenshot-3.png b/Apps/Gitea/screenshot-3.png new file mode 100644 index 0000000000000000000000000000000000000000..254ab5b5d3f3526f649322db8f08b30a1422edc1 GIT binary patch literal 142712 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 literal 0 HcmV?d00001 diff --git a/Apps/Gitea/seed/runner-config/act_runner-run b/Apps/Gitea/seed/runner-config/act_runner-run new file mode 100644 index 0000000..ae63df8 --- /dev/null +++ b/Apps/Gitea/seed/runner-config/act_runner-run @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# Replaces the image's own /etc/s6/act_runner/run. Two waits, both of which the +# stock script gets wrong for this deployment. +# +# 1. The nested Docker daemon. Upstream waits for it through s6's readiness +# notification. On a cold start with a warm image store dockerd takes longer +# than s6-notifyoncheck's window, the notification never arrives, s6 marks +# the service permanently failed, and act_runner sits blocked in +# `s6-svwait -U` for two to four minutes before s6 gives up and lets it past +# anyway. The runner shows "offline" in the forge for that whole time and +# picks up no jobs. Asking the daemon directly is the same wait without the +# guesswork. +# +# 2. The registration token. It is minted by an init step that runs after the +# stack is up, so on a first install it does not exist yet when this +# container starts — and the stock entrypoint reads the token file exactly +# once, before its retry loop, so a token that arrives late is never seen. + +while [ ! -d /etc/s6/docker/supervise ]; do + sleep 0.1 +done + +while ! docker info >/dev/null 2>&1; do + sleep 1 +done + +while [ ! -s "${GITEA_RUNNER_REGISTRATION_TOKEN_FILE:-/data/token}" ] && [ ! -s /data/.runner ]; do + echo "waiting for the runner registration token" + sleep 2 +done + +exec run.sh diff --git a/Apps/Gitea/seed/runner-config/config.yaml b/Apps/Gitea/seed/runner-config/config.yaml new file mode 100644 index 0000000..9da8334 --- /dev/null +++ b/Apps/Gitea/seed/runner-config/config.yaml @@ -0,0 +1,40 @@ +# act_runner configuration. Only the settings that differ from upstream's +# defaults are written out — `act_runner generate-config` prints the full set. + +log: + level: info + +runner: + # The file the runner's own registration is kept in, relative to /data. + file: .runner + # One job at a time. A PCS shares its CPU with everything else installed on + # it, and an image build is the least polite thing on the box. + capacity: 1 + timeout: 1h + fetch_timeout: 5s + fetch_interval: 2s + # Overrides the labels stored at registration (.runner). These are upstream + # act_runner defaults: Gitea's own job images, which carry node, bash, git + # and the docker CLI with buildx, so marketplace actions (actions/checkout, + # docker/build-push-action, ...) run as they do on GitHub. The registration + # labels pointed at node:22-bookworm, which has no docker CLI. + labels: + - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" + - "ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04" + - "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04" + - "docker:docker://docker:28.5-cli" + +cache: + # The cache server binds an address inside the runner container, which the + # job containers — created by the Docker daemon nested inside that same + # container — cannot route to. Left on, every `actions/cache` step fails + # noisily instead of being skipped. + enabled: false + +container: + # Jobs run on the runner's own nested daemon, on its default bridge: they + # reach the internet, and they reach Gitea the way anything outside would, + # through its public address. + network: bridge + privileged: false + force_pull: false diff --git a/Apps/Gitea/thumbnail.png b/Apps/Gitea/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..d831b58f466dd70b81e3050d2adabcacf209b782 GIT binary patch literal 58440 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 NE-771yP*5*zX2kFz9#?x literal 0 HcmV?d00001 diff --git a/Apps/IPCR-Forge/docker-compose.yml b/Apps/IPCR-Forge/docker-compose.yml new file mode 100644 index 0000000..f5d4c47 --- /dev/null +++ b/Apps/IPCR-Forge/docker-compose.yml @@ -0,0 +1,658 @@ +name: ipcr-forge + +# IPCR Forge — the whole decentralised forge in one app: +# +# git push rad main v1.2.3 (developer) +# → radicle-node / radicle-api source of truth, peer-to-peer +# → radicle-gitea-bridge copies repos that commit .gitea/workflows/ +# → gitea + gitea-runner GitHub-style Actions build the image +# → gitea registry staging: gitea-/gitea_admin/:1.2.3 +# ┄ (not wired yet) package webhook → IPCR import +# → ipcr-kubo / ipcr-registry / ipcr-gateway +# docker pull ipcr.localhost:4767/ipns/:1.2.3 (anyone) +# +# Every service is copied verbatim from its standalone listing (apps/Radicle, apps/Gitea, +# apps/Radicle-Gitea-Bridge, apps/IPCR), so each keeps its own comments and rationale.md. +# Only the data folders move, one subfolder per part: $AppID/{radicle,gitea,bridge,ipcr}/. +# +# Replaces those four apps; it cannot sit beside them. It uses the same container names, +# domains (radicle-, radicle-api-, gitea-) and host ports (8776, 4768, 127.0.0.1:4767). +# +# The handoff from Gitea's registry to IPFS is the one missing link: the runner's jobs run in +# a nested Docker that cannot reach ipcr.localhost (it is the *host's* loopback), so the +# import has to run on IPCR's side, triggered by Gitea's "package published" webhook. + +services: + # ═══ Radicle — the source of truth ═════════════════════════════════════════════ + # Verbatim from apps/Radicle; only its data folder moves to $AppID/radicle/. + + # The web UI: the Radicle Explorer bundle served as static files by Caddy. + # It is a pure client-side app — every request it makes goes from the visitor's + # browser straight to the API below, which is why that one needs its own domain. + radicle: + image: dirk1980/radicle-explorer-container@sha256:0e31485c38a765e83a10b1a4bf71b12d4f9fec630881d171bba736a4a56a16ce + container_name: radicle + user: $PUID:$PGID + restart: unless-stopped + cpu_shares: 80 + deploy: + resources: + limits: + memory: 128M + environment: + TZ: $TZ + # Caddy writes its autosaved config and its (unused here) certificate store + # under these two paths. The image points them at /config and /data, which are + # root-owned, so as $PUID the process cannot create them and refuses to start. + XDG_CONFIG_HOME: /tmp/caddy-config + XDG_DATA_HOME: /tmp/caddy-data + volumes: + # Replaces the image's own :80 Caddyfile — see the comments in that file. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/radicle/caddy/Caddyfile:/etc/caddy/Caddyfile:ro + healthcheck: + test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8080/"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 15s + expose: + - 8080 + labels: + caddy_0: radicle-${APP_DOMAIN} + caddy_0.import: gateway_tls + caddy_0.reverse_proxy: "{{upstreams 8080}}" + caddy_1: radicle-${APP_PUBLIC_IP_DASH}.nip.io + caddy_1.import: gateway_tls + caddy_1.reverse_proxy: "{{upstreams 8080}}" + caddy_2: radicle-${APP_PUBLIC_IP_DASH}.sslip.io + caddy_2.reverse_proxy: "{{upstreams 8080}}" + networks: + - pcs + + # radicle-httpd — the node's read-only JSON API, on its own domain. + # + # This domain is deliberately NOT behind the SSO gate: the explorer above is a + # static bundle running in the visitor's browser, so it is the browser that calls + # this API, cross-origin. The daemon serves public repositories only (private ones + # are filtered out upstream) and has no write endpoints at all. See rationale.md. + radicle-api: + image: dirk1980/radicle-httpd@sha256:5e95be30e4bde55b509a65fd56f8b825cafd0f5cd752c1a13e79aad75b958895 + container_name: radicle-api + user: $PUID:$PGID + restart: unless-stopped + cpu_shares: 70 + deploy: + resources: + limits: + memory: 512M + command: ["--listen", "0.0.0.0:8080"] + environment: + TZ: $TZ + volumes: + # Same Radicle home as the node: the daemon reads the repository storage + # directly and talks to the node over the control socket inside it. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/radicle/home/:/radicle-home/ + healthcheck: + # curl, not wget: this image carries curl and no busybox. + test: ["CMD", "curl", "-fsS", "-o", "/dev/null", "http://127.0.0.1:8080/api/v1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 15s + expose: + - 8080 + labels: + caddy_0: radicle-api-${APP_DOMAIN} + caddy_0.import: gateway_tls + caddy_0.reverse_proxy: "{{upstreams 8080}}" + caddy_1: radicle-api-${APP_PUBLIC_IP_DASH}.nip.io + caddy_1.import: gateway_tls + caddy_1.reverse_proxy: "{{upstreams 8080}}" + caddy_2: radicle-api-${APP_PUBLIC_IP_DASH}.sslip.io + caddy_2.reverse_proxy: "{{upstreams 8080}}" + networks: + - pcs + + # The node itself: speaks the Radicle peer-to-peer protocol (gossip, fetch, + # announce) on TCP 8776. No HTTP, so no Caddy route and no place on the shared + # network — it only needs egress, which the app-internal bridge provides. + radicle-node: + image: dirk1980/radicle-seed-node@sha256:78ccee526ad4b4f4d7c79c2323b032a7209858a48e1dc9c077272ff1660050e2 + container_name: radicle-node + user: $PUID:$PGID + restart: unless-stopped + cpu_shares: 50 + deploy: + resources: + limits: + memory: 1G + environment: + TZ: $TZ + volumes: + - ${DATA_ROOT:-/DATA}/AppData/$AppID/radicle/home/:/radicle-home/ + ports: + # Radicle peer-to-peer protocol. Other nodes dial in here to fetch the + # repositories this node seeds; without it the node still syncs outbound, + # but nobody can fetch from it. Hence the needs-public-ip tag. + - "8776:8776" + healthcheck: + # `rad node status` round-trips the node's control socket, which is the only + # liveness signal this container has — but it also renders the peer table, and + # that takes 3-8s on an idle node and longer while the node is syncing. Hence + # the unusually generous timeout: a 10s one fails during the first sync and + # flaps the container between healthy and unhealthy. + test: ["CMD", "rad", "node", "status"] + interval: 60s + timeout: 30s + retries: 3 + start_period: 90s + networks: + - radicle-internal + + # ═══ Gitea — CI and the staging registry ═══════════════════════════════════════ + # Verbatim from apps/Gitea; only its data folder moves to $AppID/gitea/. + + # Gitea itself — git hosting, the Actions controller, and the OCI package + # registry, all in one process. SQLite: a personal forge never has the write + # concurrency that would justify a second container for Postgres. + gitea: + image: gitea/gitea:1.27.3-rootless + container_name: gitea + user: $PUID:$PGID + restart: unless-stopped + cpu_shares: 70 + deploy: + resources: + limits: + memory: 1G + environment: + TZ: $TZ + # Every URL Gitea hands out — clone URLs, the registry host, and the + # server_url the CI runner passes to jobs — is derived from ROOT_URL, so + # it has to be the address that works from outside as well as inside. + GITEA__server__ROOT_URL: https://gitea-${APP_DOMAIN}/ + GITEA__server__DOMAIN: gitea-${APP_DOMAIN} + GITEA__server__HTTP_PORT: "3000" + GITEA__server__PROTOCOL: http + # The address Gitea's own CLI uses to reach the running server's internal + # API. It defaults to localhost, which is right for the server itself and + # useless from the init container that runs + # `gitea actions generate-runner-token`. It has to be set here rather than + # there: the CLI reads it out of the shared app.ini, and only this + # container's entrypoint renders environment into app.ini. + GITEA__server__LOCAL_ROOT_URL: http://gitea:3000/ + # Git over SSH would need a published host port of its own. Everything + # here — clone, push, CI, registry — goes over HTTPS instead. + GITEA__server__DISABLE_SSH: "true" + GITEA__server__START_SSH_SERVER: "false" + # Skips the first-run install wizard: every value it would ask for is set + # here, and the admin account is created by an init step below. + GITEA__security__INSTALL_LOCK: "true" + GITEA__database__DB_TYPE: sqlite3 + GITEA__database__PATH: /var/lib/gitea/data/gitea.db + GITEA__service__DISABLE_REGISTRATION: "true" + GITEA__service__REQUIRE_SIGNIN_VIEW: "true" + GITEA__actions__ENABLED: "true" + # Where a bare `uses: actions/checkout@v4` is resolved from. + GITEA__actions__DEFAULT_ACTIONS_URL: github + GITEA__packages__ENABLED: "true" + # Lets a pull mirror name a repository on this server's own Docker + # network — a Radicle node's git endpoint, for instance. See rationale.md. + GITEA__migrations__ALLOW_LOCALNETWORKS: "true" + # How often a pull mirror is re-fetched. The sync emits the same push + # event a real push would, so this interval is also how quickly CI + # reacts to a commit that arrives from the mirrored source. + GITEA__mirror__DEFAULT_INTERVAL: 10m + GITEA__mirror__MIN_INTERVAL: 10m + volumes: + - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/data:/var/lib/gitea + - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/config:/etc/gitea + healthcheck: + test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:3000/api/healthz"] + interval: 30s + timeout: 10s + retries: 5 + start_period: 60s + expose: + - 3000 + labels: + caddy_0: gitea-${APP_DOMAIN} + caddy_0.import: gateway_tls + caddy_0.reverse_proxy: "{{upstreams 3000}}" + caddy_1: gitea-${APP_PUBLIC_IP_DASH}.nip.io + caddy_1.import: gateway_tls + caddy_1.reverse_proxy: "{{upstreams 3000}}" + caddy_2: gitea-${APP_PUBLIC_IP_DASH}.sslip.io + caddy_2.reverse_proxy: "{{upstreams 3000}}" + networks: + - pcs + - gitea-internal + + # The CI runner: act_runner with its own Docker daemon inside it (dind), so + # workflow jobs and the images they build never touch the host's daemon. + # See rationale.md for what `privileged` buys and what it costs. + gitea-runner: + image: gitea/act_runner:0.6.1-dind + container_name: gitea-runner + restart: unless-stopped + privileged: true + cpu_shares: 20 + deploy: + resources: + limits: + memory: 2G + environment: + TZ: $TZ + # This address is not just how the runner daemon reaches Gitea — it is + # handed to every job as GITHUB_SERVER_URL, and a job runs inside the + # runner's *nested* daemon, on a network where `gitea` does not resolve. + # So it has to be an address that works from the outside: checkout and + # `docker login` from a workflow both go out and back over HTTPS. + GITEA_INSTANCE_URL: https://gitea-${APP_DOMAIN} + GITEA_RUNNER_REGISTRATION_TOKEN_FILE: /data/token + GITEA_RUNNER_NAME: gitea-runner + # Registration-time labels. runner-config/config.yaml repeats them, and + # that copy wins on every start, so an installed runner follows store updates. + GITEA_RUNNER_LABELS: ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest,ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04,ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04,docker:docker://docker:28.5-cli + CONFIG_FILE: /config/config.yaml + # DOCKER_TLS_CERTDIR is deliberately left at the image's default. Emptying + # it does not turn the nested daemon's TCP listener off — it turns the + # listener's TLS off, and 2375 then answers unauthenticated to anything + # that can reach this container. + volumes: + # .runner (the registration this runner is identified by) and the + # registration token the init step leaves for it. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/runner:/data + - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/runner-config:/config:ro + # Replaces the image's own start-up wait — see the comments in the + # script. It is declared under x-compose-app.files rather than left to + # the seed tree, because it has to arrive executable. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/runner-config/act_runner-run:/etc/s6/act_runner/run:ro + # The inner daemon's image store. Without this every restart re-pulls + # every base image a workflow uses. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/runner-docker:/var/lib/docker + networks: + - gitea-internal + + # ═══ Radicle → Gitea bridge ════════════════════════════════════════════════════ + # Verbatim from apps/Radicle-Gitea-Bridge; only its data folder moves to $AppID/bridge/. + + radicle-gitea-bridge: + image: ghcr.io/worph/radicle-gitea-bridge:0.1.0 + container_name: radicle-gitea-bridge + user: $PUID:$PGID + # Reads two HTTP APIs and runs git. Needs no capability at all. + cap_drop: [ALL] + security_opt: ["no-new-privileges:true"] + restart: unless-stopped + command: ["bridge"] + cpu_shares: 20 + deploy: + resources: + limits: + memory: 128M + environment: + TZ: $TZ + # git wants a home; the image's is root's and this runs as $PUID. + HOME: /tmp + RAD_API: http://radicle-api:8080 + GITEA_URL: http://gitea:3000 + # The Gitea account that owns the copies — the one the Gitea app creates. + GITEA_OWNER: gitea_admin + GITEA_TOKEN_FILE: /secrets/gitea-token + # A repository opts in by containing this path at its head. + OPT_IN_PATH: .gitea/workflows + # Seconds between passes. Releases are not latency-sensitive. + INTERVAL: "30" + volumes: + # One bare repository per Radicle repository: a staging copy between fetch and + # push, so a push only sends what changed. Disposable: rebuilt if deleted. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/bridge/cache:/cache + # The Gitea token the init step mints. Read-only here. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/bridge/secrets:/secrets:ro + healthcheck: + test: ["CMD-SHELL", "test -s /secrets/gitea-token && curl -fsS -o /dev/null http://radicle-api:8080/api/v1 && curl -fsS -o /dev/null http://gitea:3000/api/healthz"] + interval: 60s + timeout: 10s + retries: 3 + start_period: 30s + networks: + - pcs + + # ═══ IPCR — the IPFS container registry ════════════════════════════════════════ + # Verbatim from apps/IPCR; only its data folder moves to $AppID/ipcr/. + + # ── The registry Docker talks to ──────────────────────────────────────────── + # ipcrd: TLS front door on 127.0.0.1:4767. Passes /ipfs/ through to the stock nerdctl + # registry below, resolves /ipns/: itself, and pins every image it serves. + ipcr-gateway: + image: ghcr.io/yundera/ipcr:0.1.0 + container_name: ipcr-gateway + # Root for one reason: it writes its CA into the host's Docker trust store (the narrow + # bind below), which is root-owned. See rationale.md. + user: "0:0" + # Root needs no capabilities to write root-owned files it owns; drop them all. + cap_drop: [ALL] + security_opt: ["no-new-privileges:true"] + restart: unless-stopped + command: ["gateway"] + environment: + TZ: $TZ + TLS_DIR: /data/tls + # Docker trusts certs.d//ca.crt and re-reads it on every pull. + CA_EXPORT: /certs.d/ipcr.localhost:4767/ca.crt + # Pin every image this host pulls, so the node keeps — and re-shares — what it runs. + AUTO_PIN: "true" + volumes: + - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/tls:/data/tls + # The host's Docker trust store, so the CA above can be dropped into it: no daemon + # reload, no daemon.json edit. The parent is mounted because Compose cannot create a + # bind source whose name contains a colon (ipcr.localhost:4767). ipcrd writes exactly + # one file here. See rationale.md. + - /etc/docker/certs.d:/certs.d + ports: + # Loopback only: the client is the host's Docker daemon, which resolves ipcr.localhost + # to 127.0.0.1 (RFC 6761). Not reachable from the network, and not a web UI. + - "127.0.0.1:4767:4767" + depends_on: + - ipcr-registry + healthcheck: + test: ["CMD", "ipcrd", "health"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s + networks: + - ipcr-internal + cpu_shares: 50 + deploy: + resources: + limits: + memory: 128M + + # ── Stock nerdctl IPFS registry ───────────────────────────────────────────── + # `nerdctl ipfs registry serve`, unmodified: translates the registry API into IPFS reads. + ipcr-registry: + image: ghcr.io/yundera/ipcr:0.1.0 + container_name: ipcr-registry + # Root because nerdctl run as any other uid assumes rootless mode and refuses to start + # without a rootless containerd — which `ipfs registry serve` never uses. The service has + # no volumes and no host access; capabilities are all dropped. See rationale.md. + user: "0:0" + cap_drop: [ALL] + security_opt: ["no-new-privileges:true"] + restart: unless-stopped + command: ["registry"] + environment: + TZ: $TZ + expose: + - 5050 + depends_on: + - ipcr-kubo + healthcheck: + test: ["CMD", "ipcrd", "health", "http://127.0.0.1:5050/v2/"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s + networks: + - ipcr-internal + cpu_shares: 50 + deploy: + resources: + limits: + memory: 256M + + # ── Kubo, the IPFS node ───────────────────────────────────────────────────── + ipcr-kubo: + image: ipfs/kubo:v0.43.1 + container_name: ipcr-kubo + user: $PUID:$PGID + restart: unless-stopped + # --enable-gc: blocks nobody pinned are collected; pinned images are never touched. + command: ["daemon", "--migrate=true", "--agent-version-suffix=docker", "--enable-gc"] + environment: + TZ: $TZ + # Applied at `ipfs init` only: DHT client mode, small connection manager. Tuned for an + # always-on small box (see the Kubo store app for measurements). + IPFS_PROFILE: lowpower + GOMEMLIMIT: 768MiB + # Read by seed/init.d/01-ipcr-node.sh on every start. + IPCR_SWARM_PORT: "4768" + IPFS_STORAGE_MAX: 20GB + volumes: + - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/kubo/:/data/ipfs + # Kubo's entrypoint runs every *.sh here before starting the daemon. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/init.d/:/container-init.d:ro + expose: + # RPC API: no auth, so it never leaves the app's own network. + - 5001 + ports: + # libp2p swarm — the peer protocol, not HTTP, so Caddy cannot carry it. Without it the + # node still pulls, but nobody can fetch the images this host pins. 4001 is left to the + # Kubo store app so both can be installed side by side. + - "4768:4768/tcp" + - "4768:4768/udp" + healthcheck: + test: ["CMD-SHELL", "ipfs --api=/ip4/127.0.0.1/tcp/5001 id > /dev/null 2>&1 || exit 1"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 30s + networks: + - ipcr-internal + cpu_shares: 50 + deploy: + resources: + limits: + memory: 1024M + +networks: + pcs: + name: ${APP_NET:-pcs} + external: true + # From apps/Radicle: egress only, for the node. + radicle-internal: + driver: bridge + # From apps/Gitea: gitea ↔ runner, nothing else. + gitea-internal: + driver: bridge + # From apps/IPCR: gateway ↔ registry ↔ kubo, nothing else. + ipcr-internal: + driver: bridge + +x-casaos: + architectures: + - amd64 + main: radicle + author: Yundera + developer: Yundera + category: Developer + tags: ["developer", "git", "ci", "needs-public-ip"] + icon: icon.png + title: + en_us: IPCR Forge + tagline: + en_us: A decentralised forge in one install — Radicle, Gitea Actions and IPFS images. + fr_fr: Une forge décentralisée en une installation — Radicle, Gitea Actions et images IPFS. + description: + en_us: | + IPCR Forge is the full path from code to running container, without a central service: + + • **Radicle** holds your repositories on a peer-to-peer network. You push with `git push rad`. + • **Gitea Actions** builds them with GitHub-style workflows, triggered by a release tag. + • **IPCR** serves the resulting images from IPFS, so anyone can `docker pull` them by name. + + A repository joins the pipeline by committing a workflow under `.gitea/workflows/`: there + is nothing to configure per project. + + This app bundles the Radicle, Gitea, Radicle Gitea Bridge and IPCR apps. Install it instead + of them, not beside them. + fr_fr: | + IPCR Forge couvre tout le chemin du code au conteneur en production, sans service central : + + • **Radicle** garde vos dépôts sur un réseau pair-à-pair. Vous poussez avec `git push rad`. + • **Gitea Actions** les construit avec des workflows au format GitHub, déclenchés par un tag. + • **IPCR** sert les images produites depuis IPFS : n'importe qui peut les `docker pull`. + + Un dépôt rejoint la chaîne en ajoutant un workflow sous `.gitea/workflows/` : rien à + configurer par projet. + + Cette application regroupe les applications Radicle, Gitea, Radicle Gitea Bridge et IPCR. + Installez-la à leur place, pas à côté. + tips: + before_install: + en_us: | + **Replaces four apps.** Uninstall Radicle, Gitea, Radicle Gitea Bridge and IPCR first: + this app uses the same addresses and ports. + + | Address | What | + | --- | --- | + | `https://radicle-$APP_DOMAIN` | Radicle explorer (public) | + | `https://radicle-api-$APP_DOMAIN` | Radicle API and read-only git (public) | + | `https://gitea-$APP_DOMAIN` | Gitea: builds, logs, staging registry (`gitea_admin`) | + | `ipcr.localhost:4767` | IPCR registry, this server's Docker only | + + **Ports.** TCP 8776 (Radicle peers) and 4768 TCP+UDP (IPFS peers) are published. + + **Not wired yet:** images reach Gitea's registry automatically, but publishing them to + IPFS is still a manual `ipcr push` (see the IPCR README). + fr_fr: | + **Remplace quatre applications.** Désinstallez d'abord Radicle, Gitea, Radicle Gitea + Bridge et IPCR : cette application utilise les mêmes adresses et ports. + + | Adresse | Quoi | + | --- | --- | + | `https://radicle-$APP_DOMAIN` | Explorateur Radicle (public) | + | `https://radicle-api-$APP_DOMAIN` | API Radicle et git en lecture seule (public) | + | `https://gitea-$APP_DOMAIN` | Gitea : builds, journaux, registre de transit (`gitea_admin`) | + | `ipcr.localhost:4767` | Registre IPCR, pour le Docker de ce serveur uniquement | + + **Ports.** TCP 8776 (pairs Radicle) et 4768 TCP+UDP (pairs IPFS) sont publiés. + + **Pas encore relié :** les images arrivent automatiquement dans le registre Gitea, mais + leur publication sur IPFS reste un `ipcr push` manuel (voir le README d'IPCR). + index: / + webui_port: 8080 + store_app_id: ipcr-forge + +x-compose-app: + schema_version: 2 + folders: + # ── Radicle ── + - path: /DATA/AppData/$AppID/radicle/home + user: $PUID + group: $PGID + - path: /DATA/AppData/$AppID/radicle/caddy + user: $PUID + group: $PGID + # ── Gitea ── + - path: /DATA/AppData/$AppID/gitea/data + user: $PUID + group: $PGID + - path: /DATA/AppData/$AppID/gitea/config + user: $PUID + group: $PGID + - path: /DATA/AppData/$AppID/gitea/runner + user: $PUID + group: $PGID + mode: "0700" + - path: /DATA/AppData/$AppID/gitea/runner-config + user: $PUID + group: $PGID + - path: /DATA/AppData/$AppID/gitea/runner-docker + user: $PUID + group: $PGID + mode: "0710" + # ── Bridge ── + - path: /DATA/AppData/$AppID/bridge/cache + user: $PUID + group: $PGID + - path: /DATA/AppData/$AppID/bridge/secrets + user: $PUID + group: $PGID + mode: "0700" + # ── IPCR ── + - path: /DATA/AppData/$AppID/ipcr/kubo + user: $PUID + group: $PGID + mode: "0700" + - path: /DATA/AppData/$AppID/ipcr/init.d + user: $PUID + group: $PGID + files: + # Each entry and its reason are in the standalone listing it comes from. + - path: /DATA/AppData/$AppID/radicle/home/config.json + from: radicle/home/config.json.tmpl + ensure: always + mode: "0644" + - path: /DATA/AppData/$AppID/radicle/caddy/Caddyfile + from: radicle/caddy/Caddyfile.tmpl + ensure: always + mode: "0644" + - path: /DATA/AppData/$AppID/gitea/runner-config/act_runner-run + from: gitea/runner-config/act_runner-run + ensure: always + mode: "0755" + - path: /DATA/AppData/$AppID/ipcr/init.d/01-ipcr-node.sh + from: ipcr/init.d/01-ipcr-node.sh + ensure: always + mode: "0755" + init: + # In order: Radicle's identity before its node starts, then Gitea's admin, then the + # runner token and the bridge's credentials, which both need that admin to exist. + - name: radicle-identity + image: dirk1980/radicle-seed-node@sha256:78ccee526ad4b4f4d7c79c2323b032a7209858a48e1dc9c077272ff1660050e2 + user: $PUID:$PGID + volumes: + - /DATA/AppData/$AppID/radicle/home:/radicle-home + command: ["sh", "-c", "yes '' | rad auth --alias radicle-${APP_PUBLIC_IP_DASH} --stdin"] + when: absent:/DATA/AppData/$AppID/radicle/home/keys/radicle + - name: gitea-admin + image: gitea/gitea:1.27.3-rootless + user: $PUID:$PGID + phase: post_up + volumes: + - /DATA/AppData/$AppID/gitea/data:/var/lib/gitea + - /DATA/AppData/$AppID/gitea/config:/etc/gitea + command: + - sh + - -c + - | + timeout 240 sh -c 'until gitea admin user list >/dev/null 2>&1; do sleep 3; done' + gitea admin user create --admin --username gitea_admin \ + --password "$APP_DEFAULT_PASSWORD" --email "$APP_EMAIL" \ + --must-change-password=false \ + || echo "admin account already present, leaving it alone" + when: always + - name: gitea-runner-token + image: gitea/gitea:1.27.3-rootless + user: $PUID:$PGID + phase: post_up + network: $APP_NET + volumes: + - /DATA/AppData/$AppID/gitea/data:/var/lib/gitea + - /DATA/AppData/$AppID/gitea/config:/etc/gitea + - /DATA/AppData/$AppID/gitea/runner:/runner + command: + - sh + - -c + - | + timeout 240 sh -c 'until gitea actions generate-runner-token > /runner/token.new 2>/dev/null; do sleep 3; done' + mv /runner/token.new /runner/token + chmod 600 /runner/token + when: absent:/DATA/AppData/$AppID/gitea/runner/.runner + - name: bridge-credentials + image: ghcr.io/worph/radicle-gitea-bridge:0.1.0 + user: $PUID:$PGID + phase: post_up + network: $APP_NET + volumes: + - /DATA/AppData/$AppID/bridge/secrets:/secrets + command: + - sh + - -c + - GITEA_PASSWORD="$APP_DEFAULT_PASSWORD" bridge-init + when: absent:/DATA/AppData/$AppID/bridge/secrets/gitea-token + webui-host: radicle-${domain} + webui-path: / diff --git a/Apps/IPCR-Forge/icon.png b/Apps/IPCR-Forge/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6d092fba42025cb63421009616328aa5253158b4 GIT binary patch literal 11528 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

~zR~rfNUSj*dNm&9QWo`|gQT|t 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 Z&(@OyIv0vOQPgID>Km=swTf0@{|Ao3=t2Mh literal 0 HcmV?d00001 diff --git a/Apps/IPCR-Forge/seed/gitea/runner-config/act_runner-run b/Apps/IPCR-Forge/seed/gitea/runner-config/act_runner-run new file mode 100644 index 0000000..ae63df8 --- /dev/null +++ b/Apps/IPCR-Forge/seed/gitea/runner-config/act_runner-run @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# Replaces the image's own /etc/s6/act_runner/run. Two waits, both of which the +# stock script gets wrong for this deployment. +# +# 1. The nested Docker daemon. Upstream waits for it through s6's readiness +# notification. On a cold start with a warm image store dockerd takes longer +# than s6-notifyoncheck's window, the notification never arrives, s6 marks +# the service permanently failed, and act_runner sits blocked in +# `s6-svwait -U` for two to four minutes before s6 gives up and lets it past +# anyway. The runner shows "offline" in the forge for that whole time and +# picks up no jobs. Asking the daemon directly is the same wait without the +# guesswork. +# +# 2. The registration token. It is minted by an init step that runs after the +# stack is up, so on a first install it does not exist yet when this +# container starts — and the stock entrypoint reads the token file exactly +# once, before its retry loop, so a token that arrives late is never seen. + +while [ ! -d /etc/s6/docker/supervise ]; do + sleep 0.1 +done + +while ! docker info >/dev/null 2>&1; do + sleep 1 +done + +while [ ! -s "${GITEA_RUNNER_REGISTRATION_TOKEN_FILE:-/data/token}" ] && [ ! -s /data/.runner ]; do + echo "waiting for the runner registration token" + sleep 2 +done + +exec run.sh diff --git a/Apps/IPCR-Forge/seed/gitea/runner-config/config.yaml b/Apps/IPCR-Forge/seed/gitea/runner-config/config.yaml new file mode 100644 index 0000000..9da8334 --- /dev/null +++ b/Apps/IPCR-Forge/seed/gitea/runner-config/config.yaml @@ -0,0 +1,40 @@ +# act_runner configuration. Only the settings that differ from upstream's +# defaults are written out — `act_runner generate-config` prints the full set. + +log: + level: info + +runner: + # The file the runner's own registration is kept in, relative to /data. + file: .runner + # One job at a time. A PCS shares its CPU with everything else installed on + # it, and an image build is the least polite thing on the box. + capacity: 1 + timeout: 1h + fetch_timeout: 5s + fetch_interval: 2s + # Overrides the labels stored at registration (.runner). These are upstream + # act_runner defaults: Gitea's own job images, which carry node, bash, git + # and the docker CLI with buildx, so marketplace actions (actions/checkout, + # docker/build-push-action, ...) run as they do on GitHub. The registration + # labels pointed at node:22-bookworm, which has no docker CLI. + labels: + - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" + - "ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04" + - "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04" + - "docker:docker://docker:28.5-cli" + +cache: + # The cache server binds an address inside the runner container, which the + # job containers — created by the Docker daemon nested inside that same + # container — cannot route to. Left on, every `actions/cache` step fails + # noisily instead of being skipped. + enabled: false + +container: + # Jobs run on the runner's own nested daemon, on its default bridge: they + # reach the internet, and they reach Gitea the way anything outside would, + # through its public address. + network: bridge + privileged: false + force_pull: false diff --git a/Apps/IPCR-Forge/seed/ipcr/init.d/01-ipcr-node.sh b/Apps/IPCR-Forge/seed/ipcr/init.d/01-ipcr-node.sh new file mode 100644 index 0000000..12fc284 --- /dev/null +++ b/Apps/IPCR-Forge/seed/ipcr/init.d/01-ipcr-node.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# Run by Kubo's entrypoint before every daemon start (after `ipfs init` on the first one), +# so a store update that changes these values reaches an installed node. +set -e + +# libp2p swarm on 4768 rather than Kubo's 4001: the Kubo store app already publishes 4001 and +# two apps cannot publish the same host port. Listening on the published port itself (instead of +# mapping 4768→4001) keeps the addresses the node announces dialable. +P=${IPCR_SWARM_PORT:-4768} +ipfs config --json Addresses.Swarm "[ + \"/ip4/0.0.0.0/tcp/$P\", \"/ip6/::/tcp/$P\", + \"/ip4/0.0.0.0/udp/$P/quic-v1\", \"/ip6/::/udp/$P/quic-v1\", + \"/ip4/0.0.0.0/udp/$P/quic-v1/webtransport\", \"/ip6/::/udp/$P/quic-v1/webtransport\", + \"/ip4/0.0.0.0/udp/$P/webrtc-direct\", \"/ip6/::/udp/$P/webrtc-direct\" +]" + +# Soft cap on the block store. Pinned images are never collected; with --enable-gc everything +# else (blocks fetched but not pinned) is swept every Datastore.GCPeriod. +ipfs config Datastore.StorageMax "${IPFS_STORAGE_MAX:-20GB}" diff --git a/Apps/IPCR-Forge/seed/radicle/caddy/Caddyfile.tmpl b/Apps/IPCR-Forge/seed/radicle/caddy/Caddyfile.tmpl new file mode 100644 index 0000000..9d83309 --- /dev/null +++ b/Apps/IPCR-Forge/seed/radicle/caddy/Caddyfile.tmpl @@ -0,0 +1,20 @@ +# Serves the Radicle Explorer single-page app. +# +# Port 8080, not 80: the installer runs every service as an unprivileged user, and +# such a process cannot bind a port below 1024. The image's own Caddyfile +# listens on :80, so this file replaces it. +:8080 { + root * /usr/share/caddy + + # The explorer bundle ships with the public Radicle seeds compiled into it, so + # "/" would open on the public network rather than on this server's node. This + # sends the entry point to the node page of the API served alongside it. Every + # other path is left alone, so the wider network stays browsable. + redir / /nodes/radicle-api-${APP_DOMAIN} + + # The explorer is a client-side router: /nodes/..., /repos/... and friends must + # resolve to the app shell rather than to a 404. + try_files {path} /index.html + file_server + encode gzip +} diff --git a/Apps/IPCR-Forge/seed/radicle/home/config.json.tmpl b/Apps/IPCR-Forge/seed/radicle/home/config.json.tmpl new file mode 100644 index 0000000..bc67dec --- /dev/null +++ b/Apps/IPCR-Forge/seed/radicle/home/config.json.tmpl @@ -0,0 +1,15 @@ +{ + "preferredSeeds": [ + "z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.dev:8776", + "z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@seed.radicle.garden:8776", + "z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@ash.radicle.garden:8776" + ], + "node": { + "alias": "radicle-${APP_PUBLIC_IP_DASH}", + "listen": ["0.0.0.0:8776"], + "externalAddresses": ["radicle-${APP_PUBLIC_IP_DASH}.sslip.io:8776"], + "seedingPolicy": { + "default": "block" + } + } +} diff --git a/Apps/Radicle/docker-compose.yml b/Apps/Radicle/docker-compose.yml new file mode 100644 index 0000000..79a64e9 --- /dev/null +++ b/Apps/Radicle/docker-compose.yml @@ -0,0 +1,334 @@ +name: radicle + +services: + # The web UI: the Radicle Explorer bundle served as static files by Caddy. + # It is a pure client-side app — every request it makes goes from the visitor's + # browser straight to the API below, which is why that one needs its own domain. + radicle: + image: dirk1980/radicle-explorer-container@sha256:0e31485c38a765e83a10b1a4bf71b12d4f9fec630881d171bba736a4a56a16ce + container_name: radicle + user: $PUID:$PGID + restart: unless-stopped + cpu_shares: 80 + deploy: + resources: + limits: + memory: 128M + environment: + TZ: $TZ + # Caddy writes its autosaved config and its (unused here) certificate store + # under these two paths. The image points them at /config and /data, which are + # root-owned, so as $PUID the process cannot create them and refuses to start. + XDG_CONFIG_HOME: /tmp/caddy-config + XDG_DATA_HOME: /tmp/caddy-data + volumes: + # Replaces the image's own :80 Caddyfile — see the comments in that file. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/caddy/Caddyfile:/etc/caddy/Caddyfile:ro + healthcheck: + test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8080/"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 15s + expose: + - 8080 + labels: + caddy_0: radicle-${APP_DOMAIN} + caddy_0.import: gateway_tls + caddy_0.reverse_proxy: "{{upstreams 8080}}" + caddy_1: radicle-${APP_PUBLIC_IP_DASH}.nip.io + caddy_1.import: gateway_tls + caddy_1.reverse_proxy: "{{upstreams 8080}}" + caddy_2: radicle-${APP_PUBLIC_IP_DASH}.sslip.io + caddy_2.reverse_proxy: "{{upstreams 8080}}" + networks: + - pcs + + # radicle-httpd — the node's read-only JSON API, on its own domain. + # + # This domain is deliberately NOT behind the SSO gate: the explorer above is a + # static bundle running in the visitor's browser, so it is the browser that calls + # this API, cross-origin. The daemon serves public repositories only (private ones + # are filtered out upstream) and has no write endpoints at all. See rationale.md. + radicle-api: + image: dirk1980/radicle-httpd@sha256:5e95be30e4bde55b509a65fd56f8b825cafd0f5cd752c1a13e79aad75b958895 + container_name: radicle-api + user: $PUID:$PGID + restart: unless-stopped + cpu_shares: 70 + deploy: + resources: + limits: + memory: 512M + command: ["--listen", "0.0.0.0:8080"] + environment: + TZ: $TZ + volumes: + # Same Radicle home as the node: the daemon reads the repository storage + # directly and talks to the node over the control socket inside it. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/home/:/radicle-home/ + healthcheck: + # curl, not wget: this image carries curl and no busybox. + test: ["CMD", "curl", "-fsS", "-o", "/dev/null", "http://127.0.0.1:8080/api/v1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 15s + expose: + - 8080 + labels: + caddy_0: radicle-api-${APP_DOMAIN} + caddy_0.import: gateway_tls + caddy_0.reverse_proxy: "{{upstreams 8080}}" + caddy_1: radicle-api-${APP_PUBLIC_IP_DASH}.nip.io + caddy_1.import: gateway_tls + caddy_1.reverse_proxy: "{{upstreams 8080}}" + caddy_2: radicle-api-${APP_PUBLIC_IP_DASH}.sslip.io + caddy_2.reverse_proxy: "{{upstreams 8080}}" + networks: + - pcs + + # The node itself: speaks the Radicle peer-to-peer protocol (gossip, fetch, + # announce) on TCP 8776. No HTTP, so no Caddy route and no place on the shared + # network — it only needs egress, which the app-internal bridge provides. + radicle-node: + image: dirk1980/radicle-seed-node@sha256:78ccee526ad4b4f4d7c79c2323b032a7209858a48e1dc9c077272ff1660050e2 + container_name: radicle-node + user: $PUID:$PGID + restart: unless-stopped + cpu_shares: 50 + deploy: + resources: + limits: + memory: 1G + environment: + TZ: $TZ + volumes: + - ${DATA_ROOT:-/DATA}/AppData/$AppID/home/:/radicle-home/ + ports: + # Radicle peer-to-peer protocol. Other nodes dial in here to fetch the + # repositories this node seeds; without it the node still syncs outbound, + # but nobody can fetch from it. Hence the needs-public-ip tag. + - "8776:8776" + healthcheck: + # `rad node status` round-trips the node's control socket, which is the only + # liveness signal this container has — but it also renders the peer table, and + # that takes 3-8s on an idle node and longer while the node is syncing. Hence + # the unusually generous timeout: a 10s one fails during the first sync and + # flaps the container between healthy and unhealthy. + test: ["CMD", "rad", "node", "status"] + interval: 60s + timeout: 30s + retries: 3 + start_period: 90s + networks: + - radicle-internal + +networks: + pcs: + name: ${APP_NET:-pcs} + external: true + # Egress-only network for the node. Nothing else joins it — the node and the + # API daemon share state through the Radicle home directory, not over TCP. + radicle-internal: + driver: bridge + +x-casaos: + architectures: + - amd64 + main: radicle + developer: Radicle + category: Developer + tags: ["developer", "personal", "needs-public-ip"] + description: + en_us: | + Radicle — your own peer-to-peer forge + + Radicle is a sovereign alternative to GitHub and GitLab. Instead of a company's server holding the canonical copy of your code, every participant keeps a full replica and gossips changes directly to peers. Repositories, issues and patches are all Git objects, signed by their author and replicated across the network — there is no central service to go down, change its terms, or lock you out. + + This app runs a complete Radicle node on your server, plus the official Radicle Explorer web interface to browse it: + + • Your node stays online and keeps your repositories available even when your laptop is not + • Anything you push from your machine is replicated here and served to the network + • Issues, patches and code are browsable in your own web UI, on your own domain + • Anyone can clone your repositories over plain HTTPS, no account required + + The web interface is for browsing. Creating repositories, opening issues and proposing patches happen with the `rad` command line on your own machine — the node here is what keeps them alive and reachable. + + Repositories are only replicated once you seed them. A fresh node starts empty and stores nothing until you tell it what to follow. + fr_fr: | + Radicle — votre forge pair-à-pair + + Radicle est une alternative souveraine à GitHub et GitLab. Plutôt qu'un serveur d'entreprise détenant la copie de référence de votre code, chaque participant conserve un réplica complet et propage ses modifications directement à ses pairs. Dépôts, tickets et patches sont tous des objets Git, signés par leur auteur et répliqués sur le réseau — aucun service central ne peut tomber, changer ses conditions ou vous verrouiller dehors. + + Cette application fait tourner un nœud Radicle complet sur votre serveur, ainsi que l'interface web officielle Radicle Explorer pour le parcourir : + + • Votre nœud reste en ligne et garde vos dépôts disponibles même quand votre portable ne l'est pas + • Tout ce que vous poussez depuis votre machine est répliqué ici et servi au réseau + • Tickets, patches et code se consultent dans votre propre interface web, sur votre domaine + • N'importe qui peut cloner vos dépôts en HTTPS, sans compte + + L'interface web sert à consulter. Créer des dépôts, ouvrir des tickets et proposer des patches se fait avec la ligne de commande `rad` sur votre machine — le nœud installé ici est ce qui les maintient vivants et accessibles. + + Les dépôts ne sont répliqués qu'une fois que vous les suivez. Un nœud neuf démarre vide et ne stocke rien tant que vous ne lui avez rien indiqué. + zh_cn: | + Radicle — 属于你自己的点对点代码托管 + + Radicle 是 GitHub 与 GitLab 的自主替代方案。代码的权威副本不再由某家公司的服务器保管,而是每个参与者都持有完整副本,并直接向对等节点传播更改。仓库、议题和补丁都是 Git 对象,由作者签名并在网络中复制——没有中心服务会宕机、修改条款或将你拒之门外。 + + 此应用在你的服务器上运行一个完整的 Radicle 节点,并附带官方的 Radicle Explorer 网页界面: + + • 节点持续在线,即使你的笔记本关机,仓库依然可用 + • 你从本机推送的内容会复制到这里,并向网络提供服务 + • 议题、补丁和代码都可以在你自己的域名下浏览 + • 任何人都可以通过 HTTPS 克隆你的仓库,无需账户 + + 网页界面用于浏览。创建仓库、提交议题和提出补丁请在本机使用 `rad` 命令行完成——这里的节点负责让它们保持在线、可被获取。 + + 仓库只有在你选择跟随(seed)之后才会被复制。全新节点启动时是空的,在你指定之前不会存储任何内容。 + icon: icon.png + screenshot_link: + - screenshot-1.png + - screenshot-2.png + - screenshot-3.png + tagline: + en_us: Your own peer-to-peer Git forge — a Radicle node and web explorer on your domain. + fr_fr: Votre forge Git pair-à-pair — un nœud Radicle et son explorateur web sur votre domaine. + zh_cn: 你自己的点对点 Git 托管——运行在你域名下的 Radicle 节点与网页浏览器。 + thumbnail: thumbnail.png + tips: + before_install: + en_us: | + This app is public on purpose + + A Radicle node is a participant in a public peer-to-peer network. Both of + its addresses are served directly to the public, bypassing the server's + single sign-on: + + | Address | What it serves | + | ------- | -------------- | + | `https://radicle-$APP_DOMAIN` | The web interface | + | `https://radicle-api-$APP_DOMAIN/api/v1` | The read-only API the interface calls | + + Only **public** repositories are served, the API has no write endpoints, and + a fresh node holds nothing until you seed something. See `rationale.md`. + + Connecting your machine + + Install the `rad` CLI from [radicle.dev](https://radicle.dev), then push a + repository and tell this node to seed it. Your node's identity (its Node ID) + is printed at `https://radicle-api-$APP_DOMAIN/api/v1` under `nid`. + + Peer-to-peer port + + The node publishes TCP **8776** so other peers can fetch from it. On a server + without a directly reachable public IP the app still works — your repositories + replicate outward to public seeds — but nobody fetches from you directly. + fr_fr: | + Cette application est publique, volontairement + + Un nœud Radicle participe à un réseau pair-à-pair public. Ses deux adresses + sont servies directement au public, en contournant l'authentification + unique du serveur : + + | Adresse | Ce qu'elle sert | + | ------- | --------------- | + | `https://radicle-$APP_DOMAIN` | L'interface web | + | `https://radicle-api-$APP_DOMAIN/api/v1` | L'API en lecture seule appelée par l'interface | + + Seuls les dépôts **publics** sont servis, l'API n'a aucun point d'écriture, et + un nœud neuf ne contient rien tant que vous n'avez rien suivi. Voir + `rationale.md`. + + Connecter votre machine + + Installez la CLI `rad` depuis [radicle.dev](https://radicle.dev), puis poussez + un dépôt et demandez à ce nœud de le suivre. L'identité de votre nœud (Node ID) + est affichée sur `https://radicle-api-$APP_DOMAIN/api/v1`, champ `nid`. + + Port pair-à-pair + + Le nœud publie le port TCP **8776** pour que les autres pairs puissent récupérer + ses dépôts. Sur un serveur sans IP publique directement joignable, l'application + fonctionne quand même — vos dépôts se répliquent vers les seeds publics — mais + personne ne récupère directement chez vous. + zh_cn: | + 此应用有意保持公开 + + Radicle 节点是公开点对点网络的参与者。它的两个地址都直接向公众开放, + 绕过服务器的单点登录: + + | 地址 | 提供的内容 | + | ---- | ---------- | + | `https://radicle-$APP_DOMAIN` | 网页界面 | + | `https://radicle-api-$APP_DOMAIN/api/v1` | 界面调用的只读 API | + + 仅提供**公开**仓库,API 没有任何写入接口,全新节点在你指定跟随之前不含任何内容。 + 详见 `rationale.md`。 + + 连接你的机器 + + 从 [radicle.dev](https://radicle.dev) 安装 `rad` 命令行,然后推送仓库并让此节点 + 跟随它。节点身份(Node ID)显示在 `https://radicle-api-$APP_DOMAIN/api/v1` 的 + `nid` 字段。 + + 点对点端口 + + 节点公开 TCP **8776**,供其他对等节点抓取。若服务器没有可直接访问的公网 IP,应用 + 仍可使用——你的仓库会向公共 seed 节点复制——但别人无法直接从你这里抓取。 + title: + en_us: Radicle + index: / + webui_port: 8080 + store_app_id: radicle + +x-compose-app: + schema_version: 2 + folders: + - path: /DATA/AppData/$AppID/home + user: $PUID + group: $PGID + - path: /DATA/AppData/$AppID/caddy + user: $PUID + group: $PGID + init: + # Creates the node's Ed25519 identity. Radicle has no first-run wizard: without + # a key pair in the Radicle home, radicle-node exits immediately. `rad auth` + # prompts for an optional passphrase, hence the empty line on stdin — a seed + # node's key secures peer connections and signs nothing permanent, so upstream's + # own guidance is to leave it unencrypted (a passphrase would have to be typed + # in at every start). + - name: init-identity + image: dirk1980/radicle-seed-node@sha256:78ccee526ad4b4f4d7c79c2323b032a7209858a48e1dc9c077272ff1660050e2 + user: $PUID:$PGID + volumes: + - /DATA/AppData/$AppID/home:/radicle-home + command: ["sh", "-c", "yes '' | rad auth --alias radicle-${APP_PUBLIC_IP_DASH} --stdin"] + when: absent:/DATA/AppData/$AppID/home/keys/radicle + files: + # The node's config carries the deployment's own addresses, so it is re-rendered + # on every up rather than frozen at install. `rad auth` above writes a default + # config.json first; this replaces it with ours and keeps it in step if the PCS + # domain or public IP ever changes. + # + # It also carries the bootstrap seeds, and those are NOT the compiled-in defaults. + # radicle 1.10 ships `iris.radicle.network` / `rosa.radicle.network`, whose IPv4 + # addresses refuse connections on 8776 (verified from two networks, 2026-09-04) — + # a node configured with them never finds a peer. The same two nodes answer under + # their previous hostnames, which is what this file uses; radicle logs a rename + # warning for them and keeps working. Revisit when upstream's new addresses accept + # peer traffic again. + - path: /DATA/AppData/$AppID/home/config.json + from: home/config.json.tmpl + ensure: always + mode: "0644" + # Carries this deployment's API domain in a redirect, so it is re-rendered too. + - path: /DATA/AppData/$AppID/caddy/Caddyfile + from: caddy/Caddyfile.tmpl + ensure: always + mode: "0644" + # The landing path is handled by the Caddy redirect above, not here: neither + # `webui-path` nor `x-casaos.index` is interpolated, so a ${...} written in + # either reaches the browser as a literal. + webui-host: radicle-${domain} + webui-path: / diff --git a/Apps/Radicle/icon.png b/Apps/Radicle/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..27878ad0154d8fad22a59c38cac7c3faa09cfa06 GIT binary patch literal 4099 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 literal 0 HcmV?d00001 diff --git a/Apps/Radicle/rationale.md b/Apps/Radicle/rationale.md new file mode 100644 index 0000000..3650d99 --- /dev/null +++ b/Apps/Radicle/rationale.md @@ -0,0 +1,85 @@ +# Radicle — Rationale + +## What deviation / exception is being requested + +Two, both on the security checklist: + +1. **No authentication gate.** Neither of the app's two domains (`radicle-`, the + web UI, and `radicle-api-`, the JSON API) is behind AppShield/Authelia or any + other login. +2. **A published host port.** `8776/tcp` is bound on the host so peers on the Radicle + network can dial in. + +## Why it is necessary + +**A Radicle node is a public participant in a public network.** Radicle is peer-to-peer +Git: repositories are replicated between nodes and served to anyone who asks. A node +nobody can reach is not a degraded Radicle node, it is not a Radicle node at all. The +same is true of the API: `radicle-httpd` is the read side of that participation. + +**The web UI cannot be gated separately from the API.** Radicle Explorer is a static +bundle that runs entirely in the visitor's browser; every piece of data it shows is +fetched by *the browser* from `radicle-api-`, cross-origin. Putting the SSO gate +in front of the UI while the API stayed open would gate nothing — the data would remain +readable at the API domain — while adding a login page and a sidecar container. It would +be a padlock drawn on the door, not a lock. + +**Port 8776 is the protocol.** Radicle's peer protocol is not HTTP, so Caddy cannot carry +it. Without the published port the node still pushes outward to public seeds, but no peer +can ever fetch from *this* node — the one thing the user installed it for. The app is +tagged `needs-public-ip` so that this is visible before install. + +## Security mitigations in place + +- **Only public repositories are served.** `radicle-httpd` filters its repository + listings and lookups on `visibility().is_public()`; a repository created with + `rad init --private` is not listed and not reachable through the API. Nothing the user + has not published is exposed. +- **The API is read-only.** As of `radicle-httpd` 0.25 the daemon has no session, + authentication or write endpoints at all — its whole surface is `GET` over + `/repos`, `/node`, `/delegates`, `/stats`. There is nothing to authenticate *to*, + and no request can change state on the server. +- **The node stores nothing by default.** The shipped configuration sets + `seedingPolicy.default = block`: a fresh node replicates nothing until the user + explicitly seeds a repository with `rad seed `. It cannot be used as an + unbounded drop box for whatever the network gossips at it. +- **The web UI is not a control surface.** It only browses. Creating repositories, + issues and patches requires the `rad` CLI and the user's own signing key, which never + leaves their machine. +- **Ordinary container hardening.** All three services run as `$PUID:$PGID`, never root; + each has a memory limit and a CPU share; only the two HTTP services join the shared + `pcs` network, and the node — the one with the published port — sits on an app-private + bridge with no route into the rest of the deployment. +- **No credentials to leak.** The node's key pair is generated on the server and is used + to secure peer connections; it signs nothing permanent. Upstream's own seed-node guide + recommends leaving it without a passphrase for exactly this reason, since a passphrase + would have to be supplied on every start. + +## Alternatives considered and rejected + +- **AppShield in front of the web UI only** — rejected: the data is served by the API + domain, which must stay open for the UI to work at all, so the gate would protect + nothing while implying that it did. Misleading security is worse than none. +- **AppShield in front of both** — rejected: it breaks the app. The browser's + cross-origin calls from the UI domain to the API domain carry no SSO session, and a + peer or a `git clone` cannot log into Authelia either. +- **Not publishing 8776** — rejected as the default: it turns the node into a + write-only client that no peer can fetch from. Users whose PCS has no reachable public + IP still get a working app (repositories replicate outward), which is what the + `needs-public-ip` tag communicates. +- **A permissive seeding policy** (`default: allow`) — rejected: it would make every + install replicate whatever the network offers onto the user's disk without them + asking. + +## Data protection + +All state lives in `/DATA/AppData/radicle/`: `home/` (the node's key pair, repository +storage, policy and COB databases) and `caddy/` (the web server config). Both survive +uninstall/reinstall, so the node keeps its identity — its Node ID — across the app +lifecycle; losing that key would mean losing the node's identity on the network, so +nothing in the app ever regenerates it once present. + +Repository content in `storage/` is Git object data that the user chose to seed. It is +public by definition, signed by its authors, and verified on fetch: a peer cannot alter +what this node serves, because every ref is signed by the key of the delegate that +published it. diff --git a/Apps/Radicle/screenshot-1.png b/Apps/Radicle/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..81b213faf55fcef1199f966598fefa8cbe04d189 GIT binary patch literal 104741 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 DrB?h?djv!ic!zYC@sw& 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 z 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 literal 0 HcmV?d00001 diff --git a/Apps/Radicle/screenshot-2.png b/Apps/Radicle/screenshot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ec11aaf32d5646e1b639629b6c5f49a3448380f4 GIT binary patch literal 52286 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

;_CC@h^w6I8y;CpESCyx zJHcPgJ*5i=<54 {HxoL{ksF@m*JmAQv)top}y40L}J{2>633%EtoZN9{pRnaUpc zoOdQ7^k6K;9ozY!PemUSa4?`US&4fwF)@8#zx7MY$j;{)lL{qX6cUH|`CRPKneF&Xo6f(YXJ?!;wc3@T3E8ERay z_7x+~D4mUj@Hc^k1>)t2!$)fRtn?YD&TyynCukC1b-1b+DKJ~c;2GM|RrE?i-&T+> zK(gEx5Ua3OQh^Z0g>n_+O;*luejAc?=@3@>u@cRNF~7Ei*EOSA=cJ2`@P-@Z%} zbPuetPQfKu2@3B+XSG#``{3?kYtfX^S|#5HPe5wbo+IN$4D<5*x1Zc9Jfs6QmVMhE&L6pg~WxL0M0Nu^C= zq~|1TDXM5ozfZBtf9^R{o1`kmF%~AkNJV%ZX{W!pb}NPk`6tXXxX>CKD@137XFONK z&etTYRk9i-rA0c^8>v>-5?okRud_g5FSjSbLN^^EiA=RTG_Jln`XDD~($>KMz!kAQ z{c4Y}9{n)tzQEdkK)SfNF8$y$hKC=!Jywk|o+p>dTaPVS%f4E#T;PTFT+2C@--mtZPAa{4;oXl@R-5EmIpO7y>73bPO%Ii$s7d*tN)f@y^(oz1dqIPt3%yA%lM&?-qU~;S0 zlQM5UCHQQRw3d*et2KWsjZG*Fc9ES`OAEl_8nU3cD_HtzF-j1_p>pff7bL{<5*V%@ zpI)0!ovEa7d7qoRz8B0|TU#@~odaJHU&0z527ej%#*hp6q~T!rwv`*vCyChF{Okz+ z4(ZWqTrxO1Y%VS_GBc9_G#u|k)P1+*4cs*Csiu3C^Q5HZU$6_;kIdgY%{&YALAnK`84!_>AdJJz-1ik{thLVbx{&z&dS>$w)9?Jg@n|SR0Lkjx)vJ$9ex9%{ z8}(xSl7aI_*XEt>lV`Pv`;CD?DWxz~C-oB<$xI9fY3d6H!OF#YN(IS9E3%kRs+gJf z%{KS{f;)_ zBs*PS6~v_);Ly6kRIJVnK_AdVp*m$A8?Hj_5$Uh$a5V1VK9lKCoUZlax%jj?!NF(T zHMAT~DIT)$J~IZFwZp*$jbS{J;KXY;_EoROeqN95a~f<0a}LNnT(?Fd-eo+z8T4s? z<^uIbUjD}1&-aq2B=>%gw+(L{4}Vy|0G^~>DM9`$RO2qrv)2fF(K?saNF5Zd|9L>X zk=2LFFeY!Hfrj%UQc!V(I^AZnRIVK=ekmkv343AJuT z;6Gw!PMmRQmR5FT*8O2Cce>7V^H%)AKxV6E1VbK|DbqlOhOo)v!rsw|=|B*z9%>3F z3180F*H?a)T5fUFk{6fkdBWUhPD5zUU2r><);oCESm}MIA7nKO)xZ}+`t%5)=ko7S z-U)SBe`?Se9L+;F)4ySUihJ4`^iiBnRCIddge_K&!pD%!55X>~XJaC^C35$l&BqIt z8K**?$?OntN0mxzTaYMEVJ&>NwG%38C!eTKQ+)xmeRg zd}M{T5~k)lF*vtm13t8OladwsM%af^_?i!6`UISRSuC!d>uO5wf7L!&jw-xI`OE?a z@m-4Kp?o|Y9A2~d>IZ!hhj+rZ+tW{{4)wsUfX))?CAxy}1A)n!98V{IjP}UnpP

%}MG0muXImOit&$I>RV1-E*xiv@XjV8uzIuddixwdN0rJ4XjtL4kwjQ3B0`| zyRLf63%XtI;jn+KWu$#Q+fj|cL@TBX_GEVruMK3TjxJIQ+1|W3p*BXHkFx1BzO$P| zuZ(R^lB_}(vJ2RBD#Dvdu4GONvKsd!$R~bmzkom>O@6)!bvzUit~*nyn(Rp~%nP{5 z0ws&RiItc8tG-2(mAQ=><*RuayY)F1HVVB#iA?`E$+Wl*=xnF4`gf!hK`GyU?;81l(NAw%XY-=VEiy1Wk9FQlZfVcsVg86IUdWTFreCZ)i|)z$bSg$OChs2zj# zv8sE|p6Oh`+%_i?$bAT+f=>lpN#4#Dwa%S5K4qORMTd!ScM(gF>NbthPR*J*Foo8-7|`$Y#Z}x3h)s zCj1k$p+8BCJHD|{cjoK5jOigSbpN5Hc?-)Cz0JT!MrHbZv{oT)`_oopux_+Z?A$?b zC2ud)nX+G!`x5a)iZ>I&t;CNlPj`jde{#j@>2TuhF*IJoiXd zRqfDrcxEO|Y!}uF(CI&QE~Kk)qq(*6#oGFM-7OEO(=+|rcP++qv0BL)%4TSWAgQc* zMfDiwOac-T2$z&0i)OL$xu2usgVNGxH?gtJjPBt)-k!0^ifi{co^Zp(#v*2o5g0A| zyoel&%y~2>CSbE-`g`wfIGGqxr!1A-Ohs&z7>z`0;IY-8jHb4I!#Z!g5>2_|jqwW^ zq36$)GkwoQ7N<$Q&bTQe0-p|3ZR-nUnG!?^A(3N!xo+P}p!A3S^~D&TQ0T>62@BVr`3aix&x2?C~BIC_ANyz;d53sawD@TOkyeU;jXX)Zd3W zN)>RfP#T#DIvwx=<}XifwfZIz9HzUj<6smlP4GaO%E!kCFcFEX_!s`{x)ST(Ri6u6 z*hLugCdE@mNLBuRpO<%L^kIq3=W~lO=e7 zvc;{o{WHc@@al|&fPHGhzhU-5`raQOjERD9S7x91CXH{FdO~T;c%>@8*lmuba#f@` zru7Tg7>5;+SRQXG1}MO|y4Ta@e@m7JFZ^gP?i-P-&*8~w;hTty%yWo+S|0-oOYJ@# zStJc4H-bvX>C10xZV?OEzYCXLwgv{xtFDKv@Y zNKA~UP2=FG{D_~QKNm|8P#wd9ez|k4A`+4x$}1}ujU&Ai6BEPJImdsH8XCIMKz0<< zL|)hIzy_?VPESt<$|ZfU@wVVieitRyaMiP{Na_QB{N3*%mSV z=EHi2`=gjA(DY{~-J-@qxL0#~oLUN3tYmu;8D~X5S>(!0Lv2eb`SVE#%CSUMB0m{h zICj3Eg9CT>Xruc_2z>&-(@lDD)B^zltwPNLOBSO_cOEc7IX;LJTvV;NV&r{Ll@GV9 znz*6MPF0d5z;)c$RX#V0hqr-%jP=UIFr&;2y}VVoIrPdSO*>k>8ni5=a4A0pHBcJ$ zoqy@=-8!?IK5!crkx%8N@(|GS^=&M9c3b<08F85aG;t_LmdG02HY{M)DGiF)2Qt;P z6jO1evj!da=H3Erd_ZoQK&ECNMgFKYz{!H<>7`tbH~3UlRmr%VaY1m>II~nG9lE)) z@j)WfcoR_j5J-g!!X99O#&sr`*CBO=11)H!@X~C_9E6BueBM-)0(R}Q=yU@w8!O-b z{(jeuk@p1j9S_L85<5G4Y{x75eo&NgwjVr6o6L$t3=V#wnQk~(-&08u_D`#=^<-2? zlMQ)z3!P|UVId6^tmOQ*Hwg$xWq{W^h*`f56&hi%!{Wp5E?SMAPS=(5NARXc{Ldoq z5fBvX*CiEd6l#yALVuJQ>)dng&WOFxxBum{&cO#_8p-+#;10nP5$9GhOvCW8j(aIxI!1nycMn_M-@JL6yh6v%{~l-uHel*K zh0gC>Ryn@Lq{xS@1SE4lfMYA+ z?z{?yHuA#|c4n<697NfyabMx`pFi3)l#+?uIb3A8*Ez&A@_b=+wPTehm&)9ItSrH1E;Km5E*f73`e$wkMlCaTAs5_EuX_zlJKS7$I+c zJO0gwhlrBGdpo?NMxj?2RCY%r_-}qUzhSg_R!q<+j{z;VXE<~DJ6vvK+M zH4#m>@X+CSE%+mhTG)NZboZ*&7uEKP2q&QJ-~#(T&1=N7?cQ@tP)#qZYfS+lX8EK8 zhD9lV3F8+h_-}Zcuf9yG4E}H!PBD4yr(FZR7yr17+pqg+jBJmLy4<$Icy%YE_bko#03-9MqbplRr@jjCip z-=iml9rs`6sP1Q=QG1lwAKzor9`#o?0Av|0jNU@lAjABYtCkZGX##s36 z!)4@U+d6sDl*1FPNe#4uOSo$KznZk65{cH9g zuenTz`ay)M4noR?%#VjP-+r{CQHwUZ{FQ;&baHln%)k%}#{R&4_nCT;Zr4^CUUGH0 z3-Tpn6zz$!9TOuX0hxNrz+5qHpm5W8C`n(kwt;;}WhG&MzvA;Jc}qS@iK-0pA+7Eu z$y~N0W+tW!dnfzeTPIPeck*7sgwzXS+_+7F#^TiMkEe<0;{HMRm0>vf8G&xeePQ84 z4f4LECRz0ngTRQCoA2V|nP~BR1>j3Yz7mf+BGVUIuXb0);~Tq?w9jQBxsmuYy8(GY zl&qR1t3^8EJmy1=DXB~9R&+G6ss(0C`Q_I_q5?I>x4aaI`)Bbn99o)R{r`myzer|2 z!Pr*E?)J%9n9o@3q_$Y#Jxh&dgD$ z{fi#6du~0=iLN1Al7xOe-aMD0*;?#bd%E49R@;-g)s&ZlWxS<~<4#;N@879&ly0S` zSoq2vgc*^6ZApvQ?X6)0$dO(Yio>v2bi^@|wCI-gEr4+v#7GHeIA4Y%ed-zT^ zhg<6a-+29?>Xm-|uZ*i*e{Xeo zC+=SaTSV;|M^q)V(tI2#rt$5&8hLPVrA6n7@c^;@u0yLA_9h9|UQS;!uR4T59$?Gd zRr7o)cE?XFZ9N?%pAK5N*N$5y&g|jji130@ymai1*C0s4@M>4;R9@UnXz?g}y#Ohr zXHaX)^S}L-YEi@Z@{)+C`MXA`a$G=|<^xL7sCWza8$Ipq?OUV9HW~oShv$Z`s4kg< z4eNaQ>Ujf_%B=g-e7-tM*fN|4HuE!=U3d)%RbtU#yZz#g<0DD2)SqAInR*|(f^C}G zaB{f8dVDDVYel1U(999l&hG0%b?2KZ^ZvonBQEB%yHSe4t45&O@7@af>PN%BJMjVh zM~C6BmF%%$PEG=)+tmHl*s@-h`6_H^t(TbG5kinnq+<#t)hc%7u}>#2#2i;IE;K8@ zlEgv}tIdGh%J4DGJBl{dr^}fwfaA&g7#WX6=%l)NFMPK6l?eC)r)oas5goZARVR|g zRi@_CfVaJ;@H^su{YQcd(N*02J2Th|k&!1)R^O1An?XR!=8)9XR2^a6lDKSEGkcl z^qb@S9A%`W7(Kr2E^OPK9b5c2KoY?n$A4Hc+^}zPty|+tDYHD1EPKKan}ftYy`$l2 z>d;%yp*|mRVCcRM31#=j%8${>+n$l{lKs$@JNY?NYatx-BZ0}#=o+q$+d-H=Pa8=p zrfp0Hd{Fb{{-K)kWrs#_K7LqyDOd&ARl3(g!@GEQxl2xp)H6k{$<4`0LM<(=F^8#8 zV5R6IrF} zaTzcC0ZC9**#<-q|5wryS&T*UOh0_-XQpYcnesr@6@nnHBkM44)Vh|QQC9WU>7 zs619WDe=OoS$|t8L4*fE_sF^mPlHvY`LQz9IF{m}1z9W)@3FHkQ?(LrqspQxhR zLeENn^%hNyX)2UZXy`Qh;+@=gul1>|1ig2tsHpSR%Wc!P|A_>z2b(DOpJ#?F-8xF5INM7EjhCovl#jW}soEM(q zgyK|(IV#GJJ%&fv#8zeMpV?rVLiarkJeKno6V>+>mQ@=?uis}$2ZiE0Oos=Z&sEqOPc2kh9T@&J4SlB(q$o)U# ziAD~yrMFzr+P^J~eB~gyBmnoB@oQjJM4p^hszZ(96}L~_b|j?2({RjSx|j3sJQDvQ z^Lkuoi_v}98R}gR0`aNuya18lbI-k}^A`P!n~QB1yT_ewHyoj;nh|JLpqq@M>~fTs z+#5NiJhQF`=df8;M4{N~yl@>c z=uZ)Z=SgCJj{nf@LoZZm6m_PBm-lEkAoOysYJLBQUt#i{Wi|yHp%1uT&nhs&x|QV9fuw; zS3(~@xTZc_glYJAwKXf1@Xi^VUT+l1vPX9~O8+SK^8n;*csDB^YM-{xXVB!;Nq(`L zcy=5`gk+Tp63`RdF1_=Xk&Bs_mP4RN;2)j`Tp?QZnj&ky@jc_FHnuLSUe|=&uE-)y zjj(3dblC^w!KOT)klJ>a+nV^#PSfSYfd9Bjy5ICHDIVJY`y7xH*&WbZ+IQ%#N|uO? z|GRm3!&<^k9n7cT<)r-l2G{NJ^xE1_5>^h~7L{ugmEv4nP8dMyI8bHb4u9tum zHU0gZpoir@EkJ@58E#O+d7`rG8<(`Ci~z3YXSQGR!V zA4psxN@ijbzcr*7|k1;_WepzQsejA^fo}NDX^W2M>jVs3Y zm{%BP5bH!954xbJw4Z&W0b}fjaGw4V@>u{3Xh`9q2h>UDg3{5(h%_t+l7$H8>XPr` zb1u$u_jez7i^ya(W0RqSasO06?iExSYX__Ep{X#sRV(R;hvptQ$JE1-7mny zfs<(I&82)dn%C?xaVctpn)azz`t zG)#wLHmd%yex)Rq`T|zZXEoX=^Zqb8CPuy)U;3bH4%v5pF!+7HaVq0J`;4Wn(+gpt(cNY4-kKIGsu0?<`esO9e93ya=iuuu6Y;vk~l7UY?p-*@|CN)gbI#N z^WaU(tOAZF`Zup-1zB03hTLwo$ie^Z%2Bb|pZW+rL1Jhe2$OSzD|u|j9J+XjSuT?oT=IN2F6G%75_5M&Gsd3R1{k$!07hp3u(okYHUgx!>^iOECi ziJD%6YAEY`9-Jq`NE1~hxS>_59!ahyO-P#la|GV>_H+Q#v({p}VQqch-bz>Dmr{C` z@Ayy*t6q{hDxKC#c zMk92QL`B7;z+mxpQF}TF+viS0hJXKVCsdw-Z|wg=_5gP6Ng2jHx>t0{EW{w=2>*%U zuiH3Crlm#t?6u*o41;8W1R`3f}8`QpnQ5`3*X}z`TA9SjRfMNQ{uz6 zvIGuy_v$f)XO0`aUMw;G@8>cW@od%fIOEogQu^0pr9F|s zzyTxU=b8&y3;ob&^ywbN1ODhRtcaWQL*ki&@kFh*4k#_FryK)GHOJ zlO*s8yPVvR(<(NdyA4w)+S=iv$h1#Q+M4vg2{UxigfL$@_&@vh%97Jxa1q6r+U?NYh^|E!(`%yzyPCs=IEY%K-`^ zbWEVj`eLdh^BXHDO07YYPpvLzA8VvcD-6V$-+;&~hK1l)@^+H=N$tNTF&CGL{ZN}<<)nzfJ#~Bno4p8bl~ziiz6rW0Np(GJp%U}{ z@cXwJSVoyr$1D&#B3^Nz?MWIf`tE^#YY$fKSc&jRz1Hl+zOb<1f>v)lz{M7N>+aak z)T_P8BK;>33hrR?0h92XFne^PmXKJXtVZY|kv0`Z1Y_$K&F$MhL&JQza8PdIRc+2m zHel^mr-`|7j156K@SFF3VNdjr zrnSYAca@a~`Ju#(!Sm;LHDxY*x6$<8kmXhVgGj$DrT6fj2T!GAStt8~Y+Muf=` z6m_Jlg?xS_@c|1U983;wyPsD@|IPLGm7;HEJdhB12?DOGtF}Mit%Um(BeU~tv}>G_ z$3?;3GwT^kjp5Lvu&`hnE1pfV(93G~YX{0PGT{UIN?(tVi>B!+CY3azcJJJrE$|cqeis`Ty z$Yy19H;XgstFa}OrrtH_X7b~y@zl9 zzW7>|)&`HqjEPXwIL-xCnbf_1EcNf<$9G=RA0J^`yHN;&p2LWNj_wPAX>O81x}aY% zvz2>#Lo(}I2FbhP(XgPjoKyTXh|kq8hDx|Y<4o{mO;*COohAzSz}25ESr8;ZX2Dqg zG?LRSx9qaUV2q@eRWWi95t-WCbIj7_GP;3viTQNL2)Eg!X{ymH`O~LYvO%$&RXNH} z@36-51zy~J0cJo#@`j-Q{6o?DYX9sruL9th%O)kNNLdr7Evzo_3k^13udwU)mx|uD zyp%=V*d_kE7{0V3s1y*pjO(?Y!lFgJU4a#C)Xp(hb)LeT3Z$gc#LLbj zVKQR`POK=yM7-r26`O5OtU_wF%7QrA|N9JY8SC%+99fIfDnEwe2yV3H ztUdSVDN2img@(QyH{UN1>Ywh+V|(3E=W|T8t*(yK|4i=9sMCp|sI(7p?1uy9N;OsH zKV9l^3Au~C$BmQnvcoRt-V_-3t7Tb&o-gY_$~09OcpKOR4U|r+e9Wt53qLIxK=L$I z`J`b)5ou~#hs<&amkmQvJxT_SxXy;O38|M=563S)=RwGxdodgvCVsUR+{l5f33@RU zrA5fTJpMX4#7Ml-!~F-K=b)$|7cHALl@Xf9|F4=+ZB>eKIP7POps!<1bk7CC$|p~bOQV=?P^QrxcS z2<}@ttf*pU9|ks!*Z`fE@BC+~!F{Xg__rPl;Ch}Z?zU4=>w8@j4& z1TgO4uqYb86X)kY==l2IU8yACnBST^;<)O#Km|Pn9=WI(>GLt9*0YZDSAy^1G!?KW z>iKqJ#h}~VwKGCEOnK){c1w(C*rGvufITP8bmV>yGHsSOcm@7y)%TWNzb$+_n!GUE)zFsRm+= zd$)ZWf(kvDSdwU==c!Iv;$BR6w=AmZIeQ>6g zm^uuoA^#}`cUZE{u-cQl=OWcw~Fmp$X=BgGzU~|)?hp!n}dH>I(Grt3%}j? zK5qldf6GBc0LSi@v7@6?N(z-ut)(D+Af7~~@{(6NNMM!=@wUWWi4^JsRT(5f5K2u$ zWA8OnHfo)SMmR^(2nR&fFqP;wrb#DzYnIM*zL%7iQ9>vS6+bZ$u4?J)BYqbg7O(Te zj6uMDs=a?ElC(%O+w?;7&qU$-VhtIPC_vydtxp&j2&kyu#7Ej)yNq{EgcizW_I4+< z&wIhm;?fGeOEf}*HlK`=;ycobLkyS+oL-C(Ms_cbrperQ#opDKXj@6ZsTS-w>dWs<%=2l9{ZJ6v-J(vhVWRPpBGIvIwgailUdbOIc{MHPzJ7< zc4%o89!2QTRRNAWx)kt+rHP>e_f%6UMhY}U;Z8YuHm9aDCcoe*Od!Hnq}DwgCqi9XT{VWgvTUa#GnOA1hrEWa-)1fBlmaMaxO4o4;#T21F zrjO^Gb_Z`jF+u{@q0f=GWEv8Vwh;s(W!#HXEbL?dcpi&qpTT1@EiC>Sk8dYNQ-TUcb2-9O$&y5#HTJmwLng$L7N)p{NB18kLZ)Tqf>6vz@yjhkoW(?xL5Ca=#9 zHfaafU2{Q4TG2O~BnoG~6WX$|xXTv~xuDMBiIzX$z$4=ugcmz-Gc|e;XQo#Vf3?Cf z_aF@tOg89p4^_9S@;xozMA%vwHG+fD{@%-poFCc_s%zo)fc%CMR$DLtdBvXDs%g5L@3E z7_GVkfGx;+1)rH2WQ7H>d2EaFAx#zj(GEycY3bWSuyIh9$g7xw19$V6f-r&s${tQG z**|0r1i)j79v_2{P`j&=uC9>(?jO0Demf@@m)9kl!+_*^W>nXons15WI#K*29%!8b zbt*>9{Z5Jl(Z@2p{s)wF)Vtb-8I^w{VqWM?-qsz+fZB0$S9B;d7C%|;j_vozS@64m zQr&o@ibq9Fov#DKsj|^9-8`Ab=ZhNakJik~dWo8NE-W~h0i}+SB?iW<7ZA!^B<_uu z**3gX&t1b$wv!eYR6hZ!eSu*Kx0Tg8KHv3#<*YjNdAzyg0np9Ds@BL>QeNI|!!#O@ zhm-vC1ofn za&c_?X`v>+11lrreVCz=rRC@KB%tnF5WIiC){luIYp`=^y|UL(c+9#Aw1id}K?I5I zx?60YvlnYuy?@B?p+GMWo3BUV0@y%g^yW>5PIz2ja>8+rHWzJCJ1qr;$w{4= z5^ZOhdJq3G}nzR0>a|ITSrx!PUp8RK~F9k%t zOdqoX5+Brt$iQ=q%d7~TDf)q-zh>}?JV!2m;k-)k_wV0HrJ(2A7Z=hUl#u_RE9xZm z>9=pYs=4xAd4r>95m0CXtoWY_J5tcIVL^3?xKdOl{WUpx;?|VkyVM5!&xr+o6Vv|$ zq7uOt-Gsu1m50eC&s~>3jf0}0HdYSAVi^N#a7f7OtggATwjxJo*KCsj=emjSl~p-A za(p_VRX~mX>~)C|F)IRK&UW?EU=N?hV)q*T_^`G{23+ZNZ5NYLdfRj>9;lrG8dEsn zg=J)9mitqm-lr9Q>8Sh@cFx~;VlBDCq1yuX{SY6;wfozF-F9;8^6Ly@uv*u-n6j$U z1!XKPO{gHRMKfPw z0uUr2dx>agDr8|U)3jFP`@w*(?JaSCnYe@fUj8JTNj(f?XxyYz4T80_oI>q;f; zLEGtul6dt*6fB?e$#lU@Ce7lRy+7NRdJAHA>D%SaXW!E+HBc@P5TCRDM4p`yXQ{N- z1Mq5i%e#TU@4HGtg4m%jH!t}$`oi?_;+yJnYS`9PCf*@hxBUnC?85f)%j7tRB_YlX zh0WZ2+Zf;dWBlygT$PGfcWCiF@hK@OQ|xTX26pY@*z{V#0xt)1YtrWY!)BPR0a}!s zKg#dRw`l>&lkPs<=>SaXQnK%J_s1#Y&HYU5?5SnVsKmn9p2MBVY0Uf+69zEQCcoE4 z0m?8i|2?Tuag2rD|E_q4$a)WZ_=nd$iTk5S;DGkr z;r)==FYdsZ^`v;=Qj5J`fVO!eQ%k9y$Dj*_l=lvAZ#GFLSMOweX?h0E*P98I{-Rez zqHqdk>N+-^7OKgSU;i4zoSJ&sK;#u05Ee&BMb)`k2D>Ek(XG9PBf9yLYoUvAj`t>M!`>(;ESA_i zko<`Q`n>(2(XDC!1Q3*b&1`Yqok&}_YD;@Fi`*8Mw{(02^LD*C*P|m|x%-mF>%_0H!vb+22=V^gaL4aG-vP=s=68T5@xn^ZbzDetRGf z7T>!GJ|o`=120DM2&w+Gut&U4?)Y33`(1*@JL{AFWa$dz0rByxYCD;yOk@#KBOi*y_LR&s*Oy&V*z0Gqm7v_ILkd5 zniks{l0FEp7fJK6+oM0XRL@u63==pNlg)?&*C0xza#RK4uZ11H5M$`ETX`v~Cc}z*l`r#HL#j%AF%OSRlz7E=6yHu*Q!6aJyNes`GVr#Uy@lddbI2_&=;_$ z)S4ea_l+XLH{P)Kf-a;7-92vUo(CKTS#LoIBA>?D>&gze5v-s{Oywde4FDlMjgGAPVFAQCjDB_ZdgzD8~^(ta=uvOV;nw}Nn^`cA(gkWjF zqYsrSDQT9BzZvJwu^er@%L9SJJ7}Af>MGunObWX%5V0rmteX2sxK#$ZE@7q|)z#KX&4USn$2Q43gMi2pbGRE6ner3S(X)m3^TNbr z0dRgM{RXw4K+p~Hfupqv8W8A_u<5q6_xWdyZmdnO(idu$f)+Edfz4w!gYrnf3;gJ~ z()j@HoVD?7g{d7>b2FdQAq9Lhg3@_K|0WPgUgPVu{-(rg%1d~a@?-?TMgYUdQM0}ONa}T5l#ppgbY7z9?Tcwk;1K?-^Ag`EO;SZ^_Q|t{UxU41+xa3pu zASh=SLv$Q3%`g!@#z$S8fS&r11X+39z9U2cSZ;lXKLeeZeyH?b*G>{()QuDQVtAAz zbiB{^j1oaVnVq1z>$2eZU2!JfC&B3uv=vK((;*31$ofsrse_B+^mKFtsfrd(3{!v= zl98AHCV3GTHN^pXj_|L1CQe4N|+G-xU^l#!o5ZLn4RRY~=H0O>E!`2bE9P0#l)v1aCh!Eypn zW!QF3Ztmh&Q+#dUM}dEJPJQ$2Z|sy7iMk!Nusq)nG?12vT=M3tD^ezag=I7ibJ0gzDUD$#UhmrI63gsqk_6k)7QWdixn)<+<5b%CZ> z$wE=!-5~u6r#>T?g$mxK7(~*45L_kcwH8pJo^!j)M`axEZKd`gj z-vM4)I$LXAk1lIt6$CzMUh@2KIo!$9vzEu}obBj*Ydg?=XF}$u< zX7&^_k{Z9Gbvh!Er+p9*Es3Z}37|n^?_c-pP)cd<>G^p5LWPbg6y^7}>GpTs;TgZt zLQNp1-u&HWUgLJUCR3K(XAQTeV6(PiPi@jR z7eC)Lrla6Fpx42%c^@Bt8zsKh78BB%$nW(8OKdHorl$Cc5N-cOtMmX^XAIBn*mF=d z!XJAJ`?S&qjtS{M{}P3L3{wAC7t&`ck9nWYo`7AbU2Q@Q^cihkgYVfV-MKv1YJ+wV zr(HZ}#shaAa~QGiH3@rs+lQAo8}y4FdjnZuvk_NiA5>EEMxFDqx1qwaRo6k4dhy;3 zF)>4>Z1iWhZqI^;bTN1ExJ#PY^m2*JcVQ=b1rjU~KER}0W^5BM@0uYb@>ecM#S|IP&*42H}ELuN>u!6f-1b(q-VdZ+3 zx?{WNH*`OFbBvk+e)xyYbg%1lM@JYa9mND@#&)9qlG_dmTawwucEKt_+)d}Mw9av8Ae6Er?E7F>w|Mfa2J3If?{(%;|`7+Rfn zm)c49K*2zFTbm95L(q1IN6IE&Wxf)*&3}{6H6vzSaj>eXtc-3pdYdXpSx`tv%plX$ zgoe#=XHDEY^R&=jZ0?@gdngSk9PlYDbaaCoHo8Ljr*=`zv6rbZ!m5s}uz8b~o^nH6L+BC_d8<#@`D;l%|CIX-cbM11od#^={%$hB;% z*&yrvuf!}W-}3v7YBRuCDSz$CZtKxpuhUdG?#L}k;&Uj#xj4_iDB@tQ?cGLvlT%O_ z-4VUu%QxC(LyV$J5G503!DUg`BK)%}&j=RXYTpQR1=z4fe}M%uGVUZec(_o%Tt5)? zO#7&43{|cpIg6SFEv(<#p}xA(oqvl=e{)e{>3WpoD$c1h3>9{FckfO{uoDtvVPMP| z*45TNeYP{kpjB!V6`NdS111^mJ!U&bjmW!lpmnK-n~I-HAj&!lRX#F}&aDdx`Rp`8 zaZ>#|7E@EG%uP+R%ETyHZwKiij>Y^|^aB@Xy84>;nkI(?<1ROH?fbZURsvZUJtb+$ zN7Kj!(7v|J9o;tGd5aG29LRj#(e5NshY%1D|1d=uYLsc}sJ5>k))NvqHcOwJ_ z|7R#^c5d$2}+dE)^ZxTP-%4(I4ERf0aUazJV@l}UHo7StTg=tCyk2iBKu6E%m06(ax>dOLk z9U7Uw2bVa~MD$DXERQ%x1p**7>;fN{_86AH+G$;YrL#80<>STYtGb z_t=!1fz|ayg3nGJUg%W$F+MK{cw@K6TiMIEJi5BNguFJ2DFi$>(yZaV&3rq&!YhWQ z>(f(m{xgO&2dt{vz_gCN|0q3j9DDMWTMYdqnz^USLcJ{BV#1%6N%7KS)?Qx=Ww>Jl zDaU?)7>$J7r<#T@2ToM_;I0QGiX$XRE9=D}S-O%%G?k z>0P+9Sa|pfPwv!$Kbg;~8{c~3biJYJ`!ZtLrpmF)*=>8s5Uf2RP#M&p-kfpz>C=TO z`Xtpyygrhb0z39Wmz2-2 zG^>dh4JTWm-j&sLd%~@)t<7fpTtOFhf?s7n&O6=Yw7-AuvZ!G5WJgaO&X@0ktb_{=BPe4gY2?d|0syIBU?A{=0?B~z<=@#rU z$wgr-({JMxrK&7~eCl$MS*2O(A+0?!LgN#piCAnTog!%|_$p@i~yO zt+deNSNX~;Gn@-ox3w(}B|b*{^qBb!^Bc>R11ov1|1$K{`p;Yqug8@ts@geKRZVqi zRZAOdW<4k4>pJ4HNTs9#9A8!Dfen2mEUX8cIJ?yoZSZxZTv88pdZ_Qm3HjCt6FItc zVZXLNInyv>OgHZ{FLwRQWC&dE8%r!}z6y%z7!_5?enA9wje4aHh~L$7aLkXrqZGZH z`gp*JxudmFVu<5E&u_)zj%0XvcY)#}Fy=k??DV?($25ToAs3L}u`J~IEm$)#CEKa# z``!5`$(+^;}aZGPwcex1?r~vv1l?mM3dlOnm!Ri3tI*UN`t#Ifw%2*HApZTq$p`6KmIH@pY z001b*b`!IOVW!^^FSy?HR*QL~CzvAXfBrm&2`orzu+SDS#Sl>o`Kr?g;eW1-j@H-) zBkSqeC~zssXQ!{EBx1;3BiDlU6!>ycAH0E2`>iFqNa4JMJ_z;mqZ-+pB(c$I6GIXq zGBVy(9h2uriv$M;N3~^((yxu?uU7^wP43*T5h#uGUT<3+DOHdQkWLv2`F>}7e0;sm zBDo;n|4W17MW2F)UgbcNJNRx4e1Xbww#xD1RAFS-Y*{B3@s*4fdJHGEO1Z`S!;$mF zsu_QBmFGIn8Sy@BcRoD_I}PLJUVeSL62=Yi?oOx(X7J=V5{m{92>HSp$!XS390#cDC(U*nR7p5~KVN->8tfLJPf`(f3%lcPA6r z^+cKQmC{}PS+ojD!Rs;Ow*7mj4!QCg1kEM~dq*nZeACFW$cB4tG_E}`c7ys9A@D)q z7|>Nu(PVyf!M8S9>+TpUe9&_7`Y|^j!;U#OM<+>4A*7cMJqd}t@>3Rl{Z~FS3u91d0S0=PS#5C zn#*A3K8mA}4V9IZYO?|t`Mb$}N4jvDgM)(+02St*Pz&i0@9CQMPn{jGQ)Q$IdrZ5D zYmt(Ad3!(ge}6+~6_$ zs4eW^Xs^>bbIj4%dFc0D+F7I%C}=mgv9US3T#9xZy=o(^GHGLR+d3T*Jx)}sTHFEo z3ZLzt2R$CqUD-Iq60YC~%TysZ-K#684h_AKkS=H=M~)pD%c3!I-RWow2|M~{)rQme zC}A)%Fm#!5Ge3JqH+=$XvMm7~5w{07_Q`6ypi8XKp4MUDqwK0}{SOMxb-z27gQH-I78qm;Z0lr` zxE3wsE=G$GBbBS0I5;?CE_M^^KU*ZPe~qM0yeALB>lkar*cg(~ND4m9*dleUt_*JP zvt=#UmELh-8lSugH8r*4u1_I_ny|PVp>c1LAN%foeqyyT;-Jy|a?us#yWgf|Jz46P zyU{+K*azuqmjZUydyC6KMpa)wB@mZ9SC(#6z3~;Zn`c2ZsIN5_gn+XTz3ZX$#QUtd zLpeR`eN7IV6IC`}v!5B%+pG;B8DzkLB8X_EQ7zzFL`3{XF8a{xRfrj7IwOCDMD9Lr zyt9w^QhMi#^712l1oXtJRe|8blzZYz*p)7(OLqlbR%eIc!YJ&{)?ub;v}8%Tk71f& zfb06uGA^8>=su0ex8@VtdeaM|3;gwg%&c*Kn!oEes-ErkyJydyS&!srV&jr!bD6f= zv<60mMnyH7H@8RzT2G#ApC8A!fumgGZ``;XDba(=S2;{qD1^ncDO;}LmVk3|Q^Q0o ztjY{wg^E&C@ijF_cGEJ$Dp{~1CYtQR&YQ;dQ0Mp~_^kiD_{s~;2`LGSql~C97DTCzfFKAA(xh7u1f=&aUAmM| z0s$<5f`FpZi*!hU&_hjB1cV4k384q+Erb?YAh{>beD}L$-9PvK`R-cd(q(|;<$cfD zXP>>F=Q(?i!NK|6#RxVzLEsI#Ql)Sc&6K|5F_^`f zf4ctoSdo*HLtj!petz%yAj{O$f`=IePFkr&CP;jZJ%zc(h4L)n-8;zAfD2^l06sN+ zPIBYFQDpq3>*`Bmi~P9YhD^R!#Zi*47Dmp!oU{7Kui?h0#u^&^ER=^igG2xZ-~7&6J0!azy#AOmfxH7)Ff* z)mYAK;4rG~W;LX|2EW5o-z6k$;bxFh5`K{y$MZ8bDI^T=%mJ-!ZN*P)ZH$V~|qM{-p51WLfdnTU%vB$-;F=7H1OD}(q{{h+{gX%V{UCHase8noSrbe2As=(q6 z97XdNyHph{?iX92;w&vKt3Ah|>V4q2x8u!}fs&y9(>=&LE&FEZwmbaCaPzTcsavy> z!73kBSY4U01!2IeTw<^t`E zg82~zq!vdQ9w_lYq^80Pw6Z{BjM&+_7cYLhpBdlxL0CM%Lx#Wbo5RiGPUWYOe6sTL z2ymR-7-v%Dq=j_`H6K{dtkL7c3pxj`8DTf_^)T6bT6e`8uG$rOzWET|7X z6kxEdx623K#Pj4$Z!b$LE6B~O#8`~DxQWzyf6vz5yiF$_^+q+G`swEJV5fx}U8gfX ztPc6UeG8{JaN$ZV)RqU!3})ZBZmh5OZuX#h-4q)wz7XY$4J)4UA2eowpz%S1tFqo` zWvOOT_flWJZ$Wo&M+Xr3APQ{~MfyRRr|P+^;!j(MKG7 z!M{nqVs5}(q2H2MEw&eQdaYi;&$+ca>NZK})-CLQ#F6{QE^u0^Y9`*m@r1eSZq8{{ z8OnP)Iy)CWJAP_usb)DL@1~=MWmDvvSID@JJsy^J8{|~P7i36#P$dlJapkthhDSzR zM*;}KR~7Dd(SjtUayPM_pFihsneS*X;Wk;1C!Orvrv3`6ZcG0bUXxjrKRJ1GX{08K znMXDUB*6Dys4c|G^bIN^3>s_G)6)m4)B?_2zG-MH@WpSvkN*shl0IUv=oGEQz#*`oILXy_v|wq(r_IDN|M?VPsY%ibHOKt z|0+)&Q&f<2-nJwYDYXS!6m1YS_P;tWU|0&3(&PbYenK8_(Ai+wH4<+zGIRGu&kFOa zQ&{p!v241Mw>?IyL9`_gwgSZd&`QNq{`asMq}z|J$cSyd$H?JcbC zI#E(=G#{W0PE@OcL0{D*{4&fd97k^hJM2o4FaVl*V+u3ZERU{bsX6K`A}#HrNV>3$ zjEs8U1(0;@kNGUEa!x{t+4()j-R1tCYm2$@*T(!`LzV~K`sQsO zBn+0AA=KaXDTQqhtB_a84OF>un|}16cD}}Om%;D4K|#=oT9Q0@lY~x~nI|QA60waL zf2UG`yF+|@*Bl97>{wC;1`Iuh%Jq!kFHE0x*45qG+hcUy>Gs%QS?if)k^rS4q&^6m zsg9x!UCg4+hC}Si+JwT;jmYL-`RJz>Q4r%ReWzphJ5gaD*Qb>e-ft&F0Glaxf0Dwe zbRdz|1vcYeBu3Pv-pBDI?bj?bJh6!PV-QqVrmi(#y{cWT+BHItyP0{EaxN=t_Yf;@ zR(lemLCVIapa6!ABGj*k==1jn*TSKBg$&06tHl9$5B{tP2F_&tN6Ppbq>K!e9Yqyc zuI**b^;W8KSz+XiL~6rLJmuRNZ}0W}CtpnDAp7o~Nxx#L`e^$5KS!KmgRGA2jfozU zDMz9D?I$vQ{C%q3V-$GufAT7Kx5DYa=*s-?tp5>)wZAN?Jaa=cWtCCbPafb9C}I;! z?DL3;jqN8dSJWGxrN4KE`RHwiZ_f&|pm)icCH(5p;7@CftHE2Q$$$kY0oK&f+o5N4 zS7;%kwsdClk(fGtgaAla4WWp(whI&)>Yi-gvU6ho}y zXYrr%`*p)>Z+VKfiS0Fx%gkKLXR}>w!md^ghv2=HE-BtQ!=X@IbgFlx&Km)MPh9nS zKir_P?MzJpK-gzTDq%_Irp_Bys)#oapkv3zPdNlC#&faY1+uh3CHaICP5qkrnje0Q z?P=CPi99z`63Ec3r*OmU5^&(+{m)x6SvFB@=5CvbT

~zR~rfNUSj*dNm&9QWo`|gQT|t z(?S-v>D!vk?~CBbu777PV~%t-`Gil9=zPI9*LU2JZYm+nA(k6*d@Nt`YiYCF1ESJo z5H4gby13y+qA$(YmE@Mq`>L3Z3(I;2Pv#24nS#K8SA@N0g6}cpP1owv#_FDrjum(F zMXe=IgMclGt3y>&EQFj$*f=KqIb!E{6Y^4~@f@4cvNvpBpyug2BBU7n)_}Ns2lwHo z{rl5^5k`;pD5jt^01&@7$Tt!jyYc->5U>Y`75ldMZzPTQ`iVdDkUE_H-I~AC_>+4$ z^&x@aXTdv+N0&rSh+&>vq852{Xx@?C6;q?cS|b*7FN5+62zRn2a5(=wVdhUgRcJR7 z2k4d$;BqY|BtbxQ7jN%lFIf(PR1?wyUCp2eS#>XcH9Sb%-%ez!BM&W zEULkAj^BHgd>59MM|-K=9DxUwN-Rj&p8?|^n85Z4#rmBA$(FnqAIz^r@;YqUF4zOb z1k)|btu+d!9@vK(Z);J@*LS6h_ek|A2WtJLy(h9ntV37N;qd}X5G2uk9xoOyrYZhZ zV=1iK_IM-5sGct{JM8)1?4j2_hWEXoXwgw8-QNw(c!#;oA~lN#Xa2QwbspdTr&pcU z6LM52J!eaIGIl*F6Ut=jcddKHw&UzqlZ&O7;(wl=Ry{ce-ybd4;&@UmY}Jx(LKwhe z+?)FH^k%!wgMqJdTb$|0>hzmX?lCl(SRPS9u0YT@iOpM!zzn${YPtafEaaH7xKgX-PU^JpBZHiB>t0sT>r|aC8M6A!N+B; zpJsl+JCkuA_c(c%dAuMIPym$|+wa1G@?fqdQePZi`??+Uv#oGErvajgTHaOWPoo`? zTSfHqFO@96U^MNGz%k;ZIq#Ro>w3pBTIP~EDy8>>Z|a&;r^(-bpr52iE95Pp_m|JF zWr4@Ry(XQ0xYVN;JqpKn>sVd?V!dk_DTl2~AS68+A#br!_Ptps(-`n1vDUJGnKUDg zn5#qI)Nk)%W!0HspMJ0~m=!gpS_pFlNLPa*PFNRBLdQ&NCryb%3!C_U!zZ>L_KeY@ zDJdV?_2mT<^#;*$5ICF=q#Hy*Ae;(_#faQ7>-y~+YiKVQL?Vx1L1Szp3dLr+@1(Z5 zIQmo-cruYW876D5?jN}Ka%y4z(go$-FMmE=r>8ObkC+6NLuV*=qO=!BD558dUAhF!e=^$2v=W0`^2^Ej@% zEpo)p6(khR*;pK_NCNFw%+Ir@% zO}QO=lhuz0|L6nmEB-M782ov`uG11;K_!*Liy@@C(5%@;s-=i%+8aIH(O#XwUGr#3 zech9OdAVq&f~Kk*@eAVfak;%CvW#Ep`txaQ_cdrIMe zhp-7&MlG2`bp#r(z6xR{DA4?A>?;bYhY8JV033Nzi(#1@Nl^!C$|C`(=Av` z+}h+tqL7Z49T!PWzOtQ1*H|9+rMm#k7eo!Ic{5=>-D$!y8Y|7zcj|$=&0;dOw9w?g z$Ly2K)uQi8EP$NyX<=2Zp3WMY^R2b<$@V3PB$l)EHy4+A>ut8i(F;wlA zT=cE_YcQU!NK+BNDnPXhb`N_Gp`r>C+IhZ=js??5^b?EaYnJ8GZg3@i_Hx$+E|gJz zOTyqcpx@QCSKxV8d@Ha0C#|T@7S{)EZ`tZV@69`naAj6{ga4uO3Q+*V;hy$ZsJCa9 z$kc_?(^M1q!R=xkEH5)WaF;0)lLiy(?vtY5q|PWyQ)MO5R~iEVo0VxpvT` z*@xjME=>LO85{Of2fQ5Aatk|lotdu$cByqP;`zy~Vqh7q%F&VM;iaB!*HKTyFl6|( z9ZvUur-pO**)KhLSLaK}h4d)p7)r^J#ll;5FB*9NCQWXQPyku@GW1uwGu3rn)~g6= z?T*eb>^+ix3GzVCh>kKbl(EqvAQ^Zt9F+4>lJ(1qPwe)vNk-rV0)N)}dSC2pD&99A z;$GGqe-5U_MSME0C4u+-V4|h!mmP0x^R*S*v<{;{=R6Fs7YE&(5T3eBmiLsd&sfE5 z;#jhU>b^WLmD8~5~8Nr7F8W9t&Yo5#n|6;3@;T(Cr9lFgo9Pftwpb_|j& z1C^=sk9oJ(Yla;@oqD-!i^h9vTUt%K zbNtVKPPfclbt3U92=b!mZT!AszC2l~Nz_YkH9sxgcujN4Ex%P*yQ~GS>$q*4m?9v1 zc(8obb_YK|C-TQI&n}~_h?49v{9X?D<@;R<;P&=L_dba z9RU!oir)2X-h1K!Wh&|^38h)zWHLKLvPNU^qiVem6p28q{$KCx`To}IU6Ui4W`{f< zvfFvGk}F{o-#=H?!SAQgTNwHJ#V%*uqEIm69|}fDBCjlkrESr#>vD%@|9r%!Z@;qC z^^Cl}+HTremR!NqeTC7hm0~RPJQ8PV(q73U%;Uj)-)4nvW8LS=UF6Q9f9Subnv}tR zwGl6W|8C{K7DfXi!!C4wPypM54afW#C&1IcCq$O&n79!9Ri9w%VC9u;%U`~$1203M z*!R!Hd0DM>a~qkcrA&NcA8rmvmE$UH+?9!ueE<~D46(fb^Yv^C0Xc849?#m982yT0 z&nMb)exJ7$XGs5xaQ?$f-n`#HQAj|0Na2sp<^0p z!6F2Z(77Gtv{5u?WycZg$;f|IBPwzGJAKf{yyngS0gkitzf1}6T=Pc7;goA%rt;$s zr0Talcp@G?tR+%-*@{<34=YJSsVS?=da_(|nKHkdwM=g}Vp)c*7LX!zZZC!(sf z3GeDdShW*_c~Hj##p#iR+TnMt=$;psPo9ZL#B`=l{JvlC#3Lc{nep8_5XwgE{xlJD zl~gmIGoW@?=0n1&Fli!D22U#%)%z}YvU}X4i-%75JmXclzy0l7>NnQi4JRh)lh^6f z>^vpn>F*GAzCIT_p~77`zSZK3FCv+Ok^!KLF!LpB>igvw0U?fej8@>P+AXy>^Y%}P ziJ_sE8;oQW1MBLIZSuagIJQ5!1v}!|d*p(mCf5>-r^bY!Gn>poAY0;Vo@w^wS_Mra z1r*E+>Nur1bs0aEmK}TcL!M9Q>z5JN{Q{u6@g&3oZioG}&Ld#;t{+w5F21~W zhfNq@MQ{SQf>TcIxr>FIC4|H8ZLWy$K2zTFL)W;ky)gSgvLJI_<7xnEuPyp6TsJ3kC-exmf~K{R;ae^Ejc>WJ zG)Fkj;sl2z-qh2=|qd|I_zmMX?PRLZ29 zl9~Q=xM!CDKlrHx3hCal_`h<8RI#o=RMlhHc$w2H|FNSYsidAk9H|m-hMh>( z&F+Xv%Tw9m-+w;Jcx)*Ou@Cv5$Nw8KfsXTu!cVTOouwT)buJLFTL2JmL?hn*@)xJZ z=WC=%MDg9veiAuT7F9lIAE>1=VQp{nwZ}i3MfV)lhPN_ZcFf;3Yn?5oN_|B3nqG_s^FMyJBw%bIPKr=q@=ae-AdYK z8@*C-CqAMNPS7Nr;ra8@c4T%O}hSy=6j z>ehPu5TQzp+mf~yRJQCGZu`zyX&E{HzJqRC0(FjZ|E*h>|!K}%r z(x#dl$z<X*j ztkubV)81;6gn)QED(f51q}uU%bgj)^dDYrLa+AT4luzE`6*2YID-3xA7aEcf*nWy? zA;guJrbs(|zHQ1Nr_~HAW=q><;4f>x`&SVnFT)yRYx0pND{b|H`@m309=xtZOl4Tl z{UEbcD{YcnoOt&Wg^E-{lyldy&Pg88HX1gSmgf7NYA+J@k%P+*LOGlgpyaNt!TIsS zcqLNg+f8fZbnsCBpV2(tQJc#-pYFKuNXjGL7sbWn>#u(hchhssf^B3cl958#Wwy7M3 z9<60$C6c}VckoIc)!aho+ilkZki`AEqX*W@q{$lUzJc7tO=#ux9UOfdc(Xc9Q6A*R z%38+3mL$oU*OcasQb5sxn(&V&_XC-@>C;+GA<&DcoB#y9X>G&lHWo?+AA}@(E~*f=C)*7Kg1# zl)?`JpgoXPmBmvRy{f4^=_%9kss%*Z-~72WftrM=cl-69Y9>g23aO^cl#P(y(HOse zzoj0ue3TQT)|2N<4TG&IS5r27GO;d`LMpM>O(}D%ajj z!-e_W&;C3;+wBbfHC{hi1YDg=Lp{O%GMAHeP&$ji01LU3LAR0x%JZc3j>$`&f=555 zIg;LenO_2tmK%9=OqwoN6hf)Lk4ahsp~iNh%O*NwXS0q0WAWH{Krkip`$d_M`!8c^ zxvwPdH>FCb+NrF$V}oyZB!r2z@&YIcz!N}6y?u72H}x#s;M`I2+bMz)kC=JCOFC3E zbAx+DmTsstoO<}EsvN3H|D(lsavUsiVrlAahjJW_aT=2rT22)F4Ct&w^#LIK z*U6-mQ)5S*>95@+4RSq2Tg~mKM}>&NH3e&8IgO}Z;Qn75ZN}+re?4b+l*zm{& z_*Dnpv3bD9+#BO>x^!#UI$nQ*|JYYm5exTE|OQ1AJ_HB+xuhKg3 z`Zw@23m#raW<}A@Z)EI78dqLk?`4<$VJ4IN0ldzhKw;2u;rA`4ND!BveBgH$Cl5I7 zVCA3r;@#T9r)~HOmk&cLRmHbu%jcB;HO=5}hU?@$qqL6#bjC8WX=$j1li9*52`qT* zcZ%N_Z0}_Job~BW4Au@^ozR~yx28yEmDVwa)NYlU9qMFf%=aWdrw78{qkr*1br3?a z$J>HzTh`ltVWAS$gdM(`(=xCcvv_pkyjp}xOZ&W9VY0Ht$^7YyYO7N`r_k*29)U_! zS$|2)#ELq7^So8)&bygoZ}9MudRsVU!Qj;p7->6X*VienWmMOM3PQ?LhBLf%a}9^Z z7gsZA|J4K+=!Fp1B|bD%6ZkQh|IAXeD^IjHn4(ze_FsaB`@+OqR`KV#1hR93P)FQ5 zJ{-D|yq~dqt9o)GvaAOewlmCFg*g+xdkSYtXuXd$Bq2^P^Nu%K@&5I$z>eyw+wIsi z-16-SIqDex4YUS?56SvGo?Fw_@8uLcRni93c!s5K?qYX4LpEhNZ-PIse`L9LjABG= z-;`X}qQ`$g1oB|wVwR6PNt#=zJ1UBBd(LK^Y+{=1WMnVF^+=R9p85!)Ciw%+c{#?b zcPpZ7J4BX7tA0a0nESB*MGfjB7=;gv3$E!ml=YCtOiB72$Usbj*s{}f3$d(izRdcP zlU4z7{lt`!x)10z<80Mt6XST_21(T7_)O7ql#IgFsuV;V2sB+o+ZUKAE8ADAU+fTQ zDJ~jD%k@U8hm_7p3LqY-;+`1VFH4NfQkL>yxE=zHC8dZW?2=1JG`qw$^&_8a$?*qa zMfc72WV~M1m&UrR)*Q-$Vv~3G_}Y5eo)w8kX~DF92;K+p2LhNFniqDmtB@MHfBqc} z@cS$l-3St52Kd6T-fZSjauXywX?uyf8(5y1R0)HUIzRj1A(E_D6q`%-YGB)e5W+}- zj@$VRb?k)RH2N%o+s}QLnwst!rq1zXmghF%h8ua2Kf)GJc|HCWzo`HvmgXM4gCta8 z?j}HruC9GQv1VNs8M^tBwI)x|*$|!CJ$>+d-Gcef*yy{;mWzLo)c7E@T24WV5L)y?3<05bkov7i%8r&6iWB zm}$YDQM3F6fk)xbhe`7&-fV9hqXZQalcXE{dF@5}ltJ->7g_8@DnP)SuKnG*hTccn z$xC(>fg?hDmjD@>_$e@kx}Se4yG1t3Fi-9K85P`R~nY`0WwK8 z>{k_sw5$=dwdNgadhW8kZ1K$$;%>)kfr%i`@~p3GU?^S(-2cfXmiG^AU=pcaY9*$Q zC}y_b>72Dx_>dX;&_8KZmFeC@raC%l<^0)JY(M>6iK~U$y%e4@PGAvS5Q@?iO7M57 zERRd=WT2K>XqnZ2r>*`GqlQwmd7&9S{rz+bs7v)SbIq?i=Z-&E-N=a=@G_bCb&2s5 zJXz10CWmY%so+Y;JG<@OiiW2u#^hi+=*#hx(Qxyf&)_a=QnMTw_YlkV@P?hMmzTi@ zj=@{REzt0j1yh42+cJCc+v@4Q z8m3#LQ6Mf%IZR&v1bFrqt1h@i3XSXpj!Wttsrv$bTH zAGO38-oT|hVWOC{F)DE_gjuuJu__mEv0?&R=`YQBuFZt@YV;1W(3plF4ok{Jz$&#W zpN9`zDry_ID#7RgchKFec5=zXEX?=RboS+PgbK^ths=N7JYJ!BngO;aLb}L%&UaJd zm&EoIw-pd5{aa*-$F;ia3qRi^W%<=7nx9L$LFbr5ou}#7{er7i zu}WVHm}4Y%?>j{3L0{6(N&F4)STW{{yIo&!U+) zhC?NhDk{C4ce{A4uA!qlXSO-aBJc+*E&8-Fr3r(%2KVG zrOf~F4RGN6erYY@Mx^ z2Y1r3g%FZw5v(WQHtuH2@sodzRWT=N9+zKHMBDNvVt*`5o%#spZgGNhuLJ_*Rk{qj zZ%ZF^VoKERfPPFH^Z(G{=GrKdU`{3-QtgTnlDJI&7J62s$hvT_L^@Jd5eO0#>m#kF zf7ueQhvL-%;g?wt&HMOf7QwJArAUX$oz(N1GLnbVK^uxz03~V;RB~0j$^+kg6U%B_ zp@xSik^u@fe}LK?1R5ACFhvlz&Hssl3o2c4wlHrx9aM{SU>q;U>Jnw@(X|oEq-K^_ zxh5w9Y9Gm-$$y5)Tlcs9{oP|p#r^t1O|H(W4z$O_kCjQ({@0Ag2_E?2H1=Tzqj#A* zYj8GOmfwi;^~Jlp4x-AEMd8lc)QwCbdRgu~% zh*b0fJW5dn#tKo9gXk2PKP$Vmmr^)Lq|cIz8Axscy}9}`m(xMPLRb;SgSM^Kb$zMe%FK(Sn!N5Tl*U1`Wki z6YV+vfFMAkH-(Us&1x}EtPyq8GHi6Ui|U+LVb(7pn4CY0`eb@~2~etLvoqTQ+|i#T z?7YbpaBGaHdgT70xQbXsL?w2ZMo;Ed$p)W+Q%T>jcS``>Z~5sdWd6S#;s3FQi8Aly Z&(@OyIv0vOQPgID>Km=swTf0@{|Ao3=t2Mh diff --git a/Apps/IPCR-Forge/rationale.md b/Apps/IPCR-Forge/rationale.md new file mode 100644 index 0000000..17c6cb9 --- /dev/null +++ b/Apps/IPCR-Forge/rationale.md @@ -0,0 +1,108 @@ +# IPCR Forge — Rationale + +IPCR Forge bundles four store apps (Radicle, Gitea, Radicle Gitea Bridge, IPCR) and a static +landing page. Their services are copied verbatim, so each part keeps the deviations its +standalone listing already argues. This document lists them, then covers only what the +bundle adds. + +## What deviation / exception is being requested + +**Inherited, unchanged** (the full argument is in each listing's `rationale.md`): + +| From | Deviation | +| --- | --- | +| Radicle | No authentication gate on `radicle-` and `radicle-api-`; host port `8776/tcp` | +| Gitea | `gitea-runner` is `privileged` (Docker-in-Docker); `ALLOW_LOCALNETWORKS`; admin account `gitea_admin` | +| Radicle Gitea Bridge | An install step signs in once with the default app password to mint scoped tokens | +| IPCR | `ipcr-gateway` and `ipcr-registry` run as root (no capabilities); `/etc/docker/certs.d` mounted; no authentication; ports `127.0.0.1:4767` and `4768/tcp+udp` | + +**Added by the bundle:** + +1. **A cross-app network link.** `ipcr-gateway` joins `gitea-internal`, the network the + standalone Gitea app reserves for Gitea and its runner. +2. **A cross-app credential.** The bridge's install step writes a token into IPCR's folder + (`ipcr/secrets/registry-auth`), which `ipcr-gateway` reads. +3. **A public landing page.** `ipcr-forge-` is not behind the SSO gate. +4. **It replaces four apps** and cannot be installed beside them: same container names, + domains and host ports. + +## Why it is necessary + +**1. The network link.** IPCR publishes images by *pulling* them from Gitea's registry: it +polls the registry and imports every new tag into IPFS. The pull has to come from IPCR's +side, because Gitea's build jobs run in the runner's nested Docker, which cannot reach +`ipcr.localhost` (that name is the host's loopback). In the standalone apps the gateway pulls +over Gitea's public HTTPS address. In the bundle both are on the same server, so it uses +`http://gitea:3000` over `gitea-internal` instead: no round trip through Caddy, and it keeps +working on a box with no public address. Gitea's registry hands out its bearer tokens at the +address the request came in on (`http://gitea:3000/v2/token`), so authentication stays +internal too. + +**2. The credential.** Gitea's registry requires sign-in (`REQUIRE_SIGNIN_VIEW`), so IPCR +needs a token. Gitea mints tokens only for a caller holding the account password, and the +bridge's install step is the one place that already does that. It mints one more token, +`ipcr-import`, with `read:package` only, and writes it as a file because an install step can +produce files but not environment variables. `ipcrd` reads `IMPORT_AUTH_FILE` at the start of +every poll, so the file may appear after the gateway has started. + +**3. The landing page.** It holds no data that isn't public already: links to Radicle (public +by design) and Gitea (behind its own login), documentation, and the list of images IPCR has +published, which are public on IPFS by definition. A login in front of it would protect +nothing and would stand between a developer and the `image:` line they came for. + +**4. Replacing the four apps.** The bundle is the same services, not a different product. +Renaming every container, domain and port to coexist would break the defaults the bridge +and IPCR rely on (`radicle-api:8080`, `gitea:3000`) and the documented addresses users type, +for no use case: running two copies of the same forge on one server. + +## Security mitigations in place + +- **The network link is narrow.** `gitea-internal` holds only `gitea`, `gitea-runner` and now + `ipcr-gateway`. The gateway's only listener is the read-only registry API. Kubo's + unauthenticated RPC API stays on `ipcr-internal`, which nothing from Gitea joins. Jobs run + in the runner's nested daemon, on a network where none of these names resolve. +- **The credential is read-only and contained.** `read:package` cannot push, delete or change + anything. The file is written as `$PUID` into a `0700` folder and mounted read-only into the + gateway. It is written then renamed, so a half-written token is never read. Re-running the + install step replaces the token in Gitea, which revokes the old one. +- **The admin password is used once and never stored.** It is passed to `bridge-init` on its + command line, as the Gitea app's own `create-admin` step does, and only the scoped tokens + are written to disk. +- **The landing page cannot change anything.** `nginx-unprivileged` runs as `$PUID` with a + read-only root filesystem (a tmpfs `/tmp` only), no capabilities, `no-new-privileges` and a + 32 MB limit. It mounts the page, its config and IPCR's `state/` read-only, and serves static + files only. +- **It publishes one file of IPCR's state, not the folder.** `state/` is mounted outside the + web root, and `default.conf` maps exactly one path to it: + `location = /images.json { alias /srv/ipcr-state/published.json; }`. The watcher's own + bookkeeping (`imported.json`, tag → digest) and anything else in `state/` answers 404. +- **Every inherited mitigation still applies,** because the services are unchanged. For + example, the privileged runner can still be stopped without affecting the rest of the forge. + +## Alternatives considered and rejected + +| Alternative | Why not | +| --- | --- | +| Gitea pushes to IPCR (webhook, or a workflow step) | A workflow step cannot reach `ipcr.localhost`. A webhook would give IPCR a write endpoint on a shared network; a pull needs no inbound access at all. | +| Gateway pulls over the public `gitea-` address, as standalone | Works, but routes a same-box fetch out through Caddy and back, and fails on a box with no public address. | +| An admin-password credential for IPCR | Simpler, but gives the gateway full control of Gitea for a job that only reads packages. | +| `IMPORT_AUTH` as an environment variable | An install step cannot set one, so it would be a manual step after every install. | +| Renaming everything so the bundle can sit beside the four apps | Breaks the defaults and the documented addresses (see 4). | +| No landing page, Radicle explorer as the tile | Leaves newcomers without the pipeline explained or the IPNS name to pull, which IPCR mints and nobody can guess. | + +## Data protection + +Everything lives under `/DATA/AppData/ipcr-forge/`, one folder per part: + +| Folder | Holds | +| --- | --- | +| `radicle/` | node identity (key pair), seeded repositories, Caddy config | +| `gitea/` | repositories, SQLite database, `app.ini`, runner registration, the runner's image store | +| `bridge/` | `cache/` (disposable bare repositories), `secrets/gitea-token` (0600) | +| `ipcr/` | Kubo repo (node identity, IPNS keys, pinned images), TLS CA, watcher state, `secrets/registry-auth` | +| `site/`, `web/` | the landing page and its nginx config, re-rendered on every start | + +No user directory (`/DATA/Documents`, `Media`, …) is mounted. The one file outside `/DATA` is +IPCR's `/etc/docker/certs.d/ipcr.localhost:4767/ca.crt`, as in the standalone app. Identities +that matter on the network (Radicle's node key, Kubo's node key and IPNS keys) survive +uninstall and reinstall, so published repositories and image names stay valid. diff --git a/Apps/IPCR-Forge/screenshot-1.png b/Apps/IPCR-Forge/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..71480516df4e453e949c2d3653bb173a1eb1ee97 GIT binary patch literal 103534 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

-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%0Dhv@8fIerIrb3E~mCE)NNME+g5*dEdZt5Pm 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
+ +
+ +
+

IPCR Forge

+
+
+
+

From git push to docker pull on any server, without a central +service. Code lives on Radicle, Gitea Actions builds it, and IPCR serves the image from IPFS.

+ +
+ +

How it works

+
+
1 · Pushgit push rad a v* tag to the Radicle network
+
→
+
2 · Bridgerepos with .gitea/workflows/ are copied into Gitea
+
→
+
3 · BuildGitea Actions builds the image into Gitea's registry
+
→
+
4 · IPFSIPCR imports each tag and publishes it under an IPNS name
+
→
+
5 · Pullany server with IPCR: ipcr.localhost:4767/ipns/…
+
+

Steps 2 to 4 are automatic and take two to three minutes. A repository needs no configuration +beyond committing a workflow.

+ +

Published images

+

Loading…

+ +

Publish a project

+
    +
  1. Install Radicle on your machine and create an identity: see + radicle.xyz, then rad auth.
  2. +
  3. Connect to this server's node so your pushes reach it: +
    rad node connect <node-id>@<this server>:8776
  4. +
  5. Publish the repository from its folder: rad init. It prints a repository + ID (rad:z…).
  6. +
  7. Let this node seed it. The node only keeps repositories it is told to (seeding policy + block). In this server's Terminal app or over SSH: +
    docker exec radicle-node rad seed rad:z… --scope all
  8. +
  9. Add a workflow at .gitea/workflows/build.yml. This one builds the + Dockerfile at the root and publishes it for every v* tag. The + REGISTRY_TOKEN secret is already set for every repository. +
    on:
    +  push:
    +    tags: ['v*']
    +jobs:
    +  image:
    +    runs-on: ubuntu-latest
    +    steps:
    +      - uses: actions/checkout@v4
    +      - name: Registry address
    +        id: registry
    +        run: echo "host=${GITHUB_SERVER_URL#https://}" >> "$GITHUB_OUTPUT"
    +      - uses: docker/metadata-action@v5
    +        id: meta
    +        with:
    +          images: ${{ steps.registry.outputs.host }}/${{ github.repository }}
    +          tags: |
    +            type=semver,pattern={{version}}
    +            type=raw,value=latest
    +      - uses: docker/setup-buildx-action@v3
    +      - uses: docker/login-action@v3
    +        with:
    +          registry: ${{ steps.registry.outputs.host }}
    +          username: ${{ github.repository_owner }}
    +          password: ${{ secrets.REGISTRY_TOKEN }}
    +      - uses: docker/build-push-action@v6
    +        with:
    +          push: true
    +          tags: ${{ steps.meta.outputs.tags }}
    +          labels: ${{ steps.meta.outputs.labels }}
  10. +
  11. Release: +
    git tag v1.0.0
    +git push rad main v1.0.0
    + Follow the build in Gitea under gitea_admin/<repo> → Actions. A minute after + it finishes, the tag appears under Published images.
  12. +
+ +

Use an image

+

Copy the line from Published images into a compose file. It works on this +server and on any server running IPCR:

+
services:
+  myapp:
+    image: ipcr.localhost:4767/ipns/k51qzi5uqu5d…:1.0.0   # a tag: follows new builds of 1.0.0
+    # image: ipcr.localhost:4767/ipfs/bafkrei…           # a CID: this exact image, forever
+

/ipns/<name>:<tag> is a name the publisher can move to a new build. +/ipfs/<cid> is the image's content address and can never change.

+

For a readable name, add a DNS TXT record _dnslink.example.com = +dnslink=/ipns/k51… to a domain you own. The image is then +ipcr.localhost:4767/ipns/example.com:1.0.0.

+ +

Pull from another server

+

Any server with IPCR resolves the same lines and fetches the image from the IPFS network, +from this server and from every other server that already pulled it.

+

On a Yundera server

+

Install IPCR from the App Store. There is nothing to configure.

+

On any Linux server with Docker 29+

+
mkdir -p /DATA/AppData/ipcr && cd /DATA/AppData/ipcr
+curl -fsSLO https://raw.githubusercontent.com/Yundera/ipcr/main/apps/IPCR/docker-compose.yml
+install -d -m 0700 -o 1000 -g 1000 kubo && install -d -o 1000 -g 1000 init.d
+curl -fsSL -o init.d/01-ipcr-node.sh https://raw.githubusercontent.com/Yundera/ipcr/main/apps/IPCR/seed/init.d/01-ipcr-node.sh
+chmod 0755 init.d/01-ipcr-node.sh
+printf 'PUID=1000\nPGID=1000\nTZ=UTC\nAppID=ipcr\n' > .env
+docker compose up -d
+

IPCR listens on 127.0.0.1:4767 only, and trusts itself through +/etc/docker/certs.d/ipcr.localhost:4767/ca.crt. It publishes port 4768 (TCP and UDP) +for IPFS peers. Details: github.com/Yundera/ipcr.

+ +

Addresses on this server

+
+ + + + + + +
AddressWhat
Radicle explorer (public)
Radicle API and read-only git over HTTPS (public)
Gitea: builds, logs, staging registry
ipcr.localhost:4767IPCR registry, for this server's Docker only
TCP 8776 · TCP/UDP 4768Radicle peers · IPFS peers
+ +
IPCR Forge · Radicle · Gitea · Kubo · nerdctl · IPCR
+
+ + + + diff --git a/Apps/IPCR-Forge/seed/web/default.conf b/Apps/IPCR-Forge/seed/web/default.conf new file mode 100644 index 0000000..7316e4b --- /dev/null +++ b/Apps/IPCR-Forge/seed/web/default.conf @@ -0,0 +1,19 @@ +# IPCR Forge landing page. Static, plus IPCR's published.json as /images.json. +# No nginx variables on purpose: this file is also safe to render as a Maison template. +server { + listen 8080; + server_tokens off; + root /usr/share/nginx/html; + index index.html; + + location = /images.json { + alias /srv/ipcr-state/published.json; + default_type application/json; + add_header Cache-Control "no-store"; + } + + # Only the page and its icon; nothing else under the state directory is reachable. + location / { + add_header Cache-Control "no-cache"; + } +} From 108a2649dc3fd589b61177f51baf24834c4beea7 Mon Sep 17 00:00:00 2001 From: Worph Date: Sat, 3 Oct 2026 17:21:37 +0000 Subject: [PATCH 04/12] =?UTF-8?q?Fix=20paths=20after=20the=20apps/=20?= =?UTF-8?q?=E2=86=92=20Apps/=20rename?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The rename left lowercase paths that 404 on case-sensitive hosts: the install URLs in the README and on the IPCR Forge landing page, and the dev compose's ./apps/IPCR/seed mount. --- Apps/IPCR-Forge/docker-compose.yml | 18 +++++++++--------- Apps/IPCR-Forge/seed/site/index.html | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Apps/IPCR-Forge/docker-compose.yml b/Apps/IPCR-Forge/docker-compose.yml index f1479ce..1b764c8 100644 --- a/Apps/IPCR-Forge/docker-compose.yml +++ b/Apps/IPCR-Forge/docker-compose.yml @@ -16,8 +16,8 @@ name: ipcr-forge # (IPCR's published.json, served as /images.json). is the IPNS key IPCR minted for the # repository (k51…), not the repository's name, which is why the page lists it. # -# Every service is copied verbatim from its standalone listing (apps/Radicle, apps/Gitea, -# apps/Radicle-Gitea-Bridge, apps/IPCR), so each keeps its own comments and rationale.md. +# Every service is copied verbatim from its standalone listing (Apps/Radicle, Apps/Gitea, +# Apps/Radicle-Gitea-Bridge, Apps/IPCR), so each keeps its own comments and rationale.md. # Only the data folders move, one subfolder per part: $AppID/{radicle,gitea,bridge,ipcr}/. # # Replaces those four apps; it cannot sit beside them. It uses the same container names, @@ -77,7 +77,7 @@ services: - pcs # ═══ Radicle — the source of truth ═════════════════════════════════════════════ - # Verbatim from apps/Radicle; only its data folder moves to $AppID/radicle/. + # Verbatim from Apps/Radicle; only its data folder moves to $AppID/radicle/. # The web UI: the Radicle Explorer bundle served as static files by Caddy. # It is a pure client-side app — every request it makes goes from the visitor's @@ -203,7 +203,7 @@ services: - radicle-internal # ═══ Gitea — CI and the staging registry ═══════════════════════════════════════ - # Verbatim from apps/Gitea; only its data folder moves to $AppID/gitea/. + # Verbatim from Apps/Gitea; only its data folder moves to $AppID/gitea/. # Gitea itself — git hosting, the Actions controller, and the OCI package # registry, all in one process. SQLite: a personal forge never has the write @@ -328,7 +328,7 @@ services: - gitea-internal # ═══ Radicle → Gitea bridge ════════════════════════════════════════════════════ - # Verbatim from apps/Radicle-Gitea-Bridge; only its data folder moves to $AppID/bridge/. + # Verbatim from Apps/Radicle-Gitea-Bridge; only its data folder moves to $AppID/bridge/. radicle-gitea-bridge: image: ghcr.io/worph/radicle-gitea-bridge:0.1.0 @@ -373,7 +373,7 @@ services: - pcs # ═══ IPCR — the IPFS container registry ════════════════════════════════════════ - # Verbatim from apps/IPCR; only its data folder moves to $AppID/ipcr/. + # Verbatim from Apps/IPCR; only its data folder moves to $AppID/ipcr/. # ── The registry Docker talks to ──────────────────────────────────────────── # ipcrd: TLS front door on 127.0.0.1:4767. Passes /ipfs/ through to the stock nerdctl @@ -523,13 +523,13 @@ networks: pcs: name: ${APP_NET:-pcs} external: true - # From apps/Radicle: egress only, for the node. + # From Apps/Radicle: egress only, for the node. radicle-internal: driver: bridge - # From apps/Gitea: gitea ↔ runner, nothing else. + # From Apps/Gitea: gitea ↔ runner, nothing else. gitea-internal: driver: bridge - # From apps/IPCR: gateway ↔ registry ↔ kubo, nothing else. + # From Apps/IPCR: gateway ↔ registry ↔ kubo, nothing else. ipcr-internal: driver: bridge diff --git a/Apps/IPCR-Forge/seed/site/index.html b/Apps/IPCR-Forge/seed/site/index.html index d4c3556..1f63f92 100644 --- a/Apps/IPCR-Forge/seed/site/index.html +++ b/Apps/IPCR-Forge/seed/site/index.html @@ -174,9 +174,9 @@ from this server and from every other server that already pulled it.

Install IPCR from the App Store. There is nothing to configure.

On any Linux server with Docker 29+

mkdir -p /DATA/AppData/ipcr && cd /DATA/AppData/ipcr
-curl -fsSLO https://raw.githubusercontent.com/Yundera/ipcr/main/apps/IPCR/docker-compose.yml
+curl -fsSLO https://raw.githubusercontent.com/Yundera/ipcr/main/Apps/IPCR/docker-compose.yml
 install -d -m 0700 -o 1000 -g 1000 kubo && install -d -o 1000 -g 1000 init.d
-curl -fsSL -o init.d/01-ipcr-node.sh https://raw.githubusercontent.com/Yundera/ipcr/main/apps/IPCR/seed/init.d/01-ipcr-node.sh
+curl -fsSL -o init.d/01-ipcr-node.sh https://raw.githubusercontent.com/Yundera/ipcr/main/Apps/IPCR/seed/init.d/01-ipcr-node.sh
 chmod 0755 init.d/01-ipcr-node.sh
 printf 'PUID=1000\nPGID=1000\nTZ=UTC\nAppID=ipcr\n' > .env
 docker compose up -d
From 8351e2cc56a32b3140e3c66f0ff061768f54aa5e Mon Sep 17 00:00:00 2001 From: Worph Date: Sun, 4 Oct 2026 09:33:47 +0000 Subject: [PATCH 05/12] IPCR Forge: bridge 1.0.0 and DAC_READ_SEARCH so IPCR can import from Gitea Found on a fresh install (demostaging1): the Forge pinned bridge 0.1.0, which predates IPCR_AUTH_FILE, so IPCR's read-only Gitea token was never written. And ipcr-gateway (root, cap_drop ALL) could not read the token anyway: it is 0600, owned by $PUID, in a 0700 folder. Bump both bridge refs to 1.0.0 and give the gateway back DAC_READ_SEARCH (read-only), documented in rationale.md. --- Apps/IPCR-Forge/docker-compose.yml | 9 +++++++-- Apps/IPCR-Forge/rationale.md | 15 +++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Apps/IPCR-Forge/docker-compose.yml b/Apps/IPCR-Forge/docker-compose.yml index 1b764c8..50152ca 100644 --- a/Apps/IPCR-Forge/docker-compose.yml +++ b/Apps/IPCR-Forge/docker-compose.yml @@ -331,7 +331,7 @@ services: # Verbatim from Apps/Radicle-Gitea-Bridge; only its data folder moves to $AppID/bridge/. radicle-gitea-bridge: - image: ghcr.io/worph/radicle-gitea-bridge:0.1.0 + image: ghcr.io/worph/radicle-gitea-bridge:1.0.0 container_name: radicle-gitea-bridge user: $PUID:$PGID # Reads two HTTP APIs and runs git. Needs no capability at all. @@ -386,6 +386,11 @@ services: user: "0:0" # Root needs no capabilities to write root-owned files it owns; drop them all. cap_drop: [ALL] + # Forge only: one back, read-only. The import token below is written by bridge-credentials as + # $PUID, mode 0600, in a 0700 folder; a root with no capabilities is bound by those modes like + # anyone else (verified: "permission denied"). DAC_READ_SEARCH bypasses read and search checks + # only, never write, and only on what this container mounts. See rationale.md. + cap_add: [DAC_READ_SEARCH] security_opt: ["no-new-privileges:true"] restart: unless-stopped command: ["gateway"] @@ -757,7 +762,7 @@ x-compose-app: chmod 600 /runner/token when: absent:/DATA/AppData/$AppID/gitea/runner/.runner - name: bridge-credentials - image: ghcr.io/worph/radicle-gitea-bridge:0.1.0 + image: ghcr.io/worph/radicle-gitea-bridge:1.0.0 user: $PUID:$PGID phase: post_up network: $APP_NET diff --git a/Apps/IPCR-Forge/rationale.md b/Apps/IPCR-Forge/rationale.md index 17c6cb9..eba68af 100644 --- a/Apps/IPCR-Forge/rationale.md +++ b/Apps/IPCR-Forge/rationale.md @@ -25,6 +25,8 @@ bundle adds. 3. **A public landing page.** `ipcr-forge-` is not behind the SSO gate. 4. **It replaces four apps** and cannot be installed beside them: same container names, domains and host ports. +5. **One added capability.** `ipcr-gateway` gets `cap_add: [DAC_READ_SEARCH]` on top of the + standalone listing's `cap_drop: [ALL]`. ## Why it is necessary @@ -55,8 +57,21 @@ Renaming every container, domain and port to coexist would break the defaults th and IPCR rely on (`radicle-api:8080`, `gitea:3000`) and the documented addresses users type, for no use case: running two copies of the same forge on one server. +**5. `DAC_READ_SEARCH`.** The gateway runs as root (for the CA it drops into the host's Docker +trust store) with every capability dropped, and a root with no capabilities is bound by file +modes like any other user. The import token is written by the bridge's install step as `$PUID`, +mode `0600`, in a `0700` folder, so without the capability the gateway cannot open it (verified +on a fresh install: `open /data/secrets/registry-auth: permission denied`, then `401` from +Gitea). `DAC_READ_SEARCH` restores exactly the missing half: reading files and traversing +directories regardless of their modes. + ## Security mitigations in place +- **The added capability is read-only and narrow.** `DAC_READ_SEARCH` bypasses read and + directory-search checks only. It grants no write, ownership or privilege change, and reaches + only what the gateway mounts: its own TLS folder and state, the token (mounted read-only) and + the Docker trust store it already writes to. + - **The network link is narrow.** `gitea-internal` holds only `gitea`, `gitea-runner` and now `ipcr-gateway`. The gateway's only listener is the read-only registry API. Kubo's unauthenticated RPC API stays on `ipcr-internal`, which nothing from Gitea joins. Jobs run From a8a3037cbaedb126bee1940b21a28b864a2254a0 Mon Sep 17 00:00:00 2001 From: Worph Date: Sun, 4 Oct 2026 10:36:11 +0000 Subject: [PATCH 06/12] IPCR Forge page: fix the publish guide after a run-through MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Following the page end to end on a fresh demo box found four gaps: - rad init needs a Git repository with a commit: show git init/add/commit - the node must be running: rad node start - rad seed ends with "✗ Target not met" from the public seeds; harmless, check the Radicle explorer instead - the first build takes 5-10 min while the runner pulls its images Also say to commit the workflow before tagging. --- Apps/IPCR-Forge/seed/site/index.html | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/Apps/IPCR-Forge/seed/site/index.html b/Apps/IPCR-Forge/seed/site/index.html index 1f63f92..f877ca2 100644 --- a/Apps/IPCR-Forge/seed/site/index.html +++ b/Apps/IPCR-Forge/seed/site/index.html @@ -98,8 +98,9 @@ service. Code lives on Radicle, Gitea Actions builds it, and IPCR serves the ima
→
5 · Pullany server with IPCR: ipcr.localhost:4767/ipns/…
-

Steps 2 to 4 are automatic and take two to three minutes. A repository needs no configuration -beyond committing a workflow.

+

Steps 2 to 4 are automatic and usually take a few minutes. The very first build on this server +takes longer (about 5 to 10 minutes) while the runner downloads its build images. A repository +needs no configuration beyond committing a workflow.

Published images

Loading…

@@ -107,17 +108,26 @@ beyond committing a workflow.

Publish a project

  1. Install Radicle on your machine and create an identity: see - radicle.xyz, then rad auth.
  2. + radicle.xyz, then rad auth. + Start your own node, which carries your pushes: rad node start.
  3. Connect to this server's node so your pushes reach it:
    rad node connect <node-id>@<this server>:8776
  4. -
  5. Publish the repository from its folder: rad init. It prints a repository - ID (rad:z…).
  6. +
  7. Publish the repository. It has to be a Git repository with at least one commit: +
    git init -b main
    +git add -A
    +git commit -m "First commit"
    +rad init
    + rad init prints the repository ID (rad:z…).
  8. Let this node seed it. The node only keeps repositories it is told to (seeding policy block). In this server's Terminal app or over SSH: -
    docker exec radicle-node rad seed rad:z… --scope all
  9. +
    docker exec radicle-node rad seed rad:z… --scope all
    + It ends with ✗ Target not met: could not fetch from […]. That is about the public + Radicle seeds, not this server, and can be ignored. The repository is in place once it shows + in the Radicle explorer.
  10. Add a workflow at .gitea/workflows/build.yml. This one builds the Dockerfile at the root and publishes it for every v* tag. The - REGISTRY_TOKEN secret is already set for every repository. + REGISTRY_TOKEN secret is already set for every repository. Commit it + (git add .gitea && git commit -m "Build the image").
    on:
       push:
         tags: ['v*']
    @@ -211,6 +221,7 @@ for IPFS peers. Details: 
    Date: Sun, 4 Oct 2026 18:13:11 +0000
    Subject: [PATCH 07/12] IPCR Forge v2: Radicle-only with rad-actions
    
    Snapshot of the Radicle-only forge (cib + act, DinD staging registry)
    before the Gitea-centric v3 POC replaces it. Also carries the gateway's
    IMPORT_PUBLISHER mode, multi-segment IPNS paths and IPCR 1.2.0.
    ---
     Apps/IPCR-Forge/docker-compose.yml            | 457 +++++++-----------
     Apps/IPCR-Forge/rationale.md                  | 168 +++----
     .../seed/gitea/runner-config/act_runner-run   |  32 --
     .../seed/gitea/runner-config/config.yaml      |  40 --
     Apps/IPCR-Forge/seed/site/index.html          |  77 +--
     Apps/IPCR-Forge/seed/web/default.conf         |  12 +-
     docs/forge.md                                 | 185 +++++++
     7 files changed, 509 insertions(+), 462 deletions(-)
     delete mode 100644 Apps/IPCR-Forge/seed/gitea/runner-config/act_runner-run
     delete mode 100644 Apps/IPCR-Forge/seed/gitea/runner-config/config.yaml
     create mode 100644 docs/forge.md
    
    diff --git a/Apps/IPCR-Forge/docker-compose.yml b/Apps/IPCR-Forge/docker-compose.yml
    index 50152ca..675894e 100644
    --- a/Apps/IPCR-Forge/docker-compose.yml
    +++ b/Apps/IPCR-Forge/docker-compose.yml
    @@ -4,35 +4,41 @@ name: ipcr-forge
     #
     #   git push rad main v1.2.3                                  (developer)
     #     → radicle-node / radicle-api        source of truth, peer-to-peer
    -#     → radicle-gitea-bridge              copies repos that commit .gitea/workflows/
    -#     → gitea + gitea-runner              GitHub-style Actions build the image
    -#     → gitea registry                    staging: gitea-/gitea_admin/:1.2.3
    -#     → ipcr-gateway follows Gitea's registry   imports every tag into IPFS, publishes IPNS
    +#     → rad-actions (cib + act)           the node's own CI: GitHub-style workflows, run on the
    +#                                         commit straight from the node's storage
    +#     → rad-actions-registry              staging: localhost:5000/:1.2.3 (internal only)
    +#     → ipcr-gateway follows that registry   imports every tag into IPFS, publishes IPNS
     #     → ipcr-kubo / ipcr-registry
     #   docker pull ipcr.localhost:4767/ipns/:1.2.3         (anyone)
     #
    +# Radicle is the only place anything originates. There is no mirror, no second forge and no
    +# bridge: the CI broker reads the node's events and its storage, and writes each result back
    +# into the repository as a job COB signed by the node. The CI's pages (cib's reports and the run
    +# logs) are static files the landing page serves under /ci/.
    +#
     # The tile opens ipcr-forge-: a static landing page (nginx) that explains the pipeline,
    -# links Radicle and Gitea, and lists every published image with the exact `image:` line to use
    -# (IPCR's published.json, served as /images.json).  is the IPNS key IPCR minted for the
    +# links Radicle and the CI runs, and lists every published image with the exact `image:` line to
    +# use (IPCR's published.json, served as /images.json).  is the IPNS key IPCR minted for the
     # repository (k51…), not the repository's name, which is why the page lists it.
     #
    -# Every service is copied verbatim from its standalone listing (Apps/Radicle, Apps/Gitea,
    -# Apps/Radicle-Gitea-Bridge, Apps/IPCR), so each keeps its own comments and rationale.md.
    -# Only the data folders move, one subfolder per part: $AppID/{radicle,gitea,bridge,ipcr}/.
    +# Radicle and IPCR services are copied verbatim from their standalone listings (Apps/Radicle,
    +# Apps/IPCR), so each keeps its own comments and rationale.md. Only the data folders move, one
    +# subfolder per part: $AppID/{radicle,ci,ipcr}/.
     #
    -# Replaces those four apps; it cannot sit beside them. It uses the same container names,
    -# domains (radicle-, radicle-api-, gitea-) and host ports (8776, 4768, 127.0.0.1:4767).
    +# Replaces the Radicle and IPCR apps; it cannot sit beside them. It uses the same container
    +# names, domains (radicle-, radicle-api-) and host ports (8776, 4768, 127.0.0.1:4767).
     #
    -# The handoff from Gitea's registry to IPFS is a pull, run by IPCR: the runner's jobs run in a
    -# nested Docker that cannot reach ipcr.localhost (the *host's* loopback), so CI never pushes to
    -# IPCR. Instead ipcr-gateway polls gitea:3000 over gitea-internal, with a read-only token the
    -# bridge-credentials step mints. Gitea does not know IPCR exists.
    +# The handoff from CI to IPFS is a pull, run by IPCR: jobs run in the CI's own Docker daemon,
    +# which cannot reach ipcr.localhost (the *host's* loopback). So a workflow pushes to the staging
    +# registry, which shares that daemon's network namespace and is therefore `localhost:5000` to
    +# every job, and ipcr-gateway polls it over ci-internal.
     
     services:
       # ═══ Landing page — the tile's web UI ══════════════════════════════════════════
    -  # Static: the page, its icon, and IPCR's list of published images (read-only). It shows only
    -  # links, documentation and image names that are public on IPFS anyway, so it is not behind
    -  # the SSO gate; Gitea keeps its own login, Radicle is public by design.
    +  # Static: the page, its icon, IPCR's list of published images and the CI's pages (read-only).
    +  # It shows only links, documentation, image names that are public on IPFS anyway, and build
    +  # logs of public repositories (the adapter does not run private ones), so it is not behind
    +  # the SSO gate; Radicle is public by design.
       ipcr-forge:
         image: nginxinc/nginx-unprivileged:1.29.3-alpine
         container_name: ipcr-forge
    @@ -56,6 +62,8 @@ services:
           - ${DATA_ROOT:-/DATA}/AppData/$AppID/web/default.conf:/etc/nginx/conf.d/default.conf:ro
           # published.json → /images.json. Read-only; the location in default.conf serves that file only.
           - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/state:/srv/ipcr-state:ro
    +      # The CI broker's report pages and the run logs → /ci/. Read-only.
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/html:/srv/ci:ro
         healthcheck:
           test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8080/"]
           interval: 30s
    @@ -202,143 +210,104 @@ services:
         networks:
           - radicle-internal
     
    -  # ═══ Gitea — CI and the staging registry ═══════════════════════════════════════
    -  # Verbatim from Apps/Gitea; only its data folder moves to $AppID/gitea/.
    +  # ═══ CI — Radicle CI broker + act ═════════════════════════════════════════════════
     
    -  # Gitea itself — git hosting, the Actions controller, and the OCI package
    -  # registry, all in one process. SQLite: a personal forge never has the write
    -  # concurrency that would justify a second container for Postgres.
    -  gitea:
    -    image: gitea/gitea:1.27.3-rootless
    -    container_name: gitea
    +  # cib (radicle-ci-broker) follows the node's events over its control socket, keeps the ones its
    +  # filters allow (changes signed by a delegate, in a repository with a workflow folder — see
    +  # ci/ci-broker.yaml in the IPCR repository), and runs the rad-actions adapter for each. The
    +  # adapter checks the commit out of the node's storage and runs the matching GitHub-style
    +  # workflows with act, against the Docker daemon below. cib writes HTML reports, and the result
    +  # of every run back into the repository as a job COB signed by this node.
    +  rad-actions:
    +    image: ghcr.io/yundera/rad-actions:0.1.0
    +    container_name: rad-actions
         user: $PUID:$PGID
    +    # Reaps act's and git's children: cib is not an init.
    +    init: true
    +    cap_drop: [ALL]
    +    security_opt: ["no-new-privileges:true"]
         restart: unless-stopped
    -    cpu_shares: 70
    +    cpu_shares: 20
         deploy:
           resources:
             limits:
    -          memory: 1G
    +          memory: 512M
         environment:
           TZ: $TZ
    -      # Every URL Gitea hands out — clone URLs, the registry host, and the
    -      # server_url the CI runner passes to jobs — is derived from ROOT_URL, so
    -      # it has to be the address that works from outside as well as inside.
    -      GITEA__server__ROOT_URL: https://gitea-${APP_DOMAIN}/
    -      GITEA__server__DOMAIN: gitea-${APP_DOMAIN}
    -      GITEA__server__HTTP_PORT: "3000"
    -      GITEA__server__PROTOCOL: http
    -      # The address Gitea's own CLI uses to reach the running server's internal
    -      # API. It defaults to localhost, which is right for the server itself and
    -      # useless from the init container that runs
    -      # `gitea actions generate-runner-token`. It has to be set here rather than
    -      # there: the CLI reads it out of the shared app.ini, and only this
    -      # container's entrypoint renders environment into app.ini.
    -      GITEA__server__LOCAL_ROOT_URL: http://gitea:3000/
    -      # Git over SSH would need a published host port of its own. Everything
    -      # here — clone, push, CI, registry — goes over HTTPS instead.
    -      GITEA__server__DISABLE_SSH: "true"
    -      GITEA__server__START_SSH_SERVER: "false"
    -      # Skips the first-run install wizard: every value it would ask for is set
    -      # here, and the admin account is created by an init step below.
    -      GITEA__security__INSTALL_LOCK: "true"
    -      GITEA__database__DB_TYPE: sqlite3
    -      GITEA__database__PATH: /var/lib/gitea/data/gitea.db
    -      GITEA__service__DISABLE_REGISTRATION: "true"
    -      GITEA__service__REQUIRE_SIGNIN_VIEW: "true"
    -      GITEA__actions__ENABLED: "true"
    -      # Where a bare `uses: actions/checkout@v4` is resolved from.
    -      GITEA__actions__DEFAULT_ACTIONS_URL: github
    -      GITEA__packages__ENABLED: "true"
    -      # Lets a pull mirror name a repository on this server's own Docker
    -      # network — a Radicle node's git endpoint, for instance. See rationale.md.
    -      GITEA__migrations__ALLOW_LOCALNETWORKS: "true"
    -      # How often a pull mirror is re-fetched. The sync emits the same push
    -      # event a real push would, so this interval is also how quickly CI
    -      # reacts to a commit that arrives from the mirrored source.
    -      GITEA__mirror__DEFAULT_INTERVAL: 10m
    -      GITEA__mirror__MIN_INTERVAL: 10m
    +      # The daemon jobs run in. Its socket is the only thing shared with it.
    +      DOCKER_HOST: unix:///run/dind/docker.sock
    +      # The images act runs a `runs-on:` label in. act's own medium images (Ubuntu with Node and
    +      # the Docker CLI), the ones act users run on their laptops.
    +      RAD_ACTIONS_PLATFORMS: ubuntu-latest=catthehacker/ubuntu:act-latest,ubuntu-24.04=catthehacker/ubuntu:act-24.04,ubuntu-22.04=catthehacker/ubuntu:act-22.04
    +      # `vars` every workflow sees. IMAGE = IMAGE_PREFIX/, the name IPCR imports.
    +      RAD_ACTIONS_VARS: REGISTRY=localhost:5000,IMAGE_PREFIX=localhost:5000
    +      # cib's pages link each run to its log there (served by ipcr-forge).
    +      RAD_ACTIONS_LOG_URL: /ci/logs/
    +      # The repository's web page, as the adapter's GitHub API stand-in reports it (html_url, which
    +      # docker/metadata-action turns into the image's org.opencontainers.image.source label).
    +      RAD_ACTIONS_REPO_URL: https://radicle-${APP_DOMAIN}/nodes/radicle-api-${APP_DOMAIN}/{rid}
         volumes:
    -      - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/data:/var/lib/gitea
    -      - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/config:/etc/gitea
    -    healthcheck:
    -      test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:3000/api/healthz"]
    -      interval: 30s
    -      timeout: 10s
    -      retries: 5
    -      start_period: 60s
    -    expose:
    -      - 3000
    -    labels:
    -      caddy_0: gitea-${APP_DOMAIN}
    -      caddy_0.import: gateway_tls
    -      caddy_0.reverse_proxy: "{{upstreams 3000}}"
    -      caddy_1: gitea-${APP_PUBLIC_IP_DASH}.nip.io
    -      caddy_1.import: gateway_tls
    -      caddy_1.reverse_proxy: "{{upstreams 3000}}"
    -      caddy_2: gitea-${APP_PUBLIC_IP_DASH}.sslip.io
    -      caddy_2.reverse_proxy: "{{upstreams 3000}}"
    +      # The node's home: its control socket (events), its storage (checkouts, job COBs) and its
    +      # key, which signs the job COBs. The same mount radicle-api has.
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/radicle/home/:/radicle-home/
    +      # cib's database, its pages and the run logs, act's action cache, and scratch checkouts.
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/state:/ci/state
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/html:/ci/html
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/cache:/ci/cache
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/home:/ci/home
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/work:/ci/work
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/socket:/run/dind
    +    depends_on:
    +      - radicle-node
    +      - rad-actions-docker
         networks:
    -      - pcs
    -      - gitea-internal
    +      # Egress only: act fetches actions (actions/checkout, docker/*) from GitHub.
    +      - ci-internal
     
    -  # The CI runner: act_runner with its own Docker daemon inside it (dind), so
    -  # workflow jobs and the images they build never touch the host's daemon.
    -  # See rationale.md for what `privileged` buys and what it costs.
    -  gitea-runner:
    -    image: gitea/act_runner:0.6.1-dind
    -    container_name: gitea-runner
    -    restart: unless-stopped
    +  # The daemon jobs run in: Docker-in-Docker, so jobs and the images they build never touch the
    +  # host's daemon. See rationale.md for what `privileged` buys and what it costs. No TCP listener:
    +  # its only API is a unix socket in a folder shared with rad-actions, owned by $PGID.
    +  rad-actions-docker:
    +    image: docker:29.1-dind
    +    container_name: rad-actions-docker
         privileged: true
    +    restart: unless-stopped
         cpu_shares: 20
    +    command: ["--host=unix:///run/dind/docker.sock", "--group=$PGID"]
         deploy:
           resources:
             limits:
               memory: 2G
         environment:
           TZ: $TZ
    -      # This address is not just how the runner daemon reaches Gitea — it is
    -      # handed to every job as GITHUB_SERVER_URL, and a job runs inside the
    -      # runner's *nested* daemon, on a network where `gitea` does not resolve.
    -      # So it has to be an address that works from the outside: checkout and
    -      # `docker login` from a workflow both go out and back over HTTPS.
    -      GITEA_INSTANCE_URL: https://gitea-${APP_DOMAIN}
    -      GITEA_RUNNER_REGISTRATION_TOKEN_FILE: /data/token
    -      GITEA_RUNNER_NAME: gitea-runner
    -      # Registration-time labels. runner-config/config.yaml repeats them, and
    -      # that copy wins on every start, so an installed runner follows store updates.
    -      GITEA_RUNNER_LABELS: ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest,ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04,ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04,docker:docker://docker:28.5-cli
    -      CONFIG_FILE: /config/config.yaml
    -      # DOCKER_TLS_CERTDIR is deliberately left at the image's default. Emptying
    -      # it does not turn the nested daemon's TCP listener off — it turns the
    -      # listener's TLS off, and 2375 then answers unauthenticated to anything
    -      # that can reach this container.
    +      # No certificates: with an explicit --host the entrypoint adds no TCP listener to protect.
    +      DOCKER_TLS_CERTDIR: ""
         volumes:
    -      # .runner (the registration this runner is identified by) and the
    -      # registration token the init step leaves for it.
    -      - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/runner:/data
    -      - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/runner-config:/config:ro
    -      # Replaces the image's own start-up wait — see the comments in the
    -      # script. It is declared under x-compose-app.files rather than left to
    -      # the seed tree, because it has to arrive executable.
    -      - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/runner-config/act_runner-run:/etc/s6/act_runner/run:ro
    -      # The inner daemon's image store. Without this every restart re-pulls
    -      # every base image a workflow uses.
    -      - ${DATA_ROOT:-/DATA}/AppData/$AppID/gitea/runner-docker:/var/lib/docker
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/socket:/run/dind
    +      # The daemon's image store. Without it every restart re-pulls every job image.
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/docker:/var/lib/docker
    +    healthcheck:
    +      test: ["CMD", "docker", "-H", "unix:///run/dind/docker.sock", "info"]
    +      interval: 30s
    +      timeout: 10s
    +      retries: 3
    +      start_period: 30s
         networks:
    -      - gitea-internal
    +      - ci-internal
     
    -  # ═══ Radicle → Gitea bridge ════════════════════════════════════════════════════
    -  # Verbatim from Apps/Radicle-Gitea-Bridge; only its data folder moves to $AppID/bridge/.
    -
    -  radicle-gitea-bridge:
    -    image: ghcr.io/worph/radicle-gitea-bridge:1.0.0
    -    container_name: radicle-gitea-bridge
    +  # The staging registry, in the daemon's network namespace: `localhost:5000` to the daemon and to
    +  # every job (act runs jobs on the host network, which is this namespace), so a plain
    +  # `docker push` or buildx with `network=host` works without TLS or credentials — Docker allows
    +  # plain HTTP to localhost only. ipcr-gateway reaches it as rad-actions-docker:5000. Nothing
    +  # outside ci-internal can.
    +  rad-actions-registry:
    +    image: registry:3.0.0
    +    container_name: rad-actions-registry
         user: $PUID:$PGID
    -    # Reads two HTTP APIs and runs git. Needs no capability at all.
         cap_drop: [ALL]
         security_opt: ["no-new-privileges:true"]
         restart: unless-stopped
    -    command: ["bridge"]
    +    network_mode: service:rad-actions-docker
         cpu_shares: 20
         deploy:
           resources:
    @@ -346,31 +315,14 @@ services:
               memory: 128M
         environment:
           TZ: $TZ
    -      # git wants a home; the image's is root's and this runs as $PUID.
    -      HOME: /tmp
    -      RAD_API: http://radicle-api:8080
    -      GITEA_URL: http://gitea:3000
    -      # The Gitea account that owns the copies — the one the Gitea app creates.
    -      GITEA_OWNER: gitea_admin
    -      GITEA_TOKEN_FILE: /secrets/gitea-token
    -      # A repository opts in by containing this path at its head.
    -      OPT_IN_PATH: .gitea/workflows
    -      # Seconds between passes. Releases are not latency-sensitive.
    -      INTERVAL: "30"
    +      REGISTRY_HTTP_ADDR: 0.0.0.0:5000
    +      # Staging only: IPCR has its own copy once imported, so old tags may be deleted.
    +      REGISTRY_STORAGE_DELETE_ENABLED: "true"
    +      OTEL_TRACES_EXPORTER: none
         volumes:
    -      # One bare repository per Radicle repository: a staging copy between fetch and
    -      # push, so a push only sends what changed. Disposable: rebuilt if deleted.
    -      - ${DATA_ROOT:-/DATA}/AppData/$AppID/bridge/cache:/cache
    -      # The Gitea token the init step mints. Read-only here.
    -      - ${DATA_ROOT:-/DATA}/AppData/$AppID/bridge/secrets:/secrets:ro
    -    healthcheck:
    -      test: ["CMD-SHELL", "test -s /secrets/gitea-token && curl -fsS -o /dev/null http://radicle-api:8080/api/v1 && curl -fsS -o /dev/null http://gitea:3000/api/healthz"]
    -      interval: 60s
    -      timeout: 10s
    -      retries: 3
    -      start_period: 30s
    -    networks:
    -      - pcs
    +      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/registry:/var/lib/registry
    +    depends_on:
    +      - rad-actions-docker
     
       # ═══ IPCR — the IPFS container registry ════════════════════════════════════════
       # Verbatim from Apps/IPCR; only its data folder moves to $AppID/ipcr/.
    @@ -379,18 +331,13 @@ services:
       # ipcrd: TLS front door on 127.0.0.1:4767. Passes /ipfs/ through to the stock nerdctl
       # registry below, resolves /ipns/: itself, and pins every image it serves.
       ipcr-gateway:
    -    image: ghcr.io/yundera/ipcr:1.1.0
    +    image: ghcr.io/yundera/ipcr:1.2.0
         container_name: ipcr-gateway
         # Root for one reason: it writes its CA into the host's Docker trust store (the narrow
         # bind below), which is root-owned. See rationale.md.
         user: "0:0"
         # Root needs no capabilities to write root-owned files it owns; drop them all.
         cap_drop: [ALL]
    -    # Forge only: one back, read-only. The import token below is written by bridge-credentials as
    -    # $PUID, mode 0600, in a 0700 folder; a root with no capabilities is bound by those modes like
    -    # anyone else (verified: "permission denied"). DAC_READ_SEARCH bypasses read and search checks
    -    # only, never write, and only on what this container mounts. See rationale.md.
    -    cap_add: [DAC_READ_SEARCH]
         security_opt: ["no-new-privileges:true"]
         restart: unless-stopped
         command: ["gateway"]
    @@ -405,21 +352,20 @@ services:
           # IPCR_IMPORT_REPOS) is copied into IPFS and published as /ipns/:;
           # a tag is re-imported when it moves. Empty = off. IPCR_IMPORT_AUTH is user:token,
           # a read-only (read:package) token is enough.
    -      # Forge: watch this app's own Gitea, over gitea-internal (not through Caddy).
    -      IMPORT_WATCH: ${IPCR_IMPORT_WATCH:-http://gitea:3000}
    +      # Forge: watch the CI's staging registry, over ci-internal. Internal, so no credentials.
    +      IMPORT_WATCH: ${IPCR_IMPORT_WATCH:-http://rad-actions-docker:5000}
           IMPORT_AUTH: ${IPCR_IMPORT_AUTH:-}
    -      # Forge: a read:package token the bridge-credentials step mints. Re-read every poll
    -      # and preferred over IMPORT_AUTH, so it may appear after the gateway is up.
    -      IMPORT_AUTH_FILE: /data/secrets/registry-auth
           IMPORT_REPOS: ${IPCR_IMPORT_REPOS:-}
    +      # Forge: every repository this node builds is published under one IPNS key, "forge", as
    +      # /ipns//:. One name for the whole forge, which a DNSLink domain or an
    +      # ENS name can point at: ipcr.localhost:4767/ipns/example.eth/:.
    +      IMPORT_PUBLISHER: ${IPCR_IMPORT_PUBLISHER:-forge}
           IMPORT_INTERVAL: 60s
           STATE_DIR: /data/state
         volumes:
           - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/tls:/data/tls
           # What the watcher already imported (tag → manifest digest).
           - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/state:/data/state
    -      # Forge only: the credential above. Read-only here.
    -      - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/secrets:/data/secrets:ro
           # The host's Docker trust store, so the CA above can be dropped into it: no daemon
           # reload, no daemon.json edit. The parent is mounted because Compose cannot create a
           # bind source whose name contains a colon (ipcr.localhost:4767). ipcrd writes exactly
    @@ -439,8 +385,8 @@ services:
           start_period: 10s
         networks:
           - ipcr-internal
    -      # Forge only: reaches gitea:3000 for the import poller above.
    -      - gitea-internal
    +      # Forge only: reaches the staging registry for the import poller above.
    +      - ci-internal
         cpu_shares: 50
         deploy:
           resources:
    @@ -450,7 +396,7 @@ services:
       # ── Stock nerdctl IPFS registry ─────────────────────────────────────────────
       # `nerdctl ipfs registry serve`, unmodified: translates the registry API into IPFS reads.
       ipcr-registry:
    -    image: ghcr.io/yundera/ipcr:1.1.0
    +    image: ghcr.io/yundera/ipcr:1.2.0
         container_name: ipcr-registry
         # Root because nerdctl run as any other uid assumes rootless mode and refuses to start
         # without a rootless containerd — which `ipfs registry serve` never uses. The service has
    @@ -531,8 +477,8 @@ networks:
       # From Apps/Radicle: egress only, for the node.
       radicle-internal:
         driver: bridge
    -  # From Apps/Gitea: gitea ↔ runner, nothing else.
    -  gitea-internal:
    +  # CI: rad-actions ↔ its daemon (and staging registry) ↔ ipcr-gateway; egress for builds.
    +  ci-internal:
         driver: bridge
       # From Apps/IPCR: gateway ↔ registry ↔ kubo, nothing else.
       ipcr-internal:
    @@ -554,77 +500,90 @@ x-casaos:
       title:
         en_us: IPCR Forge
       tagline:
    -    en_us: A decentralised forge in one install — Radicle, Gitea Actions and IPFS images.
    -    fr_fr: Une forge décentralisée en une installation — Radicle, Gitea Actions et images IPFS.
    +    en_us: A decentralised forge in one install — Radicle, GitHub-style CI and IPFS images.
    +    fr_fr: Une forge décentralisée en une installation — Radicle, CI au format GitHub et images IPFS.
       description:
         en_us: |
           IPCR Forge is the full path from code to running container, without a central service:
     
           • **Radicle** holds your repositories on a peer-to-peer network. You push with `git push rad`.
    -      • **Gitea Actions** builds them with GitHub-style workflows, triggered by a release tag.
    +      • **Radicle CI** on this node builds them with GitHub-style workflows, triggered by a release tag.
           • **IPCR** serves the resulting images from IPFS, so anyone can `docker pull` them by name.
     
    -      A repository joins the pipeline by committing a workflow under `.gitea/workflows/`: there
    -      is nothing to configure per project.
    +      Radicle is the single source of truth: builds read the commit straight from this node, and
    +      their results go back into the repository as Radicle jobs. There is no mirror to keep in sync.
     
    -      Its own page explains how to publish a project and lists every published image with the
    -      line to put in a compose file.
    +      A repository joins the pipeline by committing a workflow under `.github/workflows/`, as on
    +      GitHub: there is nothing to configure per project.
     
    -      This app bundles the Radicle, Gitea, Radicle Gitea Bridge and IPCR apps. Install it instead
    -      of them, not beside them.
    +      Its own page explains how to publish a project, links every build and its log, and lists
    +      every published image with the line to put in a compose file.
    +
    +      This app bundles the Radicle and IPCR apps. Install it instead of them, not beside them.
         fr_fr: |
           IPCR Forge couvre tout le chemin du code au conteneur en production, sans service central :
     
           • **Radicle** garde vos dépôts sur un réseau pair-à-pair. Vous poussez avec `git push rad`.
    -      • **Gitea Actions** les construit avec des workflows au format GitHub, déclenchés par un tag.
    +      • **Radicle CI** sur ce nœud les construit avec des workflows au format GitHub, déclenchés par un tag.
           • **IPCR** sert les images produites depuis IPFS : n'importe qui peut les `docker pull`.
     
    -      Un dépôt rejoint la chaîne en ajoutant un workflow sous `.gitea/workflows/` : rien à
    -      configurer par projet.
    +      Radicle est l'unique source de vérité : les builds lisent le commit directement sur ce nœud,
    +      et leurs résultats retournent dans le dépôt sous forme de jobs Radicle. Aucun miroir à
    +      synchroniser.
     
    -      Sa page explique comment publier un projet et liste chaque image publiée avec la ligne à
    -      mettre dans un fichier compose.
    +      Un dépôt rejoint la chaîne en ajoutant un workflow sous `.github/workflows/`, comme sur
    +      GitHub : rien à configurer par projet.
     
    -      Cette application regroupe les applications Radicle, Gitea, Radicle Gitea Bridge et IPCR.
    -      Installez-la à leur place, pas à côté.
    +      Sa page explique comment publier un projet, donne accès à chaque build et à son journal, et
    +      liste chaque image publiée avec la ligne à mettre dans un fichier compose.
    +
    +      Cette application regroupe les applications Radicle et IPCR. Installez-la à leur place, pas à
    +      côté.
       tips:
         before_install:
           en_us: |
    -        **Replaces four apps.** Uninstall Radicle, Gitea, Radicle Gitea Bridge and IPCR first:
    -        this app uses the same addresses and ports.
    +        **Replaces two apps.** Uninstall Radicle and IPCR first: this app uses the same addresses
    +        and ports.
     
             | Address | What |
             | --- | --- |
    -        | `https://ipcr-forge-$APP_DOMAIN` | This app: how to publish, and every published image |
    +        | `https://ipcr-forge-$APP_DOMAIN` | This app: how to publish, every published image |
    +        | `https://ipcr-forge-$APP_DOMAIN/ci/` | CI runs and their logs (public) |
             | `https://radicle-$APP_DOMAIN` | Radicle explorer (public) |
             | `https://radicle-api-$APP_DOMAIN` | Radicle API and read-only git (public) |
    -        | `https://gitea-$APP_DOMAIN` | Gitea: builds, logs, staging registry (`gitea_admin`) |
             | `ipcr.localhost:4767` | IPCR registry, this server's Docker only |
     
             **Ports.** TCP 8776 (Radicle peers) and 4768 TCP+UDP (IPFS peers) are published.
     
    -        **Images reach IPFS on their own.** IPCR follows this app's Gitea registry: about a
    -        minute after a build pushes `gitea_admin/:`, it can be pulled as
    +        **Who can build.** Only changes signed by one of a repository's delegates trigger a build:
    +        release tags, the default branch and their patches. Builds run in their own Docker daemon.
    +
    +        **Images reach IPFS on their own.** A workflow pushes to `vars.IMAGE` (this node's
    +        staging registry); about a minute later the image can be pulled as
             `ipcr.localhost:4767/ipns/:`, where `` is the IPNS name (`k51…`) IPCR
             creates for the repository. The app's page lists each one with the line to copy.
           fr_fr: |
    -        **Remplace quatre applications.** Désinstallez d'abord Radicle, Gitea, Radicle Gitea
    -        Bridge et IPCR : cette application utilise les mêmes adresses et ports.
    +        **Remplace deux applications.** Désinstallez d'abord Radicle et IPCR : cette application
    +        utilise les mêmes adresses et ports.
     
             | Adresse | Quoi |
             | --- | --- |
    -        | `https://ipcr-forge-$APP_DOMAIN` | Cette application : publier, et toutes les images publiées |
    +        | `https://ipcr-forge-$APP_DOMAIN` | Cette application : publier, toutes les images publiées |
    +        | `https://ipcr-forge-$APP_DOMAIN/ci/` | Builds et leurs journaux (public) |
             | `https://radicle-$APP_DOMAIN` | Explorateur Radicle (public) |
             | `https://radicle-api-$APP_DOMAIN` | API Radicle et git en lecture seule (public) |
    -        | `https://gitea-$APP_DOMAIN` | Gitea : builds, journaux, registre de transit (`gitea_admin`) |
             | `ipcr.localhost:4767` | Registre IPCR, pour le Docker de ce serveur uniquement |
     
             **Ports.** TCP 8776 (pairs Radicle) et 4768 TCP+UDP (pairs IPFS) sont publiés.
     
    -        **Les images arrivent sur IPFS d'elles-mêmes.** IPCR suit le registre Gitea de cette
    -        application : environ une minute après qu'un build a poussé `gitea_admin/:`,
    -        elle se tire avec `ipcr.localhost:4767/ipns/:`, où `` est le nom IPNS
    -        (`k51…`) qu'IPCR crée pour le dépôt. La page de l'application les liste, prêts à copier.
    +        **Qui peut lancer un build.** Seuls les changements signés par un délégué du dépôt
    +        déclenchent un build : tags de version, branche par défaut et leurs patches. Les builds
    +        tournent dans leur propre démon Docker.
    +
    +        **Les images arrivent sur IPFS d'elles-mêmes.** Un workflow pousse vers `vars.IMAGE`
    +        (le registre de transit de ce nœud) ; environ une minute plus tard, l'image se tire avec
    +        `ipcr.localhost:4767/ipns/:`, où `` est le nom IPNS (`k51…`) qu'IPCR crée
    +        pour le dépôt. La page de l'application les liste, prêts à copier.
       index: /
       webui_port: 8080
       store_app_id: ipcr-forge
    @@ -646,29 +605,35 @@ x-compose-app:
         - path: /DATA/AppData/$AppID/radicle/caddy
           user: $PUID
           group: $PGID
    -    # ── Gitea ──
    -    - path: /DATA/AppData/$AppID/gitea/data
    -      user: $PUID
    -      group: $PGID
    -    - path: /DATA/AppData/$AppID/gitea/config
    -      user: $PUID
    -      group: $PGID
    -    - path: /DATA/AppData/$AppID/gitea/runner
    +    # ── CI ──
    +    - path: /DATA/AppData/$AppID/ci/state
           user: $PUID
           group: $PGID
           mode: "0700"
    -    - path: /DATA/AppData/$AppID/gitea/runner-config
    +    - path: /DATA/AppData/$AppID/ci/html/logs
           user: $PUID
           group: $PGID
    -    - path: /DATA/AppData/$AppID/gitea/runner-docker
    +    - path: /DATA/AppData/$AppID/ci/cache
    +      user: $PUID
    +      group: $PGID
    +    - path: /DATA/AppData/$AppID/ci/home
    +      user: $PUID
    +      group: $PGID
    +      mode: "0700"
    +    - path: /DATA/AppData/$AppID/ci/work
    +      user: $PUID
    +      group: $PGID
    +      mode: "0700"
    +    # The daemon's socket: created by root, group $PGID (dockerd --group), mode 0660.
    +    - path: /DATA/AppData/$AppID/ci/socket
    +      user: $PUID
    +      group: $PGID
    +      mode: "0750"
    +    - path: /DATA/AppData/$AppID/ci/docker
           user: $PUID
           group: $PGID
           mode: "0710"
    -    # ── Bridge ──
    -    - path: /DATA/AppData/$AppID/bridge/cache
    -      user: $PUID
    -      group: $PGID
    -    - path: /DATA/AppData/$AppID/bridge/secrets
    +    - path: /DATA/AppData/$AppID/ci/registry
           user: $PUID
           group: $PGID
           mode: "0700"
    @@ -680,11 +645,6 @@ x-compose-app:
         - path: /DATA/AppData/$AppID/ipcr/init.d
           user: $PUID
           group: $PGID
    -    # Written by bridge-credentials as $PUID, read by ipcr-gateway (root).
    -    - path: /DATA/AppData/$AppID/ipcr/secrets
    -      user: $PUID
    -      group: $PGID
    -      mode: "0700"
       files:
         # The landing page follows store updates: re-rendered on every up. None of the three holds a
         # dollar-brace sequence, so rendering cannot fail on an unresolved variable.
    @@ -709,17 +669,12 @@ x-compose-app:
           from: radicle/caddy/Caddyfile.tmpl
           ensure: always
           mode: "0644"
    -    - path: /DATA/AppData/$AppID/gitea/runner-config/act_runner-run
    -      from: gitea/runner-config/act_runner-run
    -      ensure: always
    -      mode: "0755"
         - path: /DATA/AppData/$AppID/ipcr/init.d/01-ipcr-node.sh
           from: ipcr/init.d/01-ipcr-node.sh
           ensure: always
           mode: "0755"
       init:
    -    # In order: Radicle's identity before its node starts, then Gitea's admin, then the
    -    # runner token and the bridge's credentials, which both need that admin to exist.
    +    # Radicle's identity before its node starts. The CI needs nothing: it uses the node's.
         - name: radicle-identity
           image: dirk1980/radicle-seed-node@sha256:78ccee526ad4b4f4d7c79c2323b032a7209858a48e1dc9c077272ff1660050e2
           user: $PUID:$PGID
    @@ -727,53 +682,5 @@ x-compose-app:
             - /DATA/AppData/$AppID/radicle/home:/radicle-home
           command: ["sh", "-c", "yes '' | rad auth --alias radicle-${APP_PUBLIC_IP_DASH} --stdin"]
           when: absent:/DATA/AppData/$AppID/radicle/home/keys/radicle
    -    - name: gitea-admin
    -      image: gitea/gitea:1.27.3-rootless
    -      user: $PUID:$PGID
    -      phase: post_up
    -      volumes:
    -        - /DATA/AppData/$AppID/gitea/data:/var/lib/gitea
    -        - /DATA/AppData/$AppID/gitea/config:/etc/gitea
    -      command:
    -        - sh
    -        - -c
    -        - |
    -          timeout 240 sh -c 'until gitea admin user list >/dev/null 2>&1; do sleep 3; done'
    -          gitea admin user create --admin --username gitea_admin \
    -            --password "$APP_DEFAULT_PASSWORD" --email "$APP_EMAIL" \
    -            --must-change-password=false \
    -            || echo "admin account already present, leaving it alone"
    -      when: always
    -    - name: gitea-runner-token
    -      image: gitea/gitea:1.27.3-rootless
    -      user: $PUID:$PGID
    -      phase: post_up
    -      network: $APP_NET
    -      volumes:
    -        - /DATA/AppData/$AppID/gitea/data:/var/lib/gitea
    -        - /DATA/AppData/$AppID/gitea/config:/etc/gitea
    -        - /DATA/AppData/$AppID/gitea/runner:/runner
    -      command:
    -        - sh
    -        - -c
    -        - |
    -          timeout 240 sh -c 'until gitea actions generate-runner-token > /runner/token.new 2>/dev/null; do sleep 3; done'
    -          mv /runner/token.new /runner/token
    -          chmod 600 /runner/token
    -      when: absent:/DATA/AppData/$AppID/gitea/runner/.runner
    -    - name: bridge-credentials
    -      image: ghcr.io/worph/radicle-gitea-bridge:1.0.0
    -      user: $PUID:$PGID
    -      phase: post_up
    -      network: $APP_NET
    -      volumes:
    -        - /DATA/AppData/$AppID/bridge/secrets:/secrets
    -        - /DATA/AppData/$AppID/ipcr/secrets:/ipcr-secrets
    -      # Also mints IPCR's read-only token for following Gitea's registry.
    -      command:
    -        - sh
    -        - -c
    -        - GITEA_PASSWORD="$APP_DEFAULT_PASSWORD" IPCR_AUTH_FILE=/ipcr-secrets/registry-auth bridge-init
    -      when: absent:/DATA/AppData/$AppID/bridge/secrets/gitea-token
       webui-host: ipcr-forge-${domain}
       webui-path: /
    diff --git a/Apps/IPCR-Forge/rationale.md b/Apps/IPCR-Forge/rationale.md
    index eba68af..5d60065 100644
    --- a/Apps/IPCR-Forge/rationale.md
    +++ b/Apps/IPCR-Forge/rationale.md
    @@ -1,9 +1,13 @@
     # IPCR Forge — Rationale
     
    -IPCR Forge bundles four store apps (Radicle, Gitea, Radicle Gitea Bridge, IPCR) and a static
    -landing page. Their services are copied verbatim, so each part keeps the deviations its
    -standalone listing already argues. This document lists them, then covers only what the
    -bundle adds.
    +IPCR Forge bundles two store apps (Radicle, IPCR), the node's own CI (`rad-actions`) and a static
    +landing page. The Radicle and IPCR services are copied verbatim, so each keeps the deviations its
    +standalone listing already argues. This document lists them, then covers only what the bundle adds.
    +
    +Earlier versions built with Gitea Actions, fed by a bridge that copied every Radicle repository
    +into Gitea. That made two places where state could start (Gitea held a second copy of each
    +repository, with its own PRs, issues and registry) and needed a glue service to keep them in step.
    +Gitea, its runner and the bridge are gone; the CI now runs on the Radicle node itself.
     
     ## What deviation / exception is being requested
     
    @@ -12,98 +16,97 @@ bundle adds.
     | From | Deviation |
     | --- | --- |
     | Radicle | No authentication gate on `radicle-` and `radicle-api-`; host port `8776/tcp` |
    -| Gitea | `gitea-runner` is `privileged` (Docker-in-Docker); `ALLOW_LOCALNETWORKS`; admin account `gitea_admin` |
    -| Radicle Gitea Bridge | An install step signs in once with the default app password to mint scoped tokens |
     | IPCR | `ipcr-gateway` and `ipcr-registry` run as root (no capabilities); `/etc/docker/certs.d` mounted; no authentication; ports `127.0.0.1:4767` and `4768/tcp+udp` |
     
     **Added by the bundle:**
     
    -1. **A cross-app network link.** `ipcr-gateway` joins `gitea-internal`, the network the
    -   standalone Gitea app reserves for Gitea and its runner.
    -2. **A cross-app credential.** The bridge's install step writes a token into IPCR's folder
    -   (`ipcr/secrets/registry-auth`), which `ipcr-gateway` reads.
    -3. **A public landing page.** `ipcr-forge-` is not behind the SSO gate.
    -4. **It replaces four apps** and cannot be installed beside them: same container names,
    -   domains and host ports.
    -5. **One added capability.** `ipcr-gateway` gets `cap_add: [DAC_READ_SEARCH]` on top of the
    -   standalone listing's `cap_drop: [ALL]`.
    +1. **`rad-actions-docker` runs `privileged`** (Docker-in-Docker), as Gitea's runner did.
    +2. **`rad-actions` mounts the Radicle node's home read-write**, including the node's key.
    +3. **A cross-app network link.** `ipcr-gateway` joins `ci-internal`, where the staging registry is.
    +4. **A public landing page, including the CI's pages.** `ipcr-forge-` and its `/ci/`
    +   (run reports and logs) are not behind the SSO gate.
    +5. **It replaces two apps** and cannot be installed beside them: same container names, domains
    +   and host ports.
     
     ## Why it is necessary
     
    -**1. The network link.** IPCR publishes images by *pulling* them from Gitea's registry: it
    -polls the registry and imports every new tag into IPFS. The pull has to come from IPCR's
    -side, because Gitea's build jobs run in the runner's nested Docker, which cannot reach
    -`ipcr.localhost` (that name is the host's loopback). In the standalone apps the gateway pulls
    -over Gitea's public HTTPS address. In the bundle both are on the same server, so it uses
    -`http://gitea:3000` over `gitea-internal` instead: no round trip through Caddy, and it keeps
    -working on a box with no public address. Gitea's registry hands out its bearer tokens at the
    -address the request came in on (`http://gitea:3000/v2/token`), so authentication stays
    -internal too.
    +**1. Privileged Docker-in-Docker.** Building an image needs a Docker daemon. The two ways to give
    +a CI job one are the host's socket (root on the PCS for every workflow) or a daemon of its own,
    +which needs `privileged`. The second confines a build to its own container and image store. The
    +rootless variant does not start on this platform (`kernel.apparmor_restrict_unprivileged_userns=1`;
    +see Apps/Gitea/rationale.md, where it was tried first).
     
    -**2. The credential.** Gitea's registry requires sign-in (`REQUIRE_SIGNIN_VIEW`), so IPCR
    -needs a token. Gitea mints tokens only for a caller holding the account password, and the
    -bridge's install step is the one place that already does that. It mints one more token,
    -`ipcr-import`, with `read:package` only, and writes it as a file because an install step can
    -produce files but not environment variables. `ipcrd` reads `IMPORT_AUTH_FILE` at the start of
    -every poll, so the file may appear after the gateway has started.
    +**2. The node's home.** The CI broker (`cib`, upstream `radicle-ci-broker`) is a client of the
    +node: it subscribes to the node's events over the control socket in that folder, reads repository
    +storage to check out a commit, and writes each run's result back into the repository as a job COB,
    +which the node's key signs. This is the mount `radicle-api` already has. It is what removes the
    +mirror: the build reads the commit where it lives, so there is no copy to drift.
     
    -**3. The landing page.** It holds no data that isn't public already: links to Radicle (public
    -by design) and Gitea (behind its own login), documentation, and the list of images IPCR has
    -published, which are public on IPFS by definition. A login in front of it would protect
    -nothing and would stand between a developer and the `image:` line they came for.
    +**3. The network link.** IPCR publishes images by *pulling* them: it polls a registry and imports
    +every new tag into IPFS. Jobs run in the CI's own daemon, which cannot reach `ipcr.localhost` (that
    +name is the host's loopback), so a workflow pushes to a staging registry instead. That registry
    +shares the daemon's network namespace, so it is `localhost:5000` to every job — the only address
    +Docker and BuildKit accept plain HTTP for, so no TLS or credentials are involved. `ipcr-gateway`
    +reaches it as `rad-actions-docker:5000` over `ci-internal`.
     
    -**4. Replacing the four apps.** The bundle is the same services, not a different product.
    -Renaming every container, domain and port to coexist would break the defaults the bridge
    -and IPCR rely on (`radicle-api:8080`, `gitea:3000`) and the documented addresses users type,
    -for no use case: running two copies of the same forge on one server.
    +**4. The public pages.** The landing page holds links, documentation and image names that are
    +public on IPFS anyway. `/ci/` shows `cib`'s report pages and the run logs. Radicle repositories are
    +public by design, and the adapter refuses to run a private repository, so a log never shows code
    +that is not already public. A login in front would stand between a developer and their build log.
     
    -**5. `DAC_READ_SEARCH`.** The gateway runs as root (for the CA it drops into the host's Docker
    -trust store) with every capability dropped, and a root with no capabilities is bound by file
    -modes like any other user. The import token is written by the bridge's install step as `$PUID`,
    -mode `0600`, in a `0700` folder, so without the capability the gateway cannot open it (verified
    -on a fresh install: `open /data/secrets/registry-auth: permission denied`, then `401` from
    -Gitea). `DAC_READ_SEARCH` restores exactly the missing half: reading files and traversing
    -directories regardless of their modes.
    +**5. Replacing two apps.** The bundle is the same services, not a different product. Renaming every
    +container, domain and port to coexist would break the defaults the services rely on
    +(`radicle-api:8080`) and the documented addresses users type.
     
     ## Security mitigations in place
     
    -- **The added capability is read-only and narrow.** `DAC_READ_SEARCH` bypasses read and
    -  directory-search checks only. It grants no write, ownership or privilege change, and reaches
    -  only what the gateway mounts: its own TLS folder and state, the token (mounted read-only) and
    -  the Docker trust store it already writes to.
    -
    -- **The network link is narrow.** `gitea-internal` holds only `gitea`, `gitea-runner` and now
    -  `ipcr-gateway`. The gateway's only listener is the read-only registry API. Kubo's
    -  unauthenticated RPC API stays on `ipcr-internal`, which nothing from Gitea joins. Jobs run
    -  in the runner's nested daemon, on a network where none of these names resolve.
    -- **The credential is read-only and contained.** `read:package` cannot push, delete or change
    -  anything. The file is written as `$PUID` into a `0700` folder and mounted read-only into the
    -  gateway. It is written then renamed, so a half-written token is never read. Re-running the
    -  install step replaces the token in Gitea, which revokes the old one.
    -- **The admin password is used once and never stored.** It is passed to `bridge-init` on its
    -  command line, as the Gitea app's own `create-admin` step does, and only the scoped tokens
    -  are written to disk.
    +- **Only delegates can start a build.** `cib`'s filter (ci/ci-broker.yaml) runs CI only for changes
    +  that come from a delegate of the repository (`AnyDelegate`): release tags, the default branch and
    +  their patches. A stranger's patch is never run. This matters because a build can publish: what a
    +  job pushes to the staging registry ends up on IPFS under the repository's IPNS name. A build
    +  therefore gets exactly the trust of a release.
    +- **The privileged daemon has no network listener.** `dockerd` gets an explicit
    +  `--host=unix:///run/dind/docker.sock` and `DOCKER_TLS_CERTDIR` is empty, so the entrypoint adds no
    +  TCP socket. The unix socket sits in a folder shared only with `rad-actions`, group `$PGID`.
    +- **`rad-actions` itself runs unprivileged:** `$PUID`, every capability dropped,
    +  `no-new-privileges`, 512 MB. Whoever controls it controls the daemon (that is the point of the
    +  socket), so it accepts no input but the node's events and a workflow from a delegate.
    +- **The node's key never enters a job.** Jobs run in the nested daemon from a self-contained,
    +  depth-1 checkout that the adapter fetched; the Radicle home is not mounted into them.
    +- **The staging registry is unreachable from outside.** No port, no Caddy route, on `ci-internal`
    +  only (`rad-actions`, the daemon and `ipcr-gateway`). It runs as `$PUID` with no capabilities.
    +- **Bounded.** One run at a time (`concurrent_adapters: 1`), 60 minutes per run, 2 GB for the daemon.
     - **The landing page cannot change anything.** `nginx-unprivileged` runs as `$PUID` with a
    -  read-only root filesystem (a tmpfs `/tmp` only), no capabilities, `no-new-privileges` and a
    -  32 MB limit. It mounts the page, its config and IPCR's `state/` read-only, and serves static
    -  files only.
    -- **It publishes one file of IPCR's state, not the folder.** `state/` is mounted outside the
    -  web root, and `default.conf` maps exactly one path to it:
    -  `location = /images.json { alias /srv/ipcr-state/published.json; }`. The watcher's own
    -  bookkeeping (`imported.json`, tag → digest) and anything else in `state/` answers 404.
    -- **Every inherited mitigation still applies,** because the services are unchanged. For
    -  example, the privileged runner can still be stopped without affecting the rest of the forge.
    +  read-only root filesystem, no capabilities, `no-new-privileges` and 32 MB. It mounts the page,
    +  its config, IPCR's `state/` and the CI's `html/`, all read-only, and serves static files only.
    +  From `state/` it maps exactly one file (`/images.json` → `published.json`).
    +- **The CI is severable.** Stopping `rad-actions` and `rad-actions-docker` removes the privileged
    +  container and leaves a working Radicle node and IPCR registry.
    +- **Smaller than what it replaces.** Gone: an admin account with the default password, two minted
    +  tokens, the `DAC_READ_SEARCH` capability IPCR needed to read one of them, and a second git server.
     
     ## Alternatives considered and rejected
     
     | Alternative | Why not |
     | --- | --- |
    -| Gitea pushes to IPCR (webhook, or a workflow step) | A workflow step cannot reach `ipcr.localhost`. A webhook would give IPCR a write endpoint on a shared network; a pull needs no inbound access at all. |
    -| Gateway pulls over the public `gitea-` address, as standalone | Works, but routes a same-box fetch out through Caddy and back, and fails on a box with no public address. |
    -| An admin-password credential for IPCR | Simpler, but gives the gateway full control of Gitea for a job that only reads packages. |
    -| `IMPORT_AUTH` as an environment variable | An install step cannot set one, so it would be a manual step after every install. |
    -| Renaming everything so the bundle can sit beside the four apps | Breaks the defaults and the documented addresses (see 4). |
    -| No landing page, Radicle explorer as the tile | Leaves newcomers without the pipeline explained or the IPNS name to pull, which IPCR mints and nobody can guess. |
    +| Keep Gitea, fed by a bridge (previous version) | Two sources of state (a second copy of each repository, with its own PRs and registry) and a glue service to keep them in step. |
    +| Gitea as a strict read-only mirror | Still a second git server and a sync to babysit, for one thing it adds: a web view of builds, which `cib`'s pages now provide. |
    +| Gitea's `act_runner` in `exec` mode | Same engine as `act` (a fork), but built for Gitea; nektos `act` is what people run on their laptops. |
    +| `cib`'s native adapter, or Ambient | Neither runs GitHub-style workflows; Ambient needs KVM. |
    +| `ipcrd` accepting pushes itself | A push endpoint would be a second registry implementation. The staging registry plus IPCR's existing import is byte-identical to `nerdctl push` and needed no change. |
    +| Host Docker socket for jobs | Any workflow would get root on the host. |
    +| Run patches from anyone | Their build could publish under the repository's IPNS name. Needs a separate daemon with no registry first. |
    +
    +## Known limitations
    +
    +- **No job COB for tag builds.** cib 0.32.1 keys a job by the event's tip, which for an annotated
    +  tag is the tag object rather than a commit, and creating that job fails (silently; the log only
    +  shows `NoJob` when the run finishes). Branch and patch builds get their job COB. Tag builds still
    +  appear in `/ci/` with their log. Upstream fix: peel the tag before creating the job.
    +- **Tags arrive as pushes.** cib sends a tag event as `event_type: push` with the tag's name in
    +  `branch`. The adapter tells them apart by looking for that name under `refs/tags/` in storage.
    +- **`HasFile` matches files only**, not folders, so cib cannot pre-filter on a workflow folder; the
    +  adapter answers "no workflow" itself.
     
     ## Data protection
     
    @@ -111,13 +114,12 @@ Everything lives under `/DATA/AppData/ipcr-forge/`, one folder per part:
     
     | Folder | Holds |
     | --- | --- |
    -| `radicle/` | node identity (key pair), seeded repositories, Caddy config |
    -| `gitea/` | repositories, SQLite database, `app.ini`, runner registration, the runner's image store |
    -| `bridge/` | `cache/` (disposable bare repositories), `secrets/gitea-token` (0600) |
    -| `ipcr/` | Kubo repo (node identity, IPNS keys, pinned images), TLS CA, watcher state, `secrets/registry-auth` |
    +| `radicle/` | node identity (key pair), seeded repositories (including job COBs), Caddy config |
    +| `ci/` | `cib`'s database (`state/`), report pages and run logs (`html/`), act's action cache, the daemon's image store (`docker/`), the staging registry (`registry/`, disposable) |
    +| `ipcr/` | Kubo repo (node identity, IPNS keys, pinned images), TLS CA, watcher state |
     | `site/`, `web/` | the landing page and its nginx config, re-rendered on every start |
     
     No user directory (`/DATA/Documents`, `Media`, …) is mounted. The one file outside `/DATA` is
    -IPCR's `/etc/docker/certs.d/ipcr.localhost:4767/ca.crt`, as in the standalone app. Identities
    -that matter on the network (Radicle's node key, Kubo's node key and IPNS keys) survive
    -uninstall and reinstall, so published repositories and image names stay valid.
    +IPCR's `/etc/docker/certs.d/ipcr.localhost:4767/ca.crt`, as in the standalone app. Identities that
    +matter on the network (Radicle's node key, Kubo's node key and IPNS keys) survive uninstall and
    +reinstall, so published repositories and image names stay valid.
    diff --git a/Apps/IPCR-Forge/seed/gitea/runner-config/act_runner-run b/Apps/IPCR-Forge/seed/gitea/runner-config/act_runner-run
    deleted file mode 100644
    index ae63df8..0000000
    --- a/Apps/IPCR-Forge/seed/gitea/runner-config/act_runner-run
    +++ /dev/null
    @@ -1,32 +0,0 @@
    -#!/usr/bin/env bash
    -# Replaces the image's own /etc/s6/act_runner/run. Two waits, both of which the
    -# stock script gets wrong for this deployment.
    -#
    -# 1. The nested Docker daemon. Upstream waits for it through s6's readiness
    -#    notification. On a cold start with a warm image store dockerd takes longer
    -#    than s6-notifyoncheck's window, the notification never arrives, s6 marks
    -#    the service permanently failed, and act_runner sits blocked in
    -#    `s6-svwait -U` for two to four minutes before s6 gives up and lets it past
    -#    anyway. The runner shows "offline" in the forge for that whole time and
    -#    picks up no jobs. Asking the daemon directly is the same wait without the
    -#    guesswork.
    -#
    -# 2. The registration token. It is minted by an init step that runs after the
    -#    stack is up, so on a first install it does not exist yet when this
    -#    container starts — and the stock entrypoint reads the token file exactly
    -#    once, before its retry loop, so a token that arrives late is never seen.
    -
    -while [ ! -d /etc/s6/docker/supervise ]; do
    -    sleep 0.1
    -done
    -
    -while ! docker info >/dev/null 2>&1; do
    -    sleep 1
    -done
    -
    -while [ ! -s "${GITEA_RUNNER_REGISTRATION_TOKEN_FILE:-/data/token}" ] && [ ! -s /data/.runner ]; do
    -    echo "waiting for the runner registration token"
    -    sleep 2
    -done
    -
    -exec run.sh
    diff --git a/Apps/IPCR-Forge/seed/gitea/runner-config/config.yaml b/Apps/IPCR-Forge/seed/gitea/runner-config/config.yaml
    deleted file mode 100644
    index 9da8334..0000000
    --- a/Apps/IPCR-Forge/seed/gitea/runner-config/config.yaml
    +++ /dev/null
    @@ -1,40 +0,0 @@
    -# act_runner configuration. Only the settings that differ from upstream's
    -# defaults are written out — `act_runner generate-config` prints the full set.
    -
    -log:
    -  level: info
    -
    -runner:
    -  # The file the runner's own registration is kept in, relative to /data.
    -  file: .runner
    -  # One job at a time. A PCS shares its CPU with everything else installed on
    -  # it, and an image build is the least polite thing on the box.
    -  capacity: 1
    -  timeout: 1h
    -  fetch_timeout: 5s
    -  fetch_interval: 2s
    -  # Overrides the labels stored at registration (.runner). These are upstream
    -  # act_runner defaults: Gitea's own job images, which carry node, bash, git
    -  # and the docker CLI with buildx, so marketplace actions (actions/checkout,
    -  # docker/build-push-action, ...) run as they do on GitHub. The registration
    -  # labels pointed at node:22-bookworm, which has no docker CLI.
    -  labels:
    -    - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
    -    - "ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04"
    -    - "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"
    -    - "docker:docker://docker:28.5-cli"
    -
    -cache:
    -  # The cache server binds an address inside the runner container, which the
    -  # job containers — created by the Docker daemon nested inside that same
    -  # container — cannot route to. Left on, every `actions/cache` step fails
    -  # noisily instead of being skipped.
    -  enabled: false
    -
    -container:
    -  # Jobs run on the runner's own nested daemon, on its default bridge: they
    -  # reach the internet, and they reach Gitea the way anything outside would,
    -  # through its public address.
    -  network: bridge
    -  privileged: false
    -  force_pull: false
    diff --git a/Apps/IPCR-Forge/seed/site/index.html b/Apps/IPCR-Forge/seed/site/index.html
    index f877ca2..89d480c 100644
    --- a/Apps/IPCR-Forge/seed/site/index.html
    +++ b/Apps/IPCR-Forge/seed/site/index.html
    @@ -8,8 +8,9 @@
     
     
     
    @@ -78,67 +80,62 @@
         
    -

    From git push to docker pull on any server, without a central -service. Code lives on Radicle, this node builds it with GitHub-style workflows, and IPCR serves -the image from IPFS.

    +

    From git push to docker pull on any server. Work in Gitea as +usual: its Actions build your images, IPCR serves them from IPFS, and every public repository is +mirrored to the Radicle peer-to-peer network.

    How it works

    -
    1 · Pushgit push rad a v* tag to the Radicle network
    +
    1 · Pushgit push a v* tag to Gitea, or create it in Gitea's web UI
    →
    -
    2 · Triggerthis node receives the tag and the Radicle CI broker picks it up
    +
    2 · BuildGitea Actions runs .gitea/workflows/ and pushes the image to localhost:5000
    →
    -
    3 · Buildact runs the repo's .github/workflows/ and pushes the image
    +
    3 · IPFSIPCR imports each tag and publishes it under this forge's IPNS name
    →
    -
    4 · IPFSIPCR imports each tag and publishes it under an IPNS name
    -
    →
    -
    5 · Pullany server with IPCR: ipcr.localhost:4767/ipns/…
    +
    4 · Pullany server with IPCR: ipcr.localhost:4767/ipns/…
    -

    Steps 2 to 4 are automatic and usually take a few minutes. The very first build on this server -takes longer (about 5 to 10 minutes) while it downloads its build images. A repository needs no -configuration beyond committing a workflow. There is no second copy of it anywhere: the build -reads the commit straight from this node. Builds of the default branch and of patches also -write their result back into the repository, signed by the node, as a Radicle job.

    -

    Only changes signed by one of the repository's delegates are built: release tags, -the default branch and their patches. A build can publish an image, so it gets the trust of a -release.

    +

    Steps 2 and 3 are automatic and usually take a few minutes. The very first build on this server +takes longer (about 5 to 10 minutes) while it downloads its build images.

    +

    Alongside, every public repository is copied to Radicle +within seconds of each push: branches and tags, signed by this server's Radicle node. Gitea stays +the one place to work. The Radicle copy is for distribution: anyone can rad clone it, +and it stays available even when this server is not. Private repositories are never copied.

    + +

    Try it with the example

    +

    The install created gitea_admin/ipcr-hello, a tiny web +page with a Dockerfile and the workflow that publishes it.

    +
      +
    1. Open it in Gitea, then Tags → New tag (or Releases → New release): name + v1.0.0, target main.
    2. +
    3. Follow the build under the repository's Actions tab.
    4. +
    5. About a minute after it finishes, the image appears below under + Published images, and the tag on Radicle.
    6. +

    Published images

    Loading…

    -

    Publish a project

    +

    Publish your own project

      -
    1. Install Radicle on your machine and create an identity: see - radicle.xyz, then rad auth. - Start your own node, which carries your pushes: rad node start.
    2. -
    3. Connect to this server's node so your pushes reach it: -
      rad node connect <node-id>@<this server>:8776
    4. -
    5. Publish the repository. It has to be a Git repository with at least one commit: -
      git init -b main
      -git add -A
      -git commit -m "First commit"
      -rad init
      - rad init prints the repository ID (rad:z…).
    6. -
    7. Let this node seed it. The node only keeps repositories it is told to (seeding policy - block). In this server's Terminal app or over SSH: -
      docker exec radicle-node rad seed rad:z… --scope all
      - It ends with ✗ Target not met: could not fetch from […]. That is about the public - Radicle seeds, not this server, and can be ignored. The repository is in place once it shows - in the Radicle explorer.
    8. -
    9. Add a workflow at .github/workflows/build.yml, as on GitHub. This one - builds the Dockerfile at the root and publishes it for every v* tag. - vars.IMAGE is set for every repository (this node's staging registry plus the - repository's name); there is no secret to configure. Two lines differ from a GitHub-hosted - workflow: context: . (builds the checkout, not a GitHub URL) and buildx's - network=host (so its builder can reach the staging registry). Commit it - (git add .github && git commit -m "Build the image"). -
      on:
      +  
    10. Create a repository in Gitea (+ → New repository) + and push your code to it: +
      git remote add origin https://gitea-<domain>/<owner>/<repo>.git
      +git push -u origin main
      + Git asks for your Gitea user name and password (or an access token, from Settings → + Applications).
    11. +
    12. Add a workflow at .gitea/workflows/build.yml. This one builds the + Dockerfile at the root for every v* tag. It is a GitHub-style + workflow with two differences: the image goes to localhost:5000, this forge's + staging registry (no login, no secret), and buildx's builder runs with network=host + so it can reach that registry. +
      name: image
      +on:
         push:
           tags: ['v*']
       jobs:
      @@ -149,7 +146,7 @@ jobs:
             - uses: docker/metadata-action@v5
               id: meta
               with:
      -          images: ${{ vars.IMAGE }}
      +          images: localhost:5000/${{ github.repository }}
                 tags: |
                   type=semver,pattern={{version}}
                   type=raw,value=latest
      @@ -163,33 +160,45 @@ jobs:
                 tags: ${{ steps.meta.outputs.tags }}
                 labels: ${{ steps.meta.outputs.labels }}
    13. Release: -
      git tag -a v1.0.0 -m v1.0.0
      -git push rad main v1.0.0
      - Follow the build under CI runs. A minute after it finishes, the tag appears - under Published images.
    14. +
      git add .gitea && git commit -m "Build the image"
      +git tag v1.0.0
      +git push origin main v1.0.0
      + The image is published as <owner>/<repo>:1.0.0 under this forge's name.
    +

    Who can publish: anyone who can push to a repository on this forge, since a build +can push any image name to the staging registry. Images are public once on IPFS, even when they come from +a private repository. Gitea holds a pull request from a fork until someone with write access approves +its workflow run: read the workflow before you approve.

    Use an image

    Copy the line from Published images into a compose file. It works on this server and on any server running IPCR:

    services:
       myapp:
    -    image: ipcr.localhost:4767/ipns/k51qzi5uqu5d…:1.0.0   # a tag: follows new builds of 1.0.0
    -    # image: ipcr.localhost:4767/ipfs/bafkrei…           # a CID: this exact image, forever
    -

    /ipns/<name>:<tag> is a name the publisher can move to a new build. -/ipfs/<cid> is the image's content address and can never change.

    + image: ipcr.localhost:4767/ipns/k51…/<owner>/<repo>:1.0.0 # a tag: follows new builds of 1.0.0 + # image: ipcr.localhost:4767/ipfs/bafkrei… # a CID: this exact image, forever
    +

    Or pull it by hand: docker pull ipcr.localhost:4767/ipns/k51…/<owner>/<repo>:1.0.0. +/ipns/… is a name this forge can move to a new build; /ipfs/<cid> is the +image's content address and can never change.

    For a readable name, point a name you own at this forge's publisher name (k51…), which holds every image it builds:

    • ENS: set the content hash of example.eth to ipns://k51… (one transaction, once). Images are then - ipcr.localhost:4767/ipns/example.eth/<repo>:1.0.0.
    • + ipcr.localhost:4767/ipns/example.eth/<owner>/<repo>:1.0.0.
    • DNS: add a TXT record _dnslink.example.com = dnslink=/ipns/k51…. Images are then - ipcr.localhost:4767/ipns/example.com/<repo>:1.0.0.
    • + ipcr.localhost:4767/ipns/example.com/<owner>/<repo>:1.0.0.

    New releases need no change to either record: they update the publisher name.

    +

    On Radicle

    +

    Public repositories of this forge, as mirrored to the Radicle network by this server's node +(…). Clone one with rad clone <id> from any Radicle node.

    +

    Loading…

    +

    A repository that turns private or is deleted in Gitea is no longer synced +(frozen). What was already published stays on the Radicle network: it cannot be taken back.

    +

    Pull from another server

    Any server with IPCR resolves the same lines and fetches the image from the IPFS network, from this server and from every other server that already pulled it.

    @@ -210,14 +219,15 @@ for IPFS peers. Details: Addresses on this server

G;H% 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 literal 0 HcmV?d00001 diff --git a/Apps/IPCR-Forge/seed/site/index.html b/Apps/IPCR-Forge/seed/site/index.html new file mode 100644 index 0000000..d4c3556 --- /dev/null +++ b/Apps/IPCR-Forge/seed/site/index.html @@ -0,0 +1,308 @@ + + + + + +IPCR Forge + + + + + +

_9-5_ClQP`rdun8VLgr;_ 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 YZ<)Pboq)cQ*VOC>fo^(pY_auPju`$=`pP*nb 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 literal 0 HcmV?d00001 From d21e5d93edde78d420a332df33ebaf8562cd27b5 Mon Sep 17 00:00:00 2001 From: Worph Date: Sat, 3 Oct 2026 17:24:49 +0200 Subject: [PATCH 02/12] improved version --- Apps/IPCR-Forge/docker-compose.yml | 53 +++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/Apps/IPCR-Forge/docker-compose.yml b/Apps/IPCR-Forge/docker-compose.yml index f5d4c47..d9f63c3 100644 --- a/Apps/IPCR-Forge/docker-compose.yml +++ b/Apps/IPCR-Forge/docker-compose.yml @@ -7,8 +7,8 @@ name: ipcr-forge # → radicle-gitea-bridge copies repos that commit .gitea/workflows/ # → gitea + gitea-runner GitHub-style Actions build the image # → gitea registry staging: gitea-/gitea_admin/:1.2.3 -# ┄ (not wired yet) package webhook → IPCR import -# → ipcr-kubo / ipcr-registry / ipcr-gateway +# → ipcr-gateway follows Gitea's registry imports every tag into IPFS, publishes IPNS +# → ipcr-kubo / ipcr-registry # docker pull ipcr.localhost:4767/ipns/:1.2.3 (anyone) # # Every service is copied verbatim from its standalone listing (apps/Radicle, apps/Gitea, @@ -18,9 +18,10 @@ name: ipcr-forge # Replaces those four apps; it cannot sit beside them. It uses the same container names, # domains (radicle-, radicle-api-, gitea-) and host ports (8776, 4768, 127.0.0.1:4767). # -# The handoff from Gitea's registry to IPFS is the one missing link: the runner's jobs run in -# a nested Docker that cannot reach ipcr.localhost (it is the *host's* loopback), so the -# import has to run on IPCR's side, triggered by Gitea's "package published" webhook. +# The handoff from Gitea's registry to IPFS is a pull, run by IPCR: the runner's jobs run in a +# nested Docker that cannot reach ipcr.localhost (the *host's* loopback), so CI never pushes to +# IPCR. Instead ipcr-gateway polls gitea:3000 over gitea-internal, with a read-only token the +# bridge-credentials step mints. Gitea does not know IPCR exists. services: # ═══ Radicle — the source of truth ═════════════════════════════════════════════ @@ -326,7 +327,7 @@ services: # ipcrd: TLS front door on 127.0.0.1:4767. Passes /ipfs/ through to the stock nerdctl # registry below, resolves /ipns/: itself, and pins every image it serves. ipcr-gateway: - image: ghcr.io/yundera/ipcr:0.1.0 + image: ghcr.io/yundera/ipcr:1.1.0 container_name: ipcr-gateway # Root for one reason: it writes its CA into the host's Docker trust store (the narrow # bind below), which is root-owned. See rationale.md. @@ -343,8 +344,25 @@ services: CA_EXPORT: /certs.d/ipcr.localhost:4767/ca.crt # Pin every image this host pulls, so the node keeps — and re-shares — what it runs. AUTO_PIN: "true" + # Optional: follow a registry. Every tag of every repository it lists (or of + # IPCR_IMPORT_REPOS) is copied into IPFS and published as /ipns/:; + # a tag is re-imported when it moves. Empty = off. IPCR_IMPORT_AUTH is user:token, + # a read-only (read:package) token is enough. + # Forge: watch this app's own Gitea, over gitea-internal (not through Caddy). + IMPORT_WATCH: ${IPCR_IMPORT_WATCH:-http://gitea:3000} + IMPORT_AUTH: ${IPCR_IMPORT_AUTH:-} + # Forge: a read:package token the bridge-credentials step mints. Re-read every poll + # and preferred over IMPORT_AUTH, so it may appear after the gateway is up. + IMPORT_AUTH_FILE: /data/secrets/registry-auth + IMPORT_REPOS: ${IPCR_IMPORT_REPOS:-} + IMPORT_INTERVAL: 60s + STATE_DIR: /data/state volumes: - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/tls:/data/tls + # What the watcher already imported (tag → manifest digest). + - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/state:/data/state + # Forge only: the credential above. Read-only here. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/secrets:/data/secrets:ro # The host's Docker trust store, so the CA above can be dropped into it: no daemon # reload, no daemon.json edit. The parent is mounted because Compose cannot create a # bind source whose name contains a colon (ipcr.localhost:4767). ipcrd writes exactly @@ -364,6 +382,8 @@ services: start_period: 10s networks: - ipcr-internal + # Forge only: reaches gitea:3000 for the import poller above. + - gitea-internal cpu_shares: 50 deploy: resources: @@ -373,7 +393,7 @@ services: # ── Stock nerdctl IPFS registry ───────────────────────────────────────────── # `nerdctl ipfs registry serve`, unmodified: translates the registry API into IPFS reads. ipcr-registry: - image: ghcr.io/yundera/ipcr:0.1.0 + image: ghcr.io/yundera/ipcr:1.1.0 container_name: ipcr-registry # Root because nerdctl run as any other uid assumes rootless mode and refuses to start # without a rootless containerd — which `ipfs registry serve` never uses. The service has @@ -515,8 +535,9 @@ x-casaos: **Ports.** TCP 8776 (Radicle peers) and 4768 TCP+UDP (IPFS peers) are published. - **Not wired yet:** images reach Gitea's registry automatically, but publishing them to - IPFS is still a manual `ipcr push` (see the IPCR README). + **Images reach IPFS on their own.** IPCR follows this app's Gitea registry: about a + minute after a build pushes `gitea_admin/:`, it can be pulled as + `ipcr.localhost:4767/ipns/gitea_admin-:`. fr_fr: | **Remplace quatre applications.** Désinstallez d'abord Radicle, Gitea, Radicle Gitea Bridge et IPCR : cette application utilise les mêmes adresses et ports. @@ -530,8 +551,9 @@ x-casaos: **Ports.** TCP 8776 (pairs Radicle) et 4768 TCP+UDP (pairs IPFS) sont publiés. - **Pas encore relié :** les images arrivent automatiquement dans le registre Gitea, mais - leur publication sur IPFS reste un `ipcr push` manuel (voir le README d'IPCR). + **Les images arrivent sur IPFS d'elles-mêmes.** IPCR suit le registre Gitea de cette + application : environ une minute après qu'un build a poussé `gitea_admin/:`, + elle se tire avec `ipcr.localhost:4767/ipns/gitea_admin-:`. index: / webui_port: 8080 store_app_id: ipcr-forge @@ -580,6 +602,11 @@ x-compose-app: - path: /DATA/AppData/$AppID/ipcr/init.d user: $PUID group: $PGID + # Written by bridge-credentials as $PUID, read by ipcr-gateway (root). + - path: /DATA/AppData/$AppID/ipcr/secrets + user: $PUID + group: $PGID + mode: "0700" files: # Each entry and its reason are in the standalone listing it comes from. - path: /DATA/AppData/$AppID/radicle/home/config.json @@ -649,10 +676,12 @@ x-compose-app: network: $APP_NET volumes: - /DATA/AppData/$AppID/bridge/secrets:/secrets + - /DATA/AppData/$AppID/ipcr/secrets:/ipcr-secrets + # Also mints IPCR's read-only token for following Gitea's registry. command: - sh - -c - - GITEA_PASSWORD="$APP_DEFAULT_PASSWORD" bridge-init + - GITEA_PASSWORD="$APP_DEFAULT_PASSWORD" IPCR_AUTH_FILE=/ipcr-secrets/registry-auth bridge-init when: absent:/DATA/AppData/$AppID/bridge/secrets/gitea-token webui-host: radicle-${domain} webui-path: / From a07b28b10cd9125f7bd57e1afe8b4f34e1d4b2d4 Mon Sep 17 00:00:00 2001 From: Worph Date: Sat, 3 Oct 2026 17:56:57 +0200 Subject: [PATCH 03/12] improve store --- Apps/IPCR-Forge/docker-compose.yml | 95 +++++++- Apps/IPCR-Forge/icon.png | Bin 11528 -> 9957 bytes Apps/IPCR-Forge/rationale.md | 108 +++++++++ Apps/IPCR-Forge/screenshot-1.png | Bin 0 -> 103534 bytes Apps/IPCR-Forge/screenshot-2.png | Bin 0 -> 141164 bytes Apps/IPCR-Forge/screenshot-3.png | Bin 0 -> 113235 bytes Apps/IPCR-Forge/seed/site/icon.png | Bin 0 -> 9957 bytes Apps/IPCR-Forge/seed/site/index.html | 308 ++++++++++++++++++++++++++ Apps/IPCR-Forge/seed/web/default.conf | 19 ++ 9 files changed, 526 insertions(+), 4 deletions(-) create mode 100644 Apps/IPCR-Forge/rationale.md create mode 100644 Apps/IPCR-Forge/screenshot-1.png create mode 100644 Apps/IPCR-Forge/screenshot-2.png create mode 100644 Apps/IPCR-Forge/screenshot-3.png create mode 100644 Apps/IPCR-Forge/seed/site/icon.png create mode 100644 Apps/IPCR-Forge/seed/site/index.html create mode 100644 Apps/IPCR-Forge/seed/web/default.conf diff --git a/Apps/IPCR-Forge/docker-compose.yml b/Apps/IPCR-Forge/docker-compose.yml index d9f63c3..f1479ce 100644 --- a/Apps/IPCR-Forge/docker-compose.yml +++ b/Apps/IPCR-Forge/docker-compose.yml @@ -11,6 +11,11 @@ name: ipcr-forge # → ipcr-kubo / ipcr-registry # docker pull ipcr.localhost:4767/ipns/:1.2.3 (anyone) # +# The tile opens ipcr-forge-: a static landing page (nginx) that explains the pipeline, +# links Radicle and Gitea, and lists every published image with the exact `image:` line to use +# (IPCR's published.json, served as /images.json). is the IPNS key IPCR minted for the +# repository (k51…), not the repository's name, which is why the page lists it. +# # Every service is copied verbatim from its standalone listing (apps/Radicle, apps/Gitea, # apps/Radicle-Gitea-Bridge, apps/IPCR), so each keeps its own comments and rationale.md. # Only the data folders move, one subfolder per part: $AppID/{radicle,gitea,bridge,ipcr}/. @@ -24,6 +29,53 @@ name: ipcr-forge # bridge-credentials step mints. Gitea does not know IPCR exists. services: + # ═══ Landing page — the tile's web UI ══════════════════════════════════════════ + # Static: the page, its icon, and IPCR's list of published images (read-only). It shows only + # links, documentation and image names that are public on IPFS anyway, so it is not behind + # the SSO gate; Gitea keeps its own login, Radicle is public by design. + ipcr-forge: + image: nginxinc/nginx-unprivileged:1.29.3-alpine + container_name: ipcr-forge + user: $PUID:$PGID + read_only: true + cap_drop: [ALL] + security_opt: ["no-new-privileges:true"] + restart: unless-stopped + cpu_shares: 80 + deploy: + resources: + limits: + memory: 32M + environment: + TZ: $TZ + tmpfs: + # nginx-unprivileged keeps its pid file and temp paths here. + - /tmp + volumes: + - ${DATA_ROOT:-/DATA}/AppData/$AppID/site:/usr/share/nginx/html:ro + - ${DATA_ROOT:-/DATA}/AppData/$AppID/web/default.conf:/etc/nginx/conf.d/default.conf:ro + # published.json → /images.json. Read-only; the location in default.conf serves that file only. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/state:/srv/ipcr-state:ro + healthcheck: + test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8080/"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s + expose: + - 8080 + labels: + caddy_0: ipcr-forge-${APP_DOMAIN} + caddy_0.import: gateway_tls + caddy_0.reverse_proxy: "{{upstreams 8080}}" + caddy_1: ipcr-forge-${APP_PUBLIC_IP_DASH}.nip.io + caddy_1.import: gateway_tls + caddy_1.reverse_proxy: "{{upstreams 8080}}" + caddy_2: ipcr-forge-${APP_PUBLIC_IP_DASH}.sslip.io + caddy_2.reverse_proxy: "{{upstreams 8080}}" + networks: + - pcs + # ═══ Radicle — the source of truth ═════════════════════════════════════════════ # Verbatim from apps/Radicle; only its data folder moves to $AppID/radicle/. @@ -484,12 +536,16 @@ networks: x-casaos: architectures: - amd64 - main: radicle + main: ipcr-forge author: Yundera developer: Yundera category: Developer tags: ["developer", "git", "ci", "needs-public-ip"] icon: icon.png + screenshot_link: + - screenshot-1.png + - screenshot-2.png + - screenshot-3.png title: en_us: IPCR Forge tagline: @@ -506,6 +562,9 @@ x-casaos: A repository joins the pipeline by committing a workflow under `.gitea/workflows/`: there is nothing to configure per project. + Its own page explains how to publish a project and lists every published image with the + line to put in a compose file. + This app bundles the Radicle, Gitea, Radicle Gitea Bridge and IPCR apps. Install it instead of them, not beside them. fr_fr: | @@ -518,6 +577,9 @@ x-casaos: Un dépôt rejoint la chaîne en ajoutant un workflow sous `.gitea/workflows/` : rien à configurer par projet. + Sa page explique comment publier un projet et liste chaque image publiée avec la ligne à + mettre dans un fichier compose. + Cette application regroupe les applications Radicle, Gitea, Radicle Gitea Bridge et IPCR. Installez-la à leur place, pas à côté. tips: @@ -528,6 +590,7 @@ x-casaos: | Address | What | | --- | --- | + | `https://ipcr-forge-$APP_DOMAIN` | This app: how to publish, and every published image | | `https://radicle-$APP_DOMAIN` | Radicle explorer (public) | | `https://radicle-api-$APP_DOMAIN` | Radicle API and read-only git (public) | | `https://gitea-$APP_DOMAIN` | Gitea: builds, logs, staging registry (`gitea_admin`) | @@ -537,13 +600,15 @@ x-casaos: **Images reach IPFS on their own.** IPCR follows this app's Gitea registry: about a minute after a build pushes `gitea_admin/:`, it can be pulled as - `ipcr.localhost:4767/ipns/gitea_admin-:`. + `ipcr.localhost:4767/ipns/:`, where `` is the IPNS name (`k51…`) IPCR + creates for the repository. The app's page lists each one with the line to copy. fr_fr: | **Remplace quatre applications.** Désinstallez d'abord Radicle, Gitea, Radicle Gitea Bridge et IPCR : cette application utilise les mêmes adresses et ports. | Adresse | Quoi | | --- | --- | + | `https://ipcr-forge-$APP_DOMAIN` | Cette application : publier, et toutes les images publiées | | `https://radicle-$APP_DOMAIN` | Explorateur Radicle (public) | | `https://radicle-api-$APP_DOMAIN` | API Radicle et git en lecture seule (public) | | `https://gitea-$APP_DOMAIN` | Gitea : builds, journaux, registre de transit (`gitea_admin`) | @@ -553,7 +618,8 @@ x-casaos: **Les images arrivent sur IPFS d'elles-mêmes.** IPCR suit le registre Gitea de cette application : environ une minute après qu'un build a poussé `gitea_admin/:`, - elle se tire avec `ipcr.localhost:4767/ipns/gitea_admin-:`. + elle se tire avec `ipcr.localhost:4767/ipns/:`, où `` est le nom IPNS + (`k51…`) qu'IPCR crée pour le dépôt. La page de l'application les liste, prêts à copier. index: / webui_port: 8080 store_app_id: ipcr-forge @@ -561,6 +627,13 @@ x-casaos: x-compose-app: schema_version: 2 folders: + # ── Landing page ── + - path: /DATA/AppData/$AppID/site + user: $PUID + group: $PGID + - path: /DATA/AppData/$AppID/web + user: $PUID + group: $PGID # ── Radicle ── - path: /DATA/AppData/$AppID/radicle/home user: $PUID @@ -608,6 +681,20 @@ x-compose-app: group: $PGID mode: "0700" files: + # The landing page follows store updates: re-rendered on every up. None of the three holds a + # dollar-brace sequence, so rendering cannot fail on an unresolved variable. + - path: /DATA/AppData/$AppID/site/index.html + from: site/index.html + ensure: always + mode: "0644" + - path: /DATA/AppData/$AppID/site/icon.png + from: site/icon.png + ensure: always + mode: "0644" + - path: /DATA/AppData/$AppID/web/default.conf + from: web/default.conf + ensure: always + mode: "0644" # Each entry and its reason are in the standalone listing it comes from. - path: /DATA/AppData/$AppID/radicle/home/config.json from: radicle/home/config.json.tmpl @@ -683,5 +770,5 @@ x-compose-app: - -c - GITEA_PASSWORD="$APP_DEFAULT_PASSWORD" IPCR_AUTH_FILE=/ipcr-secrets/registry-auth bridge-init when: absent:/DATA/AppData/$AppID/bridge/secrets/gitea-token - webui-host: radicle-${domain} + webui-host: ipcr-forge-${domain} webui-path: / diff --git a/Apps/IPCR-Forge/icon.png b/Apps/IPCR-Forge/icon.png index 6d092fba42025cb63421009616328aa5253158b4..70da9e0da6cfa283595f175bf0180c130c7ecbca 100644 GIT binary patch literal 9957 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 literal 11528 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

+ + -
AddressWhat
Gitea: repositories, Actions, users (gitea_admin)
This page (public)
Radicle explorer (public)
Radicle API and read-only git over HTTPS (public)
ipcr-forge-…/ci/CI runs and their logs (public)
ipcr.localhost:4767IPCR registry, for this server's Docker only
TCP 8776 · TCP/UDP 4768Radicle peers · IPFS peers
-
+
IPCR Forge · Gitea · act_runner · Radicle · Kubo · nerdctl · IPCR
+ + diff --git a/forge/web/index.html b/forge/web/index.html index c700e62..290b46f 100644 --- a/forge/web/index.html +++ b/forge/web/index.html @@ -315,7 +315,9 @@ for IPFS peers. Details: Date: Mon, 5 Oct 2026 11:37:33 +0000 Subject: [PATCH 11/12] IPCR Forge: org-root image names and per-repository push credentials Short names: the public repositories of one Gitea organisation (IPCR_ROOT_ORG, then the admin page; metadec on our boxes) are also published at the root of the forge's name, so ipcr.localhost:4767/ipns/metadec.eth/ipcr-hello:1.0.0 works. Collisions (a user/org of that name, another owner's folder) are skipped and explained. Push credentials: the staging registry now sits behind forge-gate (ipcr-forge-bridge gate), in the CI daemon's network namespace, with the registry on a unix socket and no network. Each publishing repository logs in as / with an IPCR_PUSH_TOKEN Actions secret the bridge sets, and may push its own name only; IPCR logs in with a credential it generates. Workflows need a docker/login-action step (example and page updated). ipcr 1.4.0: allow.aliases with per-pass alias sync; unpublish/retag on every path; IMPORT_AUTH_GENERATE; names this node publishes resolve via name/resolve --nocache (Kubo's resolve cache lagged, and the generic resolve ignores nocache). bridge 0.3.0: gate, push credentials (rotate in the admin page), root organisation setting, setup creates the org and the example in it; the Radicle description carries the Gitea path (identical documents gave the same RID); OAuth2 app updated only when hosts change, keeping the new secret. Admin page: tabs, one-line keys, name-check feedback, per-tag docker pull commands (IPFS, IPNS, ENS, short path first). Verified on holyhorse (docs/forge.md). --- Apps/IPCR-Forge/docker-compose.yml | 106 ++++++-- Apps/IPCR-Forge/rationale.md | 61 ++++- docs/forge.md | 117 ++++++++- forge/admin.go | 200 +++++++++++--- forge/bridge_test.go | 25 +- forge/example/.gitea/workflows/build.yml | 11 +- forge/gate.go | 189 ++++++++++++++ forge/gate_test.go | 175 +++++++++++++ forge/gitea.go | 10 + forge/main.go | 15 +- forge/pushcreds.go | 103 ++++++++ forge/rad.go | 10 +- forge/setup.go | 96 ++++++- forge/web/admin.html | 319 +++++++++++++++++------ forge/web/index.html | 27 +- 15 files changed, 1275 insertions(+), 189 deletions(-) create mode 100644 forge/gate.go create mode 100644 forge/gate_test.go create mode 100644 forge/pushcreds.go diff --git a/Apps/IPCR-Forge/docker-compose.yml b/Apps/IPCR-Forge/docker-compose.yml index 7df0a94..af28002 100644 --- a/Apps/IPCR-Forge/docker-compose.yml +++ b/Apps/IPCR-Forge/docker-compose.yml @@ -35,7 +35,7 @@ services: # with the stock `rad` CLI against the node's own home. Serves the forge's page on :8080. # Its install step (forge-setup, below) mints its Gitea token and registers the webhook. ipcr-forge: - image: ghcr.io/yundera/ipcr-forge-bridge:0.2.0 + image: ghcr.io/yundera/ipcr-forge-bridge:0.3.0 container_name: ipcr-forge user: $PUID:$PGID read_only: true @@ -65,6 +65,9 @@ services: IPCR_ADMIN_TOKEN_FILE: /srv/ipcr-state/admin-token KUBO_KEYSTORE: /srv/ipcr-keystore IMPORT_PUBLISHER: ${IPCR_IMPORT_PUBLISHER:-forge} + # The organisation published at the root of the forge's name (metadec/app → …/app), until + # changed in the admin pages. Its members, through Gitea teams, are who can publish there. + IPCR_ROOT_ORG: ${IPCR_ROOT_ORG:-} tmpfs: # HOME for git and rad. - /tmp @@ -271,11 +274,43 @@ services: networks: - ci-internal - # The staging registry, in the daemon's network namespace: `localhost:5000` to the daemon and to - # every job (act runs jobs on the host network, which is this namespace), so a plain - # `docker push` or buildx with `network=host` works without TLS or credentials — Docker allows - # plain HTTP to localhost only. ipcr-gateway reaches it as forge-docker:5000. Nothing - # outside ci-internal can. + # The staging registry's front door: `localhost:5000` to the daemon and to every job (act runs + # jobs on the host network, which is this namespace), forge-docker:5000 to ipcr-gateway. Plain + # HTTP, which Docker allows to localhost only. It checks a login on every request: a job logs in + # as its repository (/, the IPCR_PUSH_TOKEN secret the bridge sets on it) and may + # push that name only; IPCR logs in as the importer (state/staging-auth, which it generates). + # Same image as the bridge (`ipcr-forge-bridge gate`, bridge/gate.go). See rationale.md. + forge-gate: + image: ghcr.io/yundera/ipcr-forge-bridge:0.3.0 + container_name: forge-gate + user: $PUID:$PGID + read_only: true + cap_drop: [ALL] + security_opt: ["no-new-privileges:true"] + restart: unless-stopped + network_mode: service:forge-docker + command: ["ipcr-forge-bridge", "gate"] + cpu_shares: 20 + deploy: + resources: + limits: + memory: 64M + environment: + TZ: $TZ + GATE_LISTEN: ":5000" + GATE_UPSTREAM: unix:///run/staging/registry.sock + GATE_CREDENTIALS: /gate/credentials.json + volumes: + # Hashes only, written by the bridge. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/bridge/state/gate:/gate:ro + - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/registry-socket:/run/staging + depends_on: + - forge-docker + - forge-registry + + # The staging registry itself: no network at all. It listens on a unix socket in a folder only the + # gate also mounts, so nothing reaches it but through the gate: not a job, which runs in the + # daemon above and sees neither the folder nor a port. forge-registry: image: registry:3.0.0 container_name: forge-registry @@ -283,7 +318,7 @@ services: cap_drop: [ALL] security_opt: ["no-new-privileges:true"] restart: unless-stopped - network_mode: service:forge-docker + network_mode: none # Garbage collection frees the blobs of deleted tags, and must not run while the registry # serves: so it runs at every start, before serving. entrypoint: ["sh", "-c", "registry garbage-collect --delete-untagged /etc/distribution/config.yml; exec registry serve /etc/distribution/config.yml"] @@ -294,15 +329,17 @@ services: memory: 128M environment: TZ: $TZ - REGISTRY_HTTP_ADDR: 0.0.0.0:5000 + REGISTRY_HTTP_NET: unix + REGISTRY_HTTP_ADDR: /run/staging/registry.sock + # Upload URLs relative to the request, whatever Host the gate passes on. + REGISTRY_HTTP_RELATIVEURLS: "true" # Staging only: IPCR has its own copy once imported, and deletes each tag it has published # (IMPORT_CLEANUP). REGISTRY_STORAGE_DELETE_ENABLED: "true" OTEL_TRACES_EXPORTER: none volumes: - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/registry:/var/lib/registry - depends_on: - - forge-docker + - ${DATA_ROOT:-/DATA}/AppData/$AppID/ci/registry-socket:/run/staging # ═══ Radicle — the public mirror ═══════════════════════════════════════════════ # Verbatim from Apps/Radicle; only its data folder moves to $AppID/radicle/. The bridge @@ -438,7 +475,7 @@ services: # ipcrd: TLS front door on 127.0.0.1:4767. Passes /ipfs/ through to the stock nerdctl # registry below, resolves /ipns/: itself, and pins every image it serves. ipcr-gateway: - image: ghcr.io/yundera/ipcr:1.3.0 + image: ghcr.io/yundera/ipcr:1.4.0 container_name: ipcr-gateway # Root for one reason: it writes its CA into the host's Docker trust store (the narrow # bind below), which is root-owned. See rationale.md. @@ -462,6 +499,10 @@ services: # Forge: watch the CI's staging registry, over ci-internal. Internal, so no credentials. IMPORT_WATCH: ${IPCR_IMPORT_WATCH:-http://forge-docker:5000} IMPORT_AUTH: ${IPCR_IMPORT_AUTH:-} + # Forge: IPCR's login at the staging registry's gate, generated on first start; the bridge + # reads it (read-only ipcr/state) and gives it the importer's rights at the gate. + IMPORT_AUTH_FILE: /data/state/staging-auth + IMPORT_AUTH_GENERATE: "true" IMPORT_REPOS: ${IPCR_IMPORT_REPOS:-} # Forge: every repository this node builds is published under one IPNS key, "forge", as # /ipns//:. One name for the whole forge, which a DNSLink domain or an @@ -517,7 +558,7 @@ services: # ── Stock nerdctl IPFS registry ───────────────────────────────────────────── # `nerdctl ipfs registry serve`, unmodified: translates the registry API into IPFS reads. ipcr-registry: - image: ghcr.io/yundera/ipcr:1.3.0 + image: ghcr.io/yundera/ipcr:1.4.0 container_name: ipcr-registry # Root because nerdctl run as any other uid assumes rootless mode and refuses to start # without a rootless containerd — which `ipfs registry serve` never uses. The service has @@ -695,10 +736,13 @@ x-casaos: private later stops the copy, and what was published stays on the network. Private repositories are never copied. - **Who can publish images.** Only the names of public repositories that are switched on in the - admin pages (all are, by default): `/`. A build in any repository can still - push any name to the staging registry, so whoever can push code here can publish under an - allowed name. Read a fork's workflow before approving its run. + **Who can publish images.** Each public repository (switched on in the admin pages: all are, + by default) publishes under its own name, `/`: its workflow logs in to the + staging registry with the `IPCR_PUSH_TOKEN` secret the forge sets on it. The repositories of + the root organisation (`IPCR_ROOT_ORG`, then the admin pages) are also published at the root, + ``: its members decide who publishes there. Workflows from forks get no secrets. + CI runs on a privileged Docker daemon: only give write access to people you trust with the + server. fr_fr: | **Commencez ici : [la page de la forge](https://ipcr-forge-$APP_DOMAIN)** : publier, les images publiées, les copies Radicle. @@ -727,11 +771,13 @@ x-casaos: privé ensuite arrête la copie, et ce qui a été publié reste sur le réseau. Les dépôts privés ne sont jamais copiés. - **Qui peut publier des images.** Seuls les noms des dépôts publics activés dans - l'administration (tous, par défaut) : `/`. Un build de n'importe quel - dépôt peut tout de même pousser n'importe quel nom vers le registre de transit : qui peut - pousser du code ici peut publier sous un nom autorisé. Lisez le workflow d'un fork avant - d'approuver son exécution. + **Qui peut publier des images.** Chaque dépôt public (activé dans l'administration : tous, + par défaut) publie sous son propre nom, `/` : son workflow se connecte + au registre de transit avec le secret `IPCR_PUSH_TOKEN` que la forge y dépose. Les dépôts de + l'organisation racine (`IPCR_ROOT_ORG`, puis l'administration) sont aussi publiés à la + racine, `` : ses membres décident qui y publie. Les workflows des forks n'ont pas de + secrets. La CI tourne sur un démon Docker privilégié : ne donnez l'accès en écriture qu'à des + personnes à qui vous confiez le serveur. index: / webui_port: 3000 store_app_id: ipcr-forge @@ -747,6 +793,10 @@ x-compose-app: user: $PUID group: $PGID mode: "0700" + # The gate's credentials (hashes), written by the bridge, read by the gate. + - path: /DATA/AppData/$AppID/bridge/state/gate + user: $PUID + group: $PGID # ── Gitea ── - path: /DATA/AppData/$AppID/gitea/data user: $PUID @@ -782,6 +832,11 @@ x-compose-app: user: $PUID group: $PGID mode: "0700" + # The staging registry's socket: the registry and the gate only. + - path: /DATA/AppData/$AppID/ci/registry-socket + user: $PUID + group: $PGID + mode: "0700" # ── IPCR ── - path: /DATA/AppData/$AppID/ipcr/kubo user: $PUID @@ -859,11 +914,12 @@ x-compose-app: mv /runner/token.new /runner/token chmod 600 /runner/token when: absent:/DATA/AppData/$AppID/gitea/runner/.runner - # The bridge's Gitea token (public-only, read:repository), the webhook secret, the system - # webhook, the admin pages' OAuth2 app, and the example repository. Idempotent, so on every start: it repairs the webhook. + # The bridge's Gitea tokens (public-only read; and write:repository for push secrets), the + # webhook secret, the system webhook, the admin pages' OAuth2 app, the root organisation and + # the example repository (in that organisation). Idempotent, so on every start: it repairs the webhook. # The admin password is used here only, never stored. - name: forge-setup - image: ghcr.io/yundera/ipcr-forge-bridge:0.2.0 + image: ghcr.io/yundera/ipcr-forge-bridge:0.3.0 user: $PUID:$PGID phase: post_up network: $APP_NET @@ -872,7 +928,7 @@ x-compose-app: command: - sh - -c - - GITEA_PASSWORD="$APP_DEFAULT_PASSWORD" GITEA_URL=http://gitea:3000 PUBLIC_HOSTS="ipcr-forge-$APP_DOMAIN,ipcr-forge-$APP_PUBLIC_IP_DASH.nip.io,ipcr-forge-$APP_PUBLIC_IP_DASH.sslip.io" ipcr-forge-bridge setup + - GITEA_PASSWORD="$APP_DEFAULT_PASSWORD" GITEA_URL=http://gitea:3000 IPCR_ROOT_ORG="$IPCR_ROOT_ORG" PUBLIC_HOSTS="ipcr-forge-$APP_DOMAIN,ipcr-forge-$APP_PUBLIC_IP_DASH.nip.io,ipcr-forge-$APP_PUBLIC_IP_DASH.sslip.io" ipcr-forge-bridge setup when: always webui-host: gitea-${domain} webui-path: / diff --git a/Apps/IPCR-Forge/rationale.md b/Apps/IPCR-Forge/rationale.md index 525a68a..e07c2f9 100644 --- a/Apps/IPCR-Forge/rationale.md +++ b/Apps/IPCR-Forge/rationale.md @@ -40,6 +40,14 @@ with. See docs/forge.md. 10. **The bridge mounts Kubo's keystore read-only**, so it can export the publisher key, encrypted. 11. **An admin API in `ipcr-gateway`** (`:4769`) on a new internal network, `ipcr-admin`. Its Bearer token is in `ipcr/state/admin-token`, mode 0644. +12. **A staging gate** (`forge-gate`), running in the CI daemon's network namespace. The registry + behind it has no network and listens on a unix socket. +13. **A second Gitea token for the bridge,** with `write:repository` and `read:user`. It sets each + publishing repository's `IPCR_PUSH_TOKEN` Actions secret and checks name collisions. +14. **A credential IPCR generates for itself** (`ipcr/state/staging-auth`, mode 0644), read by the + bridge. +15. **The root organisation** (`IPCR_ROOT_ORG`): setup creates it if missing, and its repositories + are also published at the root of the forge's name. ## Why it is necessary @@ -103,6 +111,27 @@ needed because CI jobs on `ci-internal` can reach `ipcr-gateway`. The file is wo because ipcrd, root without `CAP_CHOWN`, cannot hand a file to `$PUID` any other way. It sits in the app's own state folder. +**12. The gate.** Before it, any CI job could push any image name to the staging registry, and IPCR +published what it found. With a short organisation address (`metadec.eth/app`), that would let +anyone with write access to any repository publish under the organisation's name. The gate makes +each repository's credential good for its own name only. It is a proxy rather than a registry +token server: Docker, BuildKit and ipcrd all answer a Basic challenge, so no JWT signing or second +realm is needed. The registry moves to a unix socket so the gate cannot be bypassed: the jobs' +daemon sees neither the socket's folder nor a port. + +**13. The secrets token.** Gitea Actions secrets are the one credential Gitea gives a repository's +own workflows and withholds from forks. The job's automatic `GITEA_TOKEN` cannot prove which +repository it belongs to. Setting a secret takes `write:repository`. The token is not +`public-only`, so collision checks also see private users and organisations. + +**14. IPCR's own credential.** Same handoff as the admin token: ipcrd (root without capabilities) +cannot write into another uid's folder, so it writes into its own state folder, which the bridge +already mounts read-only. + +**15. The root organisation.** Short names (`metadec.eth/ipcr-hello`) need one owner whose +repositories may use them. A Gitea organisation makes "who may publish there" a matter of team +membership, managed in Gitea. + ## Security mitigations in place **The bridge** @@ -137,6 +166,22 @@ the app's own state folder. being able to publish images under the forge's name. Images from private repositories become public on IPFS. +**The staging gate** +- **Least privilege per credential.** + - A repository's credential reads and writes only `/v2///{blobs,manifests,tags}/`: + no catalog, no delete, no other name. + - Cross-repository blob mounts are stripped. + - The importer can read, list and delete, but not push. + - Paths with `..`, `//` or encoded segments are refused. +- **The gate holds no secrets.** It stores SHA-256 hashes of random 32-byte tokens and compares + them in constant time. The tokens themselves exist only in Gitea's secret store and in the jobs + that use them. +- **The registry cannot be reached directly.** It runs with `network_mode: none`, and its socket + folder (0700, `$PUID`) is mounted only into the gate. +- **Credentials follow the list.** A repository switched off or frozen loses its gate credential + and its secret at once. "Reissue" rotates a token. +- **Gate container:** `$PUID`, no capabilities, read-only root filesystem, 64 MB. + **The page** - **The public page cannot change anything.** The bridge serves it read-only: the embedded page, IPCR's `published.json` (mounted read-only) and the bridge's repository list. @@ -180,10 +225,14 @@ the app's own state folder. namespace only. - **Radicle signatures are the forge's, not the developer's.** The node is each repository's only delegate. -- **Image names are limited, but their source is not proven.** Only allowed names (public - repositories that are switched on) are published. A build in any repository can still push an - allowed name to the staging registry. Per-repository credentials, issued by the bridge, are a - planned follow-up. +- **The gate is not a sandbox.** Jobs run on a privileged Docker-in-Docker daemon (deviation 1). + Anyone who can run a workflow can break out of it to the host, and from there do anything, + including publish under any name. The gate removes the ordinary path, a plain `docker push` of + someone else's name. It cannot contain a hostile CI user. Real isolation needs a VM-based runner. +- **Repository writers can read the push token,** since a workflow can print it. Reissue it when a + repository changes hands. +- **Existing workflows must add a login step,** or their pushes fail with 401. +- **Private repositories cannot publish:** they get no push credential. - **The bridge can read the publisher key.** A compromise of the public-facing bridge leaks it. That is the trust it already has with the Radicle node key. - **The admin token is world-readable** inside the app's state folder on the host. @@ -200,8 +249,8 @@ Everything lives under `/DATA/AppData/ipcr-forge/`, one folder per part: | --- | --- | | `gitea/` | repositories, the database (SQLite), configuration, the runner's registration and config | | `radicle/` | node identity (key pair), seeded repositories, Caddy config | -| `bridge/` | `state/`: the Gitea → Radicle mapping, one bare mirror per repository (disposable), the admin session key and the repository toggles (`admin.json`); `secrets/` (0700): its Gitea token, the webhook secret, the OAuth2 client credentials | -| `ci/` | the daemon's socket, its image store (`docker/`), the staging registry (`registry/`, disposable) | +| `bridge/` | `state/`: the Gitea → Radicle mapping, one bare mirror per repository (disposable), the admin session key and the repository toggles (`admin.json`); `gate/credentials.json` (token hashes); `secrets/` (0700): its two Gitea tokens, the webhook secret, the OAuth2 client credentials | +| `ci/` | the daemon's socket, its image store (`docker/`), the staging registry (`registry/`, disposable) and its socket (`registry-socket/`) | | `ipcr/` | Kubo repo (node identity, IPNS keys, pinned images), TLS CA, watcher state, `config.json` (name, allowlist), the admin token | No user directory (`/DATA/Documents`, `Media`, …) is mounted. The one file outside `/DATA` is diff --git a/docs/forge.md b/docs/forge.md index feabad1..921d2f9 100644 --- a/docs/forge.md +++ b/docs/forge.md @@ -100,13 +100,20 @@ code checks visibility again anyway. the bridge keeps (`IMPORT_ALLOW_REQUIRED`). That list holds the public Gitea repositories, minus those switched off in the admin pages. Images built from private repositories are therefore not published. -- **What the allowlist does not cover:** a job can still push any name to the unauthenticated - `localhost:5000`. So anyone who can push code here can publish under an allowed name. - Registration is off, so every user was created by the admin. +- **Each repository publishes its own name only.** The staging registry sits behind a gate (see + [Staging gate](#staging-gate-and-push-credentials)). A job logs in with its repository's + `IPCR_PUSH_TOKEN`, and may push `/` and nothing else. Gitea does not give secrets to + workflows from forks, so a fork's pull request cannot publish. +- **The root organisation's short names belong to its members.** Gitea teams decide who can push + to `metadec/*`, so who can publish `metadec.eth/`. +- **Not a sandbox.** Jobs run on a privileged Docker-in-Docker daemon. Anyone who can run a + workflow here can break out of it to the host, and from there to everything, including the + gate. The gate stops the ordinary way to publish someone else's name; it does not contain a + hostile CI user. Registration is off, so every user was created by the admin. - **Fork pull requests** from users without write access wait for "Approve and run" in Gitea 1.27. - The page, the tips and `rationale.md` say all of this plainly. -- **Follow-up:** per-repository push credentials, with the bridge acting as a registry token - server, would tie each image name to the one repository allowed to build it. +- **Who can read a push token:** anyone with write access to its repository (a workflow can print + it). Reissue it in the admin pages when a repository changes hands. ## Admin @@ -146,13 +153,68 @@ Then publish with a sequence number above the network's. The bridge seals (it can read the keystore) and ipcrd opens, so the cleartext key never crosses the network. +## Root organisation (short names) + +The public repositories of one Gitea organisation are also published at the root of the forge's +name. The organisation is `metadec` on our boxes (`IPCR_ROOT_ORG`, then the admin page's +Repositories tab). So `metadec/ipcr-hello` pulls as any of: +``` +ipcr.localhost:4767/ipns/metadec.eth/ipcr-hello:1.0.0 +ipcr.localhost:4767/ipns/metadec.eth/metadec/ipcr-hello:1.0.0 +ipcr.localhost:4767/ipns/k51…/ipcr-hello:1.0.0 +``` +- **How it is passed on:** the bridge sends IPCR `allow.aliases` (`{"metadec/ipcr-hello": + ["ipcr-hello"]}`). IPCR publishes each tag under the full path and every alias in one tree + update. +- **Alias sync:** on each pass IPCR adds and removes alias folders to match. Switching the + organisation off or changing it moves the short paths within a minute. +- **Collisions:** a short path is one folder at the root of the tree, so it is skipped (and the + Repositories tab says why) when its name is: + - a Gitea user or organisation, whose repositories would share that folder; + - the owner of another allowed repository. + + IPCR checks the owner case again on its side. +- **Setup:** creates the organisation (public, owned by `gitea_admin`) if it is missing, and puts + the example repository in it. + +## Staging gate and push credentials + +``` +job ── docker login localhost:5000 (owner/repo + IPCR_PUSH_TOKEN) ──▶ forge-gate :5000 (in the CI +IPCR ── Basic ipcr: ── forge-docker:5000 ───────────────▶ daemon's network namespace) + │ unix socket + ▼ + forge-registry (no network) +``` +- **`forge-gate`** is `ipcr-forge-bridge gate`, built from the same image. + - It checks Basic auth against `bridge/state/gate/credentials.json` (hashes only), re-read when + it changes. + - **A repository** may GET, HEAD, POST, PUT and PATCH under `/v2///{blobs,manifests,tags}/`. + Cross-repository blob mounts are stripped, so the client uploads instead. + - **The importer** may read everything, list the catalog and delete manifests. + - Anything else gets 401 or 403. +- **`forge-registry`** listens on a unix socket in a folder only it and the gate mount. Jobs run in + the daemon, which sees neither that folder nor a port. So the gate cannot be bypassed short of a + breakout (see Trust). +- **Credentials:** + - **Per repository:** the bridge generates a token for each repository that may publish. It + sets the repository's `IPCR_PUSH_TOKEN` Actions secret through a `write:repository` token + (`ipcr-forge-secrets`, minted at setup) and writes the token's hash for the gate. A + repository switched off or frozen loses both. "Reissue" in the admin page rotates the token. + - **IPCR:** IPCR generates its own credential at its first start (`IMPORT_AUTH_GENERATE`, + `state/staging-auth`), and the bridge passes its hash to the gate. +- **Migration:** existing workflows must add the login step (the template below). Without it, a + push fails with `401 Unauthorized` at its first blob check. + ## Workflow contract A repository opts in by committing a workflow under `.gitea/workflows/`. The template is [bridge/example/.gitea/workflows/build.yml](../bridge/example/.gitea/workflows/build.yml): -- `images: localhost:5000/${{ github.repository }}`: the staging registry. No login, no secret. - `docker/metadata-action` lowercases the name. +- `docker/login-action` to `localhost:5000`, `username: ${{ github.repository }}`, + `password: ${{ secrets.IPCR_PUSH_TOKEN }}`. +- `images: localhost:5000/${{ github.repository }}`: the repository's own name at the staging + registry, the only one its token may push. `docker/metadata-action` lowercases it. - `context: .` and `driver-opts: network=host`: see findings 2 and 3. - The image is published as `/ipns///:`. @@ -219,6 +281,24 @@ New in v3 (tested locally with Gitea 1.27.3 and rad 1.10.1, 2026-10-04): 21. **Gitea skips its consent screen only after a first grant,** even with `skip_secondary_authorization`. Each admin clicks "Authorize" once. +22. **Radicle IDs are derived from the identity document.** `metadec/ipcr-hello` (the example, + created again in the organisation) had the same name, description and delegate as + `gitea_admin/ipcr-hello`, so the same RID. `rad init` failed with "attempt to reinitialize". The + bridge now puts the Gitea path in the Radicle description, which makes the document unique per + forge. +23. **Gitea regenerates an OAuth2 app's secret on every update.** `setup` used to update the app at + every start (to follow the hosts) and kept the old secret, which broke the admin login + (`unauthorized_client`). It now updates only when the hosts change, and saves the secret Gitea + returns. +24. **Kubo's resolve cache can lag the node's own publishes.** A tree published again after a change + in between kept resolving to the in-between tree for the record's TTL. The generic `resolve` RPC + ignores `nocache` (only `name/resolve` honours it). ipcrd now resolves names it publishes, + directly or through an ENS/DNSLink name pointing at its key, with `name/resolve --nocache` and + then the path under `/ipfs/`. +25. **A gate needs no registry token server.** Docker and BuildKit answer a `Basic` challenge from + a plain-HTTP `localhost` registry with the credentials from `docker login`, and ipcrd's client + already did the same. + ## Verified **Locally** (Gitea 1.27.3-rootless, `radicle-seed-node` 1.10.1, the bridge image, one Docker network): @@ -256,14 +336,29 @@ New in v3 (tested locally with Gitea 1.27.3 and rad 1.10.1, 2026-10-04): | Restore a throwaway key, then the original | name switches and pulls under each; original back with sequence 7 (network had 5); kept copy reused, no duplicate key | | `forge-registry` restart | garbage collection frees the deleted tags' blobs | +**Org root and gate, on holyhorse** (ipcr 1.4.0, bridge 0.3.0, 2026-10-05): + +| Check | Result | +| --- | --- | +| setup with `IPCR_ROOT_ORG=metadec` | org and `metadec/ipcr-hello` created; `IPCR_PUSH_TOKEN` set on both public repositories; gate knows them and IPCR | +| tag `v1.0.0` on `metadec/ipcr-hello` (workflow with login) | built, imported, published as `ipcr-hello` and `metadec/ipcr-hello` | +| `docker pull ipcr.localhost:4767/ipns/metadec.eth/ipcr-hello:1.0.0` | works (`metadec.eth` → this forge's key); also by `k51…/ipcr-hello` and `k51…/metadec/ipcr-hello` | +| a workflow without login | push refused, 401 | +| probe job in `gitea_admin/ipcr-hello` | no login 401; own token: catalog 403, `metadec/ipcr-hello` push or read 403, own repository 202; wrong token 401; `/run/staging` from the daemon: empty, no socket | +| root organisation off / on (twice) | short path gone / back on the next pass, by k51 and by ENS | +| a user named `ipcr-hello` | short path skipped, reason shown; back when the user is gone | +| repository switched off | gate credential and Gitea secret removed; restored when switched on | + ## Open items - **Pull from a second server.** Verified on holyhorse itself only; v2's images pulled across servers the same way. -- **Publish the images**: `ghcr.io/yundera/ipcr:1.3.0` and `ghcr.io/yundera/ipcr-forge-bridge:0.2.0` - (workflows `image.yml` and `bridge.yml`, tags `v1.3.0` and `bridge-v0.2.0`). -- **Image provenance:** the bridge as a registry token server, so only a repository's own CI can - push its name (see Trust). +- **Publish the images**: `ghcr.io/yundera/ipcr:1.4.0` and `ghcr.io/yundera/ipcr-forge-bridge:0.3.0` + (workflows `image.yml` and `bridge.yml`, tags `v1.4.0` and `bridge-v0.3.0`). +- **CI isolation:** jobs on a privileged daemon can reach the host. Rootless DinD does not start + on this platform (AppArmor); a VM-based runner would be the real fix. +- **Private repositories** cannot publish: the bridge only sees public ones. If wanted, give them + push credentials too (the images would still be public on IPFS). - **Old keys:** `-replaced-*` keys are kept forever, and Kubo keeps republishing them. A "delete" in the admin page, once the new key is confirmed. - **act_runner** is pinned at 0.6.1, proven with Gitea 1.27.3. Upstream has moved on. diff --git a/forge/admin.go b/forge/admin.go index c7d58a7..5701915 100644 --- a/forge/admin.go +++ b/forge/admin.go @@ -32,8 +32,11 @@ type adminAPI struct { tokenFile string // ipcrd's admin-token, read through the read-only ipcr/state mount keystore string // Kubo's keystore folder, read-only publisher string // the publisher key's name (IMPORT_PUBLISHER) - settings string // admin.json: the repositories switched off - gitea *gitea + settings string // admin.json: the repositories switched off, the root organisation + gitea *gitea // public-only, read: lists the repositories + admin *gitea // admin-scoped: name collisions (any user or org), push secrets + creds *pushCreds + rootOrg string // default root organisation (IPCR_ROOT_ORG), until set in the admin page au *auth http *http.Client @@ -43,6 +46,24 @@ type adminAPI struct { type adminSettings struct { // Repositories (owner/name, lowercase) whose images are not published. Disabled []string `json:"disabled"` + // The organisation whose repositories are also published at the root of the forge's name + // (metadec/app → /ipns//app). nil: IPCR_ROOT_ORG; "": none. + RootOrg *string `json:"rootOrg,omitempty"` +} + +func (a *adminAPI) root() string { + if s := a.load(); s.RootOrg != nil { + return strings.ToLower(*s.RootOrg) + } + return strings.ToLower(a.rootOrg) +} + +func (a *adminAPI) save(s adminSettings) error { + b, _ := json.MarshalIndent(s, "", " ") + if err := os.WriteFile(a.settings+".new", b, 0o644); err != nil { + return err + } + return os.Rename(a.settings+".new", a.settings) } func (a *adminAPI) load() adminSettings { @@ -69,6 +90,9 @@ func (a *adminAPI) routes(mux *http.ServeMux, au *auth) { mux.Handle("POST /admin/api/key/export", guard(http.HandlerFunc(a.export))) mux.Handle("GET /admin/api/repos", guard(http.HandlerFunc(a.listRepos))) mux.Handle("PUT /admin/api/repos", guard(http.HandlerFunc(a.setRepo))) + mux.Handle("POST /admin/api/repos/rotate", guard(http.HandlerFunc(a.rotate))) + mux.Handle("GET /admin/api/settings", guard(http.HandlerFunc(a.getSettings))) + mux.Handle("PUT /admin/api/settings", guard(http.HandlerFunc(a.putSettings))) } func writeJSONResponse(w http.ResponseWriter, v any) { @@ -148,8 +172,69 @@ type repoToggle struct { Publish bool `json:"publish"` } -func (a *adminAPI) listRepos(w http.ResponseWriter, r *http.Request) { +// repoView is a row of the admin page's Repositories tab. +type repoView struct { + repoToggle + PublishedAs []string `json:"published_as,omitempty"` // short path first + Credential bool `json:"credential"` // the gate knows its IPCR_PUSH_TOKEN + Collision string `json:"collision,omitempty"` // why its short path is not used +} + +// pubPlan is what IPCR is told to publish, and why some short paths are not used. +type pubPlan struct { + Repos []string // owner/repo, lowercase + Aliases map[string][]string // owner/repo → short paths + Collisions map[string]string // owner/repo → reason +} + +// plan computes the allowlist: the eligible public repositories not switched off, and for the root +// organisation's, their short path, unless it would collide with an owner's folder: the name of +// any Gitea user or organisation (exists), or the owner of another allowed repository. +func plan(repos []repo, disabled []string, root string, exists func(string) bool) pubPlan { + p := pubPlan{Aliases: map[string][]string{}, Collisions: map[string]string{}} + off := map[string]bool{} + for _, d := range disabled { + off[d] = true + } + owners := map[string]bool{} + for i := range repos { + n := strings.ToLower(repos[i].FullName) + if eligible(&repos[i]) && !off[n] { + p.Repos = append(p.Repos, n) + owners[strings.SplitN(n, "/", 2)[0]] = true + } + } + sort.Strings(p.Repos) + if root == "" { + return p + } + for _, n := range p.Repos { + owner, name, _ := strings.Cut(n, "/") + if owner != root { + continue + } + switch { + case owners[name]: + p.Collisions[n] = "short path /" + name + " is the folder of " + name + "'s own repositories" + case exists != nil && exists(name): + p.Collisions[n] = "a Gitea user or organisation is named " + name + ": its repositories would share /" + name + default: + p.Aliases[n] = []string{name} + } + } + return p +} + +func (a *adminAPI) currentPlan() (pubPlan, []repo, error) { repos, err := a.gitea.publicRepos() + if err != nil { + return pubPlan{}, nil, err + } + return plan(repos, a.load().Disabled, a.root(), a.admin.exists), repos, nil +} + +func (a *adminAPI) listRepos(w http.ResponseWriter, r *http.Request) { + p, repos, err := a.currentPlan() if err != nil { http.Error(w, err.Error(), http.StatusServiceUnavailable) return @@ -158,12 +243,18 @@ func (a *adminAPI) listRepos(w http.ResponseWriter, r *http.Request) { for _, d := range a.load().Disabled { disabled[d] = true } - out := []repoToggle{} + out := []repoView{} for _, rp := range repos { - if eligible(&rp) { - n := strings.ToLower(rp.FullName) - out = append(out, repoToggle{FullName: n, Publish: !disabled[n]}) + if !eligible(&rp) { + continue } + n := strings.ToLower(rp.FullName) + v := repoView{repoToggle: repoToggle{FullName: n, Publish: !disabled[n]}, Collision: p.Collisions[n]} + if v.Publish { + v.PublishedAs = append(append([]string{}, p.Aliases[n]...), n) + v.Credential = a.creds != nil && a.creds.has(n) + } + out = append(out, v) } sort.Slice(out, func(i, j int) bool { return out[i].FullName < out[j].FullName }) writeJSONResponse(w, out) @@ -189,58 +280,95 @@ func (a *adminAPI) setRepo(w http.ResponseWriter, r *http.Request) { } sort.Strings(keep) s.Disabled = keep - b, _ := json.MarshalIndent(s, "", " ") - err := os.WriteFile(a.settings+".new", b, 0o644) - if err == nil { - err = os.Rename(a.settings+".new", a.settings) - } + err := a.save(s) a.mu.Unlock() if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } if err := a.pushAllowlist(); err != nil { - http.Error(w, "saved, but IPCR did not take the new list: "+err.Error(), http.StatusServiceUnavailable) + http.Error(w, "saved, but not fully applied: "+err.Error(), http.StatusServiceUnavailable) return } writeJSONResponse(w, req) } +// rotate gives a repository a new IPCR_PUSH_TOKEN: when it changed hands, or the old one leaked. +func (a *adminAPI) rotate(w http.ResponseWriter, r *http.Request) { + var req repoToggle + if err := json.NewDecoder(io.LimitReader(r.Body, 4096)).Decode(&req); err != nil || req.FullName == "" { + http.Error(w, "{full_name}?", http.StatusBadRequest) + return + } + p, _, err := a.currentPlan() + if err == nil { + err = a.creds.sync(p.Repos, req.FullName) + } + if err != nil { + http.Error(w, err.Error(), http.StatusServiceUnavailable) + return + } + writeJSONResponse(w, map[string]string{"rotated": req.FullName}) +} + +func (a *adminAPI) getSettings(w http.ResponseWriter, r *http.Request) { + writeJSONResponse(w, map[string]string{"rootOrg": a.root(), "rootOrgDefault": strings.ToLower(a.rootOrg)}) +} + +func (a *adminAPI) putSettings(w http.ResponseWriter, r *http.Request) { + var req struct { + RootOrg string `json:"rootOrg"` + } + if err := json.NewDecoder(io.LimitReader(r.Body, 4096)).Decode(&req); err != nil { + http.Error(w, "{rootOrg}?", http.StatusBadRequest) + return + } + org := strings.ToLower(strings.TrimSpace(req.RootOrg)) + if org != "" && !a.admin.exists(org) { + http.Error(w, "no Gitea organisation named "+org, http.StatusBadRequest) + return + } + a.mu.Lock() + s := a.load() + s.RootOrg = &org + err := a.save(s) + a.mu.Unlock() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + if err := a.pushAllowlist(); err != nil { + http.Error(w, "saved, but not fully applied: "+err.Error(), http.StatusServiceUnavailable) + return + } + writeJSONResponse(w, map[string]string{"rootOrg": org}) +} + // eligible: the repositories whose images may be published — the same that are mirrored. func eligible(r *repo) bool { return r.public() && !r.Fork && !r.Mirror } -// allowlist is what ipcrd publishes: the image names CI builds are pushed under -// (localhost:5000//, lowercased by docker/metadata-action). -func allowlist(repos []repo, disabled []string) []string { - off := map[string]bool{} - for _, d := range disabled { - off[d] = true - } - var out []string - for i := range repos { - n := strings.ToLower(repos[i].FullName) - if eligible(&repos[i]) && !off[n] { - out = append(out, n) - } - } - sort.Strings(out) - return out -} - -// pushAllowlist sends ipcrd the current list. Called on every reconcile and on every toggle. +// pushAllowlist sends ipcrd the current plan and gives the gate the matching credentials. Called +// on every reconcile, toggle and root-organisation change. func (a *adminAPI) pushAllowlist() error { - repos, err := a.gitea.publicRepos() + p, _, err := a.currentPlan() if err != nil { return err } - return a.sendAllowlist(allowlist(repos, a.load().Disabled)) + if err := a.sendAllowlist(p); err != nil { + return err + } + if a.creds != nil { + return a.creds.sync(p.Repos, "") + } + return nil } -func (a *adminAPI) sendAllowlist(list []string) error { +func (a *adminAPI) sendAllowlist(p pubPlan) error { + list := p.Repos if list == nil { list = []string{} } - body, _ := json.Marshal(map[string]any{"allow": map[string]any{"required": true, "repos": list}}) + body, _ := json.Marshal(map[string]any{"allow": map[string]any{"required": true, "repos": list, "aliases": p.Aliases}}) req, _ := http.NewRequest("PATCH", a.ipcr+"/admin/config", bytes.NewReader(body)) req.Header.Set("Content-Type", "application/json") req.Header.Set("Authorization", "Bearer "+a.token()) diff --git a/forge/bridge_test.go b/forge/bridge_test.go index 3736e45..b175dfe 100644 --- a/forge/bridge_test.go +++ b/forge/bridge_test.go @@ -171,7 +171,8 @@ func TestExampleEmbedded(t *testing.T) { } } b, _ := exampleFiles.ReadFile("example/.gitea/workflows/build.yml") - if !strings.Contains(string(b), "localhost:5000/${{ github.repository }}") || !strings.Contains(string(b), "network=host") { + if !strings.Contains(string(b), "localhost:5000/${{ github.repository }}") || !strings.Contains(string(b), "network=host") || + !strings.Contains(string(b), "secrets.IPCR_PUSH_TOKEN") { t.Error("example workflow lost its staging registry lines") } } @@ -408,7 +409,7 @@ func TestCallback(t *testing.T) { } } -func TestAllowlist(t *testing.T) { +func TestPlan(t *testing.T) { mk := func(name string, f func(*repo)) repo { r := repo{FullName: name} if f != nil { @@ -421,10 +422,22 @@ func TestAllowlist(t *testing.T) { mk("owner/off", nil), mk("owner/secret", func(r *repo) { r.Private = true }), mk("owner/fork", func(r *repo) { r.Fork = true }), - mk("org/thing", nil), + mk("Metadec/Hello", nil), + mk("metadec/owner", nil), // short path /owner is owner/'s folder + mk("metadec/bob", nil), // a Gitea user is named bob + mk("metadec/off2", nil), } - got := strings.Join(allowlist(repos, []string{"owner/off"}), ",") - if got != "org/thing,owner/app" { - t.Errorf("allowlist = %s", got) + p := plan(repos, []string{"owner/off", "metadec/off2"}, "metadec", func(n string) bool { return n == "bob" }) + if got := strings.Join(p.Repos, ","); got != "metadec/bob,metadec/hello,metadec/owner,owner/app" { + t.Errorf("repos = %s", got) + } + if len(p.Aliases) != 1 || strings.Join(p.Aliases["metadec/hello"], ",") != "hello" { + t.Errorf("aliases = %v", p.Aliases) + } + if p.Collisions["metadec/owner"] == "" || p.Collisions["metadec/bob"] == "" || len(p.Collisions) != 2 { + t.Errorf("collisions = %v", p.Collisions) + } + if q := plan(repos, nil, "", nil); len(q.Aliases) != 0 { + t.Errorf("no root organisation, aliases %v", q.Aliases) } } diff --git a/forge/example/.gitea/workflows/build.yml b/forge/example/.gitea/workflows/build.yml index 0716071..5dc8427 100644 --- a/forge/example/.gitea/workflows/build.yml +++ b/forge/example/.gitea/workflows/build.yml @@ -2,8 +2,10 @@ # IPCR picks it up from there within a minute and publishes it on IPFS; the forge's page then # lists the exact `image:` line to use. # -# Differences from a GitHub-hosted workflow, both needed on this forge: -# images: localhost:5000/… the staging registry (no login, no secret) +# Differences from a GitHub-hosted workflow, all needed on this forge: +# login to localhost:5000 the staging registry, as this repository: IPCR_PUSH_TOKEN is a secret +# the forge sets on every repository allowed to publish +# images: localhost:5000/… this repository's own name there (no other is accepted) # network=host so buildx's builder can reach that registry name: image on: @@ -14,6 +16,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - uses: docker/login-action@v3 + with: + registry: localhost:5000 + username: ${{ github.repository }} + password: ${{ secrets.IPCR_PUSH_TOKEN }} - uses: docker/metadata-action@v5 id: meta with: diff --git a/forge/gate.go b/forge/gate.go new file mode 100644 index 0000000..bf4297b --- /dev/null +++ b/forge/gate.go @@ -0,0 +1,189 @@ +package main + +import ( + "context" + "crypto/sha256" + "crypto/subtle" + "encoding/hex" + "encoding/json" + "log" + "net" + "net/http" + "net/http/httputil" + "net/url" + "os" + "strings" + "sync" + "time" +) + +// The gate is the staging registry's front door (`ipcr-forge-bridge gate`). CI jobs push to +// localhost:5000 and IPCR imports from it; before the gate, anyone who could run a job could push +// any image name, and IPCR published what it found. Now: +// +// - a job logs in as its repository: user /, password the IPCR_PUSH_TOKEN secret the +// bridge set on that repository (pushcreds.go). It may read and write that repository's +// manifests, blobs and tags, and nothing else: no other name, no catalog, no delete, no +// cross-repository blob mount; +// - IPCR logs in as the importer (the credential it generated itself): read everything, list the +// catalog, delete manifests it has published. +// +// It runs in the CI daemon's network namespace, where jobs see it as localhost:5000. The registry +// behind it listens on a unix socket shared with the gate only, so a job cannot go around it. +// +// Environment: GATE_LISTEN (default :5000), GATE_UPSTREAM (default +// unix:///run/staging/registry.sock), GATE_CREDENTIALS (default /gate/credentials.json). + +// gateCreds is credentials.json, written by the bridge: SHA-256 (hex) of each password. +type gateCreds struct { + Push map[string]string `json:"push"` // "/" (lowercase) → hash + Importer map[string]string `json:"importer"` // user → hash +} + +type gate struct { + credFile string + upstream http.Handler + + mu sync.Mutex + mtime time.Time + creds gateCreds +} + +func gateMain() error { + g := &gate{credFile: env("GATE_CREDENTIALS", "/gate/credentials.json")} + up, err := upstreamProxy(env("GATE_UPSTREAM", "unix:///run/staging/registry.sock")) + if err != nil { + return err + } + g.upstream = up + addr := env("GATE_LISTEN", ":5000") + log.Printf("gate: %s → %s, credentials %s", addr, env("GATE_UPSTREAM", "unix:///run/staging/registry.sock"), g.credFile) + return http.ListenAndServe(addr, g) +} + +// upstreamProxy forwards to the registry, keeping the client's Host (the registry builds upload +// URLs from it) and dropping the client's credentials (the registry has none of its own). +func upstreamProxy(target string) (http.Handler, error) { + u, err := url.Parse(target) + if err != nil { + return nil, err + } + tr := http.DefaultTransport.(*http.Transport).Clone() + dest := &url.URL{Scheme: u.Scheme, Host: u.Host} + if u.Scheme == "unix" { + sock := u.Path + tr.DialContext = func(ctx context.Context, _, _ string) (net.Conn, error) { + return (&net.Dialer{}).DialContext(ctx, "unix", sock) + } + dest = &url.URL{Scheme: "http", Host: "registry"} + } + return &httputil.ReverseProxy{ + Rewrite: func(pr *httputil.ProxyRequest) { + pr.SetURL(dest) + pr.Out.Host = pr.In.Host + pr.Out.Header.Del("Authorization") + }, + Transport: tr, + FlushInterval: -1, + }, nil +} + +func (g *gate) load() gateCreds { + g.mu.Lock() + defer g.mu.Unlock() + st, err := os.Stat(g.credFile) + if err != nil { + return g.creds + } + if !st.ModTime().Equal(g.mtime) { + var c gateCreds + if b, err := os.ReadFile(g.credFile); err == nil && json.Unmarshal(b, &c) == nil { + g.creds, g.mtime = c, st.ModTime() + } + } + return g.creds +} + +func hashSecret(s string) string { + h := sha256.Sum256([]byte(s)) + return hex.EncodeToString(h[:]) +} + +func matches(stored, pass string) bool { + return stored != "" && subtle.ConstantTimeCompare([]byte(stored), []byte(hashSecret(pass))) == 1 +} + +func registryError(w http.ResponseWriter, status int, code, msg string) { + w.Header().Set("Content-Type", "application/json") + w.Header().Set("Docker-Distribution-API-Version", "registry/2.0") + if status == http.StatusUnauthorized { + w.Header().Set("WWW-Authenticate", `Basic realm="ipcr-staging"`) + } + w.WriteHeader(status) + json.NewEncoder(w).Encode(map[string]any{"errors": []map[string]string{{"code": code, "message": msg}}}) +} + +func (g *gate) ServeHTTP(w http.ResponseWriter, r *http.Request) { + p := r.URL.Path + if r.URL.RawPath != "" || strings.Contains(p, "..") || strings.Contains(p, "//") || !strings.HasPrefix(p, "/v2") { + registryError(w, http.StatusBadRequest, "NAME_INVALID", "bad path") + return + } + user, pass, _ := r.BasicAuth() + user = strings.ToLower(user) + creds := g.load() + role := "" + switch { + case matches(creds.Importer[user], pass): + role = "importer" + case matches(creds.Push[user], pass): + role = "push" + } + if role == "" { + registryError(w, http.StatusUnauthorized, "UNAUTHORIZED", "log in as / with the repository's IPCR_PUSH_TOKEN secret") + return + } + if !allowed(role, user, r) { + log.Printf("gate: %s refused %s %s", user, r.Method, p) + registryError(w, http.StatusForbidden, "DENIED", user+" may only push "+user) + return + } + if role == "push" { + // A cross-repository mount would copy a blob from a repository this user may not read. + // Without it the client simply uploads the blob. + q := r.URL.Query() + if q.Has("mount") || q.Has("from") { + q.Del("mount") + q.Del("from") + r.URL.RawQuery = q.Encode() + } + } + g.upstream.ServeHTTP(w, r) +} + +// allowed applies the two roles to a request. +func allowed(role, user string, r *http.Request) bool { + p, m := r.URL.Path, r.Method + read := m == "GET" || m == "HEAD" + if p == "/v2/" || p == "/v2" { + return read + } + if role == "importer" { + if read { + return true + } + return m == "DELETE" && strings.Contains(p, "/manifests/") + } + rest, ok := strings.CutPrefix(p, "/v2/"+user+"/") + if !ok || user == "" { + return false + } + if !strings.HasPrefix(rest, "blobs/") && !strings.HasPrefix(rest, "manifests/") && !strings.HasPrefix(rest, "tags/") { + return false + } + switch m { + case "GET", "HEAD", "POST", "PUT", "PATCH": + return true + } + return false +} diff --git a/forge/gate_test.go b/forge/gate_test.go new file mode 100644 index 0000000..e2536fb --- /dev/null +++ b/forge/gate_test.go @@ -0,0 +1,175 @@ +package main + +import ( + "encoding/json" + "net/http" + "net/http/httptest" + "os" + "path/filepath" + "strings" + "sync" + "testing" +) + +func newTestGate(t *testing.T) (*gate, *[]*http.Request) { + t.Helper() + var seen []*http.Request + var mu sync.Mutex + up := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + mu.Lock() + seen = append(seen, r.Clone(r.Context())) + mu.Unlock() + w.WriteHeader(http.StatusOK) + })) + t.Cleanup(up.Close) + proxy, err := upstreamProxy(up.URL) + if err != nil { + t.Fatal(err) + } + file := filepath.Join(t.TempDir(), "credentials.json") + writeCreds(file, gateCreds{ + Push: map[string]string{"metadec/app": hashSecret("app-token"), "alice/tool": hashSecret("alice-token")}, + Importer: map[string]string{"ipcr": hashSecret("importer-pass")}, + }) + return &gate{credFile: file, upstream: proxy}, &seen +} + +func TestGateAuthorization(t *testing.T) { + g, _ := newTestGate(t) + for _, c := range []struct { + name, method, path, user, pass string + want int + }{ + {"no credentials", "GET", "/v2/", "", "", 401}, + {"wrong password", "GET", "/v2/", "metadec/app", "nope", 401}, + {"login check", "GET", "/v2/", "metadec/app", "app-token", 200}, + {"login, uppercase user", "GET", "/v2/", "Metadec/App", "app-token", 200}, + {"own manifest", "PUT", "/v2/metadec/app/manifests/1.0.0", "metadec/app", "app-token", 200}, + {"own blob upload", "POST", "/v2/metadec/app/blobs/uploads/", "metadec/app", "app-token", 200}, + {"own upload chunk", "PATCH", "/v2/metadec/app/blobs/uploads/abc", "metadec/app", "app-token", 200}, + {"own blob check", "HEAD", "/v2/metadec/app/blobs/sha256:00", "metadec/app", "app-token", 200}, + {"other repository", "PUT", "/v2/alice/tool/manifests/1.0.0", "metadec/app", "app-token", 403}, + {"prefix of another name", "PUT", "/v2/metadec/app2/manifests/1", "metadec/app", "app-token", 403}, + {"nested name", "PUT", "/v2/metadec/app/sub/manifests/1", "metadec/app", "app-token", 403}, + {"catalog as pusher", "GET", "/v2/_catalog", "metadec/app", "app-token", 403}, + {"delete as pusher", "DELETE", "/v2/metadec/app/manifests/sha256:00", "metadec/app", "app-token", 403}, + {"dot-dot", "GET", "/v2/metadec/app/../alice/tool/tags/list", "metadec/app", "app-token", 400}, + {"importer catalog", "GET", "/v2/_catalog", "ipcr", "importer-pass", 200}, + {"importer pull", "GET", "/v2/alice/tool/manifests/1.0.0", "ipcr", "importer-pass", 200}, + {"importer delete", "DELETE", "/v2/alice/tool/manifests/sha256:00", "ipcr", "importer-pass", 200}, + {"importer push", "PUT", "/v2/alice/tool/manifests/1.0.0", "ipcr", "importer-pass", 403}, + } { + r := httptest.NewRequest(c.method, "http://localhost:5000"+c.path, nil) + if c.user != "" { + r.SetBasicAuth(c.user, c.pass) + } + w := httptest.NewRecorder() + g.ServeHTTP(w, r) + if w.Code != c.want { + t.Errorf("%s: %d, want %d", c.name, w.Code, c.want) + } + if w.Code == 401 && !strings.HasPrefix(w.Header().Get("WWW-Authenticate"), "Basic ") { + t.Errorf("%s: no Basic challenge", c.name) + } + } +} + +func TestGateForwarding(t *testing.T) { + g, seen := newTestGate(t) + r := httptest.NewRequest("POST", "http://localhost:5000/v2/metadec/app/blobs/uploads/?mount=sha256:00&from=alice/tool", nil) + r.Host = "localhost:5000" + r.SetBasicAuth("metadec/app", "app-token") + w := httptest.NewRecorder() + g.ServeHTTP(w, r) + if w.Code != 200 || len(*seen) != 1 { + t.Fatalf("%d, %d upstream requests", w.Code, len(*seen)) + } + up := (*seen)[0] + if up.URL.RawQuery != "" { + t.Errorf("cross-repository mount forwarded: %q", up.URL.RawQuery) + } + if up.Host != "localhost:5000" { + t.Errorf("Host %q: the registry builds upload URLs from it", up.Host) + } + if up.Header.Get("Authorization") != "" { + t.Error("credentials forwarded to the registry") + } +} + +func TestGateReloadsCredentials(t *testing.T) { + g, _ := newTestGate(t) + try := func() int { + r := httptest.NewRequest("GET", "http://localhost:5000/v2/", nil) + r.SetBasicAuth("new/repo", "t") + w := httptest.NewRecorder() + g.ServeHTTP(w, r) + return w.Code + } + if try() != 401 { + t.Fatal("unknown repository accepted") + } + c := gateCreds{Push: map[string]string{"new/repo": hashSecret("t")}} + writeCreds(g.credFile, c) + // A different modification time, as a later write would have. + st, _ := os.Stat(g.credFile) + os.Chtimes(g.credFile, st.ModTime().Add(1e9), st.ModTime().Add(1e9)) + if try() != 200 { + t.Error("new credentials not picked up") + } +} + +// sync against a fake Gitea: secrets set for new repositories, kept for known ones, deleted for +// removed ones, the importer taken from IPCR's file. +func TestPushCredsSync(t *testing.T) { + var mu sync.Mutex + secrets := map[string]string{} + var deleted []string + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + mu.Lock() + defer mu.Unlock() + repo := strings.TrimSuffix(strings.TrimPrefix(r.URL.Path, "/api/v1/repos/"), "/actions/secrets/"+pushSecret) + switch r.Method { + case "PUT": + var b struct{ Data string } + json.NewDecoder(r.Body).Decode(&b) + secrets[repo] = b.Data + w.WriteHeader(201) + case "DELETE": + deleted = append(deleted, repo) + w.WriteHeader(204) + } + })) + defer srv.Close() + dir := t.TempDir() + tok := filepath.Join(dir, "token") + os.WriteFile(tok, []byte("admin-token"), 0o600) + auth := filepath.Join(dir, "staging-auth") + os.WriteFile(auth, []byte("ipcr:importer-pass\n"), 0o644) + p := &pushCreds{file: filepath.Join(dir, "gate", "credentials.json"), stagingAuth: auth, gitea: newGitea(srv.URL, "gitea_admin", tok)} + + if err := p.sync([]string{"Metadec/App", "alice/tool"}, ""); err != nil { + t.Fatal(err) + } + c := p.read() + if !matches(c.Push["metadec/app"], secrets["Metadec/App"]) || !matches(c.Push["alice/tool"], secrets["alice/tool"]) { + t.Fatalf("credentials do not match the secrets: %v %v", c.Push, secrets) + } + if !matches(c.Importer["ipcr"], "importer-pass") { + t.Error("importer credential missing") + } + first := secrets["alice/tool"] + + // alice/tool keeps its token; Metadec/App is rotated; a removed repository loses it. + if err := p.sync([]string{"Metadec/App", "alice/tool"}, "metadec/app"); err != nil { + t.Fatal(err) + } + if secrets["alice/tool"] != first || !matches(p.read().Push["metadec/app"], secrets["Metadec/App"]) { + t.Error("rotation") + } + if err := p.sync([]string{"Metadec/App"}, ""); err != nil { + t.Fatal(err) + } + if _, ok := p.read().Push["alice/tool"]; ok || len(deleted) != 1 || deleted[0] != "alice/tool" { + t.Errorf("removal: %v, deleted %v", p.read().Push, deleted) + } +} diff --git a/forge/gitea.go b/forge/gitea.go index dbdb618..193fe54 100644 --- a/forge/gitea.go +++ b/forge/gitea.go @@ -140,3 +140,13 @@ func (g *gitea) repoByID(id int64) (*repo, error) { } return &r, nil } + +// exists reports whether a Gitea user or organisation has this name (an admin-scoped token sees +// private ones too). On doubt (Gitea unreachable) it answers yes: a short path is then not used. +func (g *gitea) exists(name string) bool { + if g == nil { + return false + } + code, err := g.call("GET", "/users/"+url.PathEscape(name), nil, nil) + return code == http.StatusOK || (err != nil && code != http.StatusNotFound) +} diff --git a/forge/main.go b/forge/main.go index 1bd92a1..eafd9be 100644 --- a/forge/main.go +++ b/forge/main.go @@ -4,6 +4,7 @@ // serve (default) webhook receiver + mirror worker + the forge's page // setup install step: Gitea token, system webhook, example repository (idempotent) // health exit 0 when `serve` answers, for the container healthcheck +// gate the staging registry's front door: per-repository push credentials (gate.go) // // What gets mirrored: every public, non-fork, non-mirror Gitea repository, as seen by a token // scoped `public-only` — a private repository is invisible to the service, not filtered by it. @@ -39,6 +40,10 @@ // IPCR_ADMIN_TOKEN_FILE its token (default /srv/ipcr-state/admin-token) // KUBO_KEYSTORE Kubo's keystore, read-only, for key backups (default /srv/ipcr-keystore) // IMPORT_PUBLISHER the publisher key's name (default forge) +// IPCR_ROOT_ORG organisation published at the root of the forge's name, until changed in +// the admin page (default: none) +// GATE_CREDENTIALS the gate's credentials.json (default /bridge/gate/credentials.json) +// IPCR_STAGING_AUTH IPCR's own staging credential (default /srv/ipcr-state/staging-auth) package main import ( @@ -71,8 +76,10 @@ func main() { err = setup() case "health": err = health() + case "gate": + err = gateMain() default: - err = fmt.Errorf("usage: %s serve | setup | health", os.Args[0]) + err = fmt.Errorf("usage: %s serve | setup | health | gate", os.Args[0]) } if err != nil { log.Fatal(err) @@ -128,10 +135,14 @@ func serve() error { if err != nil { return err } + adminGitea := newGitea(m.gitea.base, m.gitea.owner, secrets+"/gitea-admin-token") adm := &adminAPI{ ipcr: strings.TrimRight(ipcr, "/"), tokenFile: env("IPCR_ADMIN_TOKEN_FILE", "/srv/ipcr-state/admin-token"), keystore: env("KUBO_KEYSTORE", "/srv/ipcr-keystore"), publisher: env("IMPORT_PUBLISHER", "forge"), - settings: stateDir + "/admin.json", gitea: m.gitea, http: &http.Client{Timeout: 3 * time.Minute}, + settings: stateDir + "/admin.json", gitea: m.gitea, admin: adminGitea, rootOrg: os.Getenv("IPCR_ROOT_ORG"), + creds: &pushCreds{file: env("GATE_CREDENTIALS", stateDir+"/gate/credentials.json"), + stagingAuth: env("IPCR_STAGING_AUTH", "/srv/ipcr-state/staging-auth"), gitea: adminGitea}, + http: &http.Client{Timeout: 3 * time.Minute}, } adminRoutes(mux, au, adm) // IPCR publishes nothing until it has the list (IMPORT_ALLOW_REQUIRED): send it as soon as diff --git a/forge/pushcreds.go b/forge/pushcreds.go new file mode 100644 index 0000000..528a4b7 --- /dev/null +++ b/forge/pushcreds.go @@ -0,0 +1,103 @@ +package main + +import ( + "encoding/json" + "fmt" + "log" + "os" + "path/filepath" + "sort" + "strings" + "sync" +) + +// pushSecret is the Actions secret each publishing repository gets: its password at the gate. +const pushSecret = "IPCR_PUSH_TOKEN" + +// pushCreds hands out the gate's credentials. Every repository allowed to publish gets a random +// token, set as its IPCR_PUSH_TOKEN Actions secret (Gitea gives secrets to the repository's own +// workflows, never to pull requests from forks); the gate only learns the token's hash. A +// repository that may no longer publish loses both. The importer's credential is the one IPCR +// generated (IMPORT_AUTH_GENERATE), read from its state folder. +type pushCreds struct { + file string // the gate's credentials.json + stagingAuth string // IPCR's "user:password" + gitea *gitea // admin-scoped (write:repository): sets and deletes secrets + + mu sync.Mutex +} + +func (p *pushCreds) read() gateCreds { + var c gateCreds + if b, err := os.ReadFile(p.file); err == nil { + json.Unmarshal(b, &c) + } + if c.Push == nil { + c.Push = map[string]string{} + } + return c +} + +func (p *pushCreds) has(repo string) bool { + _, ok := p.read().Push[strings.ToLower(repo)] + return ok +} + +// sync makes the gate's credentials match repos (owner/repo, as Gitea names them): new ones get a +// token, gone ones lose it. rotate, when set, gets a new token even if it has one. +func (p *pushCreds) sync(repos []string, rotate string) error { + p.mu.Lock() + defer p.mu.Unlock() + cur := p.read() + next := gateCreds{Push: map[string]string{}, Importer: map[string]string{}} + var errs []string + for _, repo := range repos { + key := strings.ToLower(repo) + if h, ok := cur.Push[key]; ok && !strings.EqualFold(repo, rotate) { + next.Push[key] = h + continue + } + tok := randomString(32) + if _, err := p.gitea.call("PUT", "/repos/"+repo+"/actions/secrets/"+pushSecret, map[string]string{"data": tok}, nil); err != nil { + errs = append(errs, repo+": "+err.Error()) + if h, ok := cur.Push[key]; ok { + next.Push[key] = h // keep the old one working + } + continue + } + next.Push[key] = hashSecret(tok) + log.Printf("push credentials: %s gets a new %s", repo, pushSecret) + } + for key := range cur.Push { + if _, ok := next.Push[key]; !ok { + // Best effort: without its hash at the gate the secret is useless anyway. + p.gitea.call("DELETE", "/repos/"+key+"/actions/secrets/"+pushSecret, nil, nil) + log.Printf("push credentials: %s may no longer publish", key) + } + } + if b, err := os.ReadFile(p.stagingAuth); err == nil { + if user, pass, ok := strings.Cut(strings.TrimSpace(string(b)), ":"); ok && user != "" && pass != "" { + next.Importer[strings.ToLower(user)] = hashSecret(pass) + } + } + if err := writeCreds(p.file, next); err != nil { + return err + } + if len(errs) > 0 { + sort.Strings(errs) + return fmt.Errorf("could not set %s: %s", pushSecret, strings.Join(errs, "; ")) + } + return nil +} + +func writeCreds(path string, c gateCreds) error { + if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil { + return err + } + b, _ := json.MarshalIndent(c, "", " ") + // Hashes only: readable by the gate (same uid), useless to anyone else. + if err := os.WriteFile(path+".new", b, 0o644); err != nil { + return err + } + return os.Rename(path+".new", path) +} diff --git a/forge/rad.go b/forge/rad.go index bfb63fb..dabbdd8 100644 --- a/forge/rad.go +++ b/forge/rad.go @@ -68,9 +68,13 @@ func (m *mirror) rad(dir string, args ...string) (string, error) { // makes this node seed it (the node's policy is `block`: nothing is kept unless asked) and adds // the `rad` remote that pushes go to. func (m *mirror) radInit(dir string, r *repo) (string, error) { - desc := r.Description - if desc == "" { - desc = "Mirrored from Gitea: " + r.FullName + // A repository's ID is a hash of its first identity document (name, description, default + // branch, delegates). Two Gitea repositories with the same name and description (an example + // copied into an organisation) would get the same ID on this node, and the second rad init + // fails ("attempt to reinitialize"). The Gitea path makes the document unique per forge. + desc := "Mirrored from Gitea: " + r.FullName + if r.Description != "" { + desc = r.Description + " (Gitea: " + r.FullName + ")" } out, err := m.rad(dir, "init", dir, "--name", r.Name, "--description", desc, "--default-branch", r.DefaultBranch, "--public", "--no-confirm") diff --git a/forge/setup.go b/forge/setup.go index ce7b6ea..4329e13 100644 --- a/forge/setup.go +++ b/forge/setup.go @@ -19,7 +19,29 @@ import ( //go:embed all:example var exampleFiles embed.FS -const tokenName = "ipcr-forge-bridge" +const ( + tokenName = "ipcr-forge-bridge" + adminTokenName = "ipcr-forge-secrets" +) + +// ensureOrg creates the public organisation org, owned by the admin, unless it exists. +func ensureOrg(g *gitea, org string) error { + code, err := g.call("GET", "/orgs/"+org, nil, nil) + if code == http.StatusOK { + return nil + } + if code != http.StatusNotFound { + return err + } + if _, err := g.call("POST", "/admin/users/"+g.owner+"/orgs", map[string]any{ + "username": org, "visibility": "public", + "description": "Its public repositories publish images at the root of the forge's name.", + }, nil); err != nil { + return err + } + log.Printf("setup: created organisation %s", org) + return nil +} // setup is the install step, run after the stack is up and on every start (each action is // idempotent). It signs in once as the admin with the server's default app password, because @@ -30,7 +52,10 @@ const tokenName = "ipcr-forge-bridge" // SECRETS_DIR/hook-secret the webhook's HMAC key. Generated only when missing. // a system webhook every repository's push/create/delete/repository events → HOOK_URL, // created or repaired (matched by URL), never duplicated. -// EXAMPLE_REPO a public example repository with a workflow, created when absent. +// SECRETS_DIR/gitea-admin-token write:repository + read:user: push secrets, name collisions. +// IPCR_ROOT_ORG the root organisation, created when absent (public, owned by the admin). +// EXAMPLE_REPO a public example repository with a workflow, created when absent, in +// the root organisation when there is one. // an OAuth2 application the admin pages' Gitea login (PUBLIC_HOSTS → its redirect URIs); // SECRETS_DIR/oauth-client-id and oauth-client-secret. // @@ -78,6 +103,36 @@ func setup() error { log.Printf("setup: token %s written", tokenName) } + // The admin-scoped token: sets each publishing repository's IPCR_PUSH_TOKEN secret, and checks + // short-path collisions against every user and organisation. Not public-only: an organisation + // may be private and still own the name. + adminTokenFile := filepath.Join(secrets, "gitea-admin-token") + if b, _ := os.ReadFile(adminTokenFile); len(strings.TrimSpace(string(b))) == 0 { + g.call("DELETE", "/users/"+g.owner+"/tokens/"+adminTokenName, nil, nil) + var t struct { + SHA1 string `json:"sha1"` + } + if _, err := g.call("POST", "/users/"+g.owner+"/tokens", map[string]any{ + "name": adminTokenName, "scopes": []string{"write:repository", "read:user", "read:organization"}, + }, &t); err != nil { + return fmt.Errorf("token: %w", err) + } + if err := writeSecret(adminTokenFile, t.SHA1); err != nil { + return err + } + log.Printf("setup: token %s written", adminTokenName) + } + + // The root organisation: its repositories are also published at the root of the forge's name. + owner := g.owner + if org := strings.ToLower(env("IPCR_ROOT_ORG", "")); org != "" { + if err := ensureOrg(g, org); err != nil { + log.Printf("setup: organisation %s: %v", org, err) + } else { + owner = org + } + } + secretFile := filepath.Join(secrets, "hook-secret") secret, _ := os.ReadFile(secretFile) if strings.TrimSpace(string(secret)) == "" { @@ -100,7 +155,7 @@ func setup() error { if name := env("EXAMPLE_REPO", "ipcr-hello"); name != "-" && name != "" { // Not fatal: the forge works without its example. - if err := ensureExample(g, name); err != nil { + if err := ensureExample(g, owner, name); err != nil { log.Printf("setup: example repository: %v", err) } } @@ -146,18 +201,22 @@ func ensureHook(g *gitea, url, secret string) error { // ensureExample creates /, public, with the files under example/ in one commit. A // repository that already has content is left as it is: it may be the user's by now. -func ensureExample(g *gitea, name string) error { +func ensureExample(g *gitea, owner, name string) error { var r repo - code, err := g.call("GET", "/repos/"+g.owner+"/"+name, nil, &r) + code, err := g.call("GET", "/repos/"+owner+"/"+name, nil, &r) switch { case code == http.StatusNotFound: - if _, err := g.call("POST", "/admin/users/"+g.owner+"/repos", map[string]any{ + create := "/admin/users/" + owner + "/repos" + if owner != g.owner { + create = "/orgs/" + owner + "/repos" + } + if _, err := g.call("POST", create, map[string]any{ "name": name, "private": false, "default_branch": "main", "description": "Example: a tag here builds an image, published on IPFS by IPCR and mirrored to Radicle.", }, &r); err != nil { return err } - log.Printf("setup: created %s/%s", g.owner, name) + log.Printf("setup: created %s/%s", owner, name) case err != nil: return err case !r.Empty: @@ -181,7 +240,7 @@ func ensureExample(g *gitea, name string) error { if err != nil { return err } - _, err = g.call("POST", "/repos/"+g.owner+"/"+name+"/contents", map[string]any{ + _, err = g.call("POST", "/repos/"+owner+"/"+name+"/contents", map[string]any{ "branch": "main", "message": "Example: a Dockerfile and the workflow that publishes it", "files": files, }, nil) return err @@ -226,9 +285,24 @@ func ensureOAuthApp(g *gitea, hosts []string, secrets string) error { continue } if haveSecret { - // Keep it (and its secret); only follow a change of hosts. - _, err := g.call("PATCH", fmt.Sprintf("/user/applications/oauth2/%d", app.ID), body, nil) - return err + // Keep it, and its secret. Gitea regenerates the secret on every update, so only + // update when the hosts changed, and keep the secret it hands back. + if strings.Join(app.RedirectURIs, ",") == strings.Join(redirects, ",") { + return nil + } + var updated struct { + ClientSecret string `json:"client_secret"` + } + if _, err := g.call("PATCH", fmt.Sprintf("/user/applications/oauth2/%d", app.ID), body, &updated); err != nil { + return err + } + if updated.ClientSecret != "" { + if err := writeSecret(secretFile, updated.ClientSecret); err != nil { + return err + } + } + log.Printf("setup: OAuth2 app %s now for %s", oauthAppName, strings.Join(redirects, ", ")) + return nil } if _, err := g.call("DELETE", fmt.Sprintf("/user/applications/oauth2/%d", app.ID), nil, nil); err != nil { return err diff --git a/forge/web/admin.html b/forge/web/admin.html index d2957f3..91571ea 100644 --- a/forge/web/admin.html +++ b/forge/web/admin.html @@ -59,6 +59,27 @@ .bar { height: 8px; background: var(--code); border-radius: 4px; overflow: hidden; margin: 6px 0; } .bar span { display: block; height: 100%; background: var(--accent); } .note { border-left: 3px solid var(--warn); padding: 4px 12px; color: var(--muted); margin: 8px 0; } + .wide { grid-column: 1 / -1; } + /* Names, CIDs and commands stay on one line; their box scrolls instead. */ + .line { display: block; white-space: nowrap; overflow-x: auto; overflow-wrap: normal; } + .copyrow { display: flex; gap: 8px; align-items: center; min-width: 0; } + .copyrow code { flex: 1; min-width: 0; white-space: nowrap; overflow-x: auto; overflow-wrap: normal; padding: 3px 6px; } + .tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--line); margin: 20px 0 4px; overflow-x: auto; } + .tabs button { border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--muted); + padding: 8px 14px; font-size: 14px; white-space: nowrap; } + .tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--accent); font-weight: 600; } + .count { font-size: 12px; background: var(--code); border-radius: 10px; padding: 0 7px; margin-left: 4px; } + .addrs { list-style: none; padding: 0; margin: 4px 0 0; font-size: 13px; } + .addrs li { margin: 2px 0; } + .tag { border-top: 1px solid var(--line); padding: 10px 0; } + .tag:first-of-type { border-top: 0; } + .taghead { display: flex; gap: 10px; align-items: baseline; justify-content: space-between; flex-wrap: wrap; margin-bottom: 6px; } + .cmd { display: grid; grid-template-columns: 44px 1fr auto; gap: 8px; align-items: center; margin: 3px 0; } + .cmd .k { font-size: 11.5px; font-weight: 600; color: var(--muted); text-transform: uppercase; } + .cmd code { white-space: nowrap; overflow-x: auto; overflow-wrap: normal; padding: 3px 6px; min-width: 0; } + .spin { display: inline-block; width: 12px; height: 12px; border: 2px solid var(--line); border-top-color: var(--accent); + border-radius: 50%; animation: spin .8s linear infinite; vertical-align: -1px; margin-right: 6px; } + @keyframes spin { to { transform: rotate(360deg); } } #toast { position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%); background: var(--ink); color: var(--bg); padding: 8px 14px; border-radius: 8px; font-size: 14px; display: none; max-width: calc(100% - 32px); } @@ -71,33 +92,43 @@ + + +

Publisher name

-
+

Key

Key
…
-
IPNS name
…
-
Pull as
…
+
IPNS name
…
+
Pull as
…
-

Every image is published under this one name. Back the key up (below): it exists only on this server.

+

Every image is published under this one name. Back the key up (Key backup tab): it exists only on this server.

-
+

Your domain or ENS name

Point a name you own at the IPNS name, then enter it here. Once it checks out, pull lines use it.

- +

How to point it here -

ENS: in the ENS manager, Records → Content hash = ipns://k51….

-

DNS: a TXT record _dnslink.example.com = dnslink=/ipns/k51….

+

ENS: in the ENS manager, Records → Content hash =

+
ipns://k51…
+

DNS: a TXT record _dnslink.example.com =

+
dnslink=/ipns/k51…
-

Health

+

Health

IPNS record

@@ -106,27 +137,50 @@

The record must be renewed by this node while it is online (Kubo does it every 4 h). Lifetime is how long a record stays valid if this node goes offline; TTL is how long resolvers cache it.

-
-

Node

-
-
-
-

Storage

Published images are pinned and never collected. Unpublishing an image frees the blocks no other image uses.

+
+

Node

+
+

Listening on

+
    +
    +
    +
    +
    +
    + + + + +
    @@ -213,6 +268,34 @@ .then(function () { location.href = "/"; }); }; + // ---- tabs (the open one is kept in the URL, so a reload stays on it) + var tabs = document.querySelectorAll(".tabs button"); + function showTab(name) { + if (!$("tab-" + name)) name = "overview"; + Array.prototype.forEach.call(tabs, function (b) { + var on = b.getAttribute("data-tab") === name; + b.setAttribute("aria-selected", on ? "true" : "false"); + $("tab-" + b.getAttribute("data-tab")).hidden = !on; + }); + } + Array.prototype.forEach.call(tabs, function (b) { + b.onclick = function () { history.replaceState(null, "", "#" + b.getAttribute("data-tab")); showTab(b.getAttribute("data-tab")); }; + }); + showTab(location.hash.slice(1)); + + // ---- copy + function copy(text, btn) { + var done = function () { if (btn) { btn.textContent = "Copied"; setTimeout(function () { btn.textContent = "Copy"; }, 1500); } }; + if (navigator.clipboard && navigator.clipboard.writeText) navigator.clipboard.writeText(text).then(done, function () { window.prompt("Copy:", text); }); + else window.prompt("Copy:", text); + } + function copyButton(text) { var b = el("button", "Copy", "copy"); b.type = "button"; b.onclick = function () { copy(text, b); }; return b; } + Array.prototype.forEach.call(document.querySelectorAll("button[data-copy]"), function (b) { + b.type = "button"; + b.onclick = function () { copy($(b.getAttribute("data-copy")).textContent, b); }; + }); + function spinner(text) { var s = el("span"); s.appendChild(el("span", null, "spin")); s.appendChild(document.createTextNode(text)); return s; } + // ---- status function recordView(r, err, tree) { if (!r) return badge(err || "none", "bad"); @@ -222,20 +305,28 @@ if (tree && r.value !== tree) { s.appendChild(document.createTextNode(" · ")); s.appendChild(badge("older tree", "warn")); } return s; } + function showName(n) { + var nc = $("name-check"); nc.textContent = ""; + if (n && n.name) { + nc.appendChild(n.ok ? badge("✓ " + n.name + " points at this forge", "ok") : badge("✗ " + (n.error || "does not resolve"), "bad")); + if (!n.ok && n.resolves) nc.appendChild(el("div", n.name + " currently resolves to " + n.resolves, "muted")); + if (n.checkedAt) nc.appendChild(el("div", "Checked " + n.checkedAt.replace("T", " ").replace("Z", " UTC"), "muted")); + } else nc.textContent = "No name set: pull lines use the IPNS name."; + } function loadStatus(refresh) { + var st8 = $("refresh-state"); + st8.textContent = ""; st8.appendChild(spinner(refresh ? "Checking the network…" : "Loading…")); return api("GET", "ipcr/status" + (refresh ? "?refresh=1" : "")).then(function (s) { + st8.textContent = ""; publisher = s.key.id || ""; $("key-name").textContent = s.key.name || "—"; - $("key-id").textContent = publisher || "not created yet (first import creates it)"; - Array.prototype.forEach.call(document.querySelectorAll(".kid"), function (e) { e.textContent = publisher || "k51…"; }); + $("key-id").textContent = publisher || "not created yet (the first import creates it)"; + $("ens-value").textContent = "ipns://" + (publisher || "k51…"); + $("dns-value").textContent = "dnslink=/ipns/" + (publisher || "k51…"); pubName = s.name && s.name.ok ? s.name.name : ""; - $("pull-as").textContent = "ipcr.localhost:4767/ipns/" + (pubName || publisher || "…") + "//:"; - if (s.name && s.name.name) $("name").value = s.name.name; - var nc = $("name-check"); nc.textContent = ""; - if (s.name && s.name.name) { - nc.appendChild(s.name.ok ? badge("✓ " + s.name.name + " → this forge", "ok") : badge("✗ " + (s.name.error || "does not resolve"), "bad")); - if (!s.name.ok && s.name.resolves) nc.appendChild(el("div", "resolves to " + s.name.resolves, "muted")); - } else nc.textContent = "No name set: pull lines use the IPNS name."; + $("pull-as").textContent = "docker pull ipcr.localhost:4767/ipns/" + (pubName || publisher || "…") + "//:"; + if (s.name && s.name.name && document.activeElement !== $("name")) $("name").value = s.name.name; + showName(s.name); var rec = s.record; dl($("record"), [ ["Here", recordView(rec.local, rec.localError, rec.tree)], @@ -243,64 +334,101 @@ ["Lifetime", rec.lifetime], ["TTL", rec.ttl], ["Checked", s.checkedAt.replace("T", " ").replace("Z", " UTC")] ]); - dl($("node"), [["Peer ID", s.node.id], ["Connected peers", s.node.peers], - ["Listening", (s.node.addresses || []).filter(function (a) { return a.indexOf("/127.") < 0 && a.indexOf("/::1/") < 0; }).slice(0, 4).join("\n")]]); - var st = s.storage, pct = st.storageMax ? Math.min(100, 100 * st.repoSize / st.storageMax) : 0; - $("storage").innerHTML = ""; - $("storage").appendChild(el("div", size(st.repoSize) + " of " + size(st.storageMax) + " · " + st.pins + " pins")); + var pid = el("div", null, "copyrow"); pid.appendChild(el("code", s.node.id)); pid.appendChild(copyButton(s.node.id)); + dl($("node"), [["Peer ID", pid], ["Connected peers", s.node.peers]]); + // Public addresses first; loopback and the container's own network are of no use to anyone else. + var addrs = (s.node.addresses || []).filter(function (a) { return !/^\/ip4\/(127\.|10\.|172\.(1[6-9]|2\d|3[01])\.|192\.168\.)|^\/ip6\/(::1|f[cd])/.test(a); }); + var ul = $("addrs"); ul.textContent = ""; + if (!addrs.length) ul.appendChild(el("li", "no public address", "warn")); + addrs.forEach(function (a) { var li = el("li"); li.appendChild(el("code", a.replace(/\/p2p\/[^/]+$/, ""), "line")); ul.appendChild(li); }); + var sto = s.storage, pct = sto.storageMax ? Math.min(100, 100 * sto.repoSize / sto.storageMax) : 0; + $("storage").textContent = ""; + $("storage").appendChild(el("div", size(sto.repoSize) + " of " + size(sto.storageMax) + " · " + sto.pins + " pins")); var bar = el("div", null, "bar"), fill = el("span"); fill.style.width = pct.toFixed(1) + "%"; bar.appendChild(fill); $("storage").appendChild(bar); - }).catch(function (e) { toast("Status: " + e.message, 8000); }); + }).catch(function (e) { st8.textContent = ""; toast("Status: " + e.message, 8000); }); } $("refresh").onclick = function () { busy(this, loadStatus(true)); }; $("republish").onclick = function () { busy(this, api("POST", "ipcr/republish")).then(function () { toast("Published again"); loadStatus(true); }); }; $("peers").onclick = function () { + var o = $("peers-out"); o.textContent = ""; o.appendChild(spinner("Asking the network…")); busy(this, api("GET", "ipcr/peers")).then(function (p) { - var o = $("peers-out"); o.textContent = ""; + o.textContent = ""; if (p.error) o.appendChild(badge(p.error, "bad")); else if (!p.network || !p.network.length) o.appendChild(badge("The network does not know this node's addresses yet: check that port 4768 (TCP and UDP) is reachable.", "warn")); - else { o.appendChild(badge("Reachable via:", "ok")); o.appendChild(el("pre", p.network.join("\n"))); } - }); + else { + o.appendChild(badge("✓ Other nodes can reach this one via:", "ok")); + var ul = el("ul", null, "addrs"); + p.network.forEach(function (a) { var li = el("li"); li.appendChild(el("code", a, "line")); ul.appendChild(li); }); + o.appendChild(ul); + } + }, function () { o.textContent = ""; }); }; $("name-form").onsubmit = function (e) { e.preventDefault(); - var btn = this.querySelector("input[type=submit]"); - busy(btn, api("PATCH", "ipcr/config", { name: $("name").value })).then(function () { return loadStatus(true); }); + var btn = this.querySelector("input[type=submit]"), input = $("name"), name = input.value.trim(); + var nc = $("name-check"); + nc.textContent = ""; + nc.appendChild(spinner(name ? "Saving, then resolving " + name + " (up to a minute)…" : "Clearing the name…")); + btn.disabled = input.disabled = true; btn.value = "Checking…"; + api("PATCH", "ipcr/config", { name: name }) + .then(function () { return loadStatus(true); }) + .then(function () { + toast(name ? (pubName ? name + " checks out: pull lines use it" : "Saved: " + name + " does not point here yet") : "Name cleared"); + loadImages(); + }, function (err) { showName(null); toast(err.message, 8000); }) + .then(function () { btn.disabled = input.disabled = false; btn.value = "Save and check"; }); }; // ---- images + // The pull commands for one tag: by CID, by IPNS name, by the configured name when it checks out. + // The root organisation's repositories have a short path too: it comes first. + function pullCommands(reg, d, img, tg) { + var short = img.aliases && img.aliases.length ? img.aliases[0] : ""; + var path = (short || img.repo) + ":" + tg.tag, rows = [["IPFS", reg + "/ipfs/" + tg.cid]]; + if (d.publisher) rows.push(["IPNS", reg + "/ipns/" + d.publisher + "/" + path]); + if (d.name) rows.push([/\.eth$/.test(d.name) ? "ENS" : "DNS", reg + "/ipns/" + d.name + "/" + path]); + if (short && (d.name || d.publisher)) rows.push(["Also", reg + "/ipns/" + (d.name || d.publisher) + "/" + img.repo + ":" + tg.tag]); + var box = el("div"); + rows.forEach(function (r) { + var cmd = "docker pull " + r[1], row = el("div", null, "cmd"); + row.appendChild(el("span", r[0], "k")); row.appendChild(el("code", cmd)); row.appendChild(copyButton(cmd)); + box.appendChild(row); + }); + return box; + } function loadImages() { return api("GET", "ipcr/images").then(function (d) { var box = $("images"); box.textContent = ""; box.className = ""; + var reg = d.registry || "ipcr.localhost:4767", n = 0; if (d.stagingError) box.appendChild(el("p", "Staging registry: " + d.stagingError, "warn")); - if (!d.images || !d.images.length) { box.appendChild(el("p", "Nothing published yet.", "muted")); return; } + if (!d.images || !d.images.length) { box.appendChild(el("p", "Nothing published yet.", "muted")); $("images-count").textContent = "0"; return; } d.images.forEach(function (img) { - var h = el("h3", img.repo + " "); + n += img.tags.length; + var card = el("div", null, "card"); card.style.marginBottom = "12px"; + var h = el("h3", (img.aliases && img.aliases.length ? img.aliases[0] + " · " : "") + img.repo + " "); h.appendChild(img.allowed ? badge("publishing", "ok") : badge("not allowed: new tags are not published", "warn")); - box.appendChild(h); - var wrap = el("div", null, "scroll"), t = el("table"), head = el("tr"); - ["Tag", "Image", "", ""].forEach(function (x) { head.appendChild(el("th", x)); }); - t.appendChild(head); + card.appendChild(h); img.tags.forEach(function (tg) { - var tr = el("tr"); - var td1 = el("td"); td1.appendChild(el("code", tg.tag)); - if (tg.at) td1.appendChild(el("div", tg.at.replace("T", " ").replace("Z", ""), "muted")); - var td2 = el("td"); td2.appendChild(el("code", "/ipfs/" + tg.cid)); - var td3 = el("td"), prov = el("span", "", "muted"); td3.appendChild(prov); - var td4 = el("td"), acts = el("div", null, "actions"); + var t = el("div", null, "tag"), head = el("div", null, "taghead"), left = el("div"); + left.appendChild(el("code", tg.tag)); + if (tg.at) left.appendChild(el("span", " " + tg.at.replace("T", " ").replace("Z", " UTC"), "muted")); + var prov = el("span", "", "muted"); prov.style.marginLeft = "10px"; left.appendChild(prov); + var acts = el("div", null, "actions"); var chk = el("button", "Findable?"); chk.onclick = function () { + prov.textContent = ""; prov.appendChild(spinner("asking the network…")); busy(chk, api("GET", "ipcr/providers?cid=" + encodeURIComponent(tg.cid))).then(function (p) { prov.textContent = ""; - prov.appendChild(p.self ? badge("✓ this node is listed", "ok") : badge("✗ not listed (" + p.providers + " other providers)", "warn")); + prov.appendChild(p.self ? badge("✓ findable: this node is listed", "ok") : badge("✗ not listed yet (" + p.providers + " other providers)", "warn")); if (!p.self) { var ann = el("button", "Announce"); ann.onclick = function () { busy(ann, api("POST", "ipcr/announce", { cid: tg.cid })).then(function () { toast("Queued: Kubo announces it within a minute or two; check again then.", 6000); }); }; prov.appendChild(document.createTextNode(" ")); prov.appendChild(ann); } - }); + }, function () { prov.textContent = ""; }); }; acts.appendChild(chk); if (tg.tag !== "latest") { @@ -318,48 +446,83 @@ }); }; acts.appendChild(un); - td4.appendChild(acts); - [td1, td2, td3, td4].forEach(function (x) { tr.appendChild(x); }); - t.appendChild(tr); + head.appendChild(left); head.appendChild(acts); + t.appendChild(head); + t.appendChild(pullCommands(reg, d, img, tg)); + card.appendChild(t); }); - (img.staging || []).filter(function (s) { return s.state !== "published"; }).forEach(function (s) { - var tr = el("tr"); - var td1 = el("td"); td1.appendChild(el("code", s.tag)); - var td2 = el("td", s.state === "unpublished" ? "unpublished; still in staging" : (img.allowed ? "in staging, not imported yet" : "in staging, not allowed"), "muted"); - var td3 = el("td"), td4 = el("td"); - if (img.allowed) { - var re = el("button", s.state === "unpublished" ? "Publish again" : "Import now"); - re.onclick = function () { busy(re, api("POST", "ipcr/reimport", { repo: img.repo, tag: s.tag })).then(function () { toast("Queued"); setTimeout(loadImages, 5000); }); }; - td4.appendChild(re); - } - [td1, td2, td3, td4].forEach(function (x) { tr.appendChild(x); }); - t.appendChild(tr); - }); - wrap.appendChild(t); box.appendChild(wrap); + var pending = (img.staging || []).filter(function (s) { return s.state !== "published"; }); + if (pending.length) { + card.appendChild(el("h3", "In staging, not published")); + var tbl = el("table"); + pending.forEach(function (s) { + var tr = el("tr"), td1 = el("td"), td2 = el("td", s.state === "unpublished" ? "unpublished; still in staging" : (img.allowed ? "not imported yet" : "repository not allowed"), "muted"), td3 = el("td"); + td1.appendChild(el("code", s.tag)); + if (img.allowed) { + var re = el("button", s.state === "unpublished" ? "Publish again" : "Import now"); + re.onclick = function () { busy(re, api("POST", "ipcr/reimport", { repo: img.repo, tag: s.tag })).then(function () { toast("Queued: imported on the next pass"); setTimeout(loadImages, 5000); }); }; + td3.appendChild(re); + } + tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tbl.appendChild(tr); + }); + card.appendChild(tbl); + } + box.appendChild(card); }); + $("images-count").textContent = String(n); }).catch(function (e) { $("images").textContent = "Images: " + e.message; }); } // ---- repositories + function loadSettings() { + return api("GET", "settings").then(function (st) { + if (document.activeElement !== $("org")) $("org").value = st.rootOrg || ""; + $("org-state").textContent = st.rootOrg ? "Publishing " + st.rootOrg + "'s repositories at the root." : "No root organisation."; + }).catch(function (e) { $("org-state").textContent = e.message; }); + } + $("org-form").onsubmit = function (e) { + e.preventDefault(); + var btn = this.querySelector("input[type=submit]"), st = $("org-state"); + st.textContent = ""; st.appendChild(spinner("Saving, then updating credentials and IPCR's list…")); + btn.disabled = true; + api("PUT", "settings", { rootOrg: $("org").value.trim() }) + .then(function (r) { toast(r.rootOrg ? r.rootOrg + " is the root organisation; short paths appear on IPCR's next pass" : "No root organisation"); return Promise.all([loadSettings(), loadRepos()]); }, + function (err) { toast(err.message, 8000); return loadSettings(); }) + .then(function () { btn.disabled = false; setTimeout(loadImages, 70000); }); + }; function loadRepos() { return api("GET", "repos").then(function (repos) { var box = $("repos"); box.textContent = ""; box.className = ""; if (!repos.length) { box.appendChild(el("p", "No public repository yet.", "muted")); return; } var t = el("table"), head = el("tr"); - ["Repository", "Publish images"].forEach(function (x) { head.appendChild(el("th", x)); }); + ["Repository", "Published as", "Push credential", "Publish"].forEach(function (x) { head.appendChild(el("th", x)); }); t.appendChild(head); repos.forEach(function (r) { - var tr = el("tr"), td1 = el("td"), td2 = el("td"), cb = document.createElement("input"); + var tr = el("tr"), td1 = el("td"), td2 = el("td"), td3 = el("td"), td4 = el("td"), cb = document.createElement("input"); td1.appendChild(el("code", r.full_name)); + (r.published_as || []).forEach(function (p, i) { var d = el("div"); d.appendChild(el("code", p + ":", i ? "muted" : "")); td2.appendChild(d); }); + if (!r.publish) td2.appendChild(el("span", "—", "muted")); + if (r.collision) td2.appendChild(el("div", "no short path: " + r.collision, "warn")); + if (r.publish) { + td3.appendChild(r.credential ? badge("✓ IPCR_PUSH_TOKEN set", "ok") : badge("✗ missing", "bad")); + var rot = el("button", "Reissue"); rot.style.marginLeft = "8px"; + rot.onclick = function () { + if (!confirm("Give " + r.full_name + " a new IPCR_PUSH_TOKEN? The old one stops working at once; running builds may fail.")) return; + busy(rot, api("POST", "repos/rotate", { full_name: r.full_name })).then(function () { toast("New token set on " + r.full_name); loadRepos(); }); + }; + td3.appendChild(rot); + } else td3.appendChild(el("span", "—", "muted")); cb.type = "checkbox"; cb.checked = r.publish; cb.onchange = function () { cb.disabled = true; api("PUT", "repos", { full_name: r.full_name, publish: cb.checked }) - .then(function () { cb.disabled = false; toast(r.full_name + (cb.checked ? ": publishing" : ": not publishing")); loadImages(); }, - function (e) { cb.disabled = false; cb.checked = !cb.checked; toast(e.message, 8000); }); + .then(function () { toast(r.full_name + (cb.checked ? ": publishing" : ": not publishing")); return loadRepos(); }, + function (e) { cb.checked = !cb.checked; toast(e.message, 8000); }) + .then(function () { cb.disabled = false; loadImages(); }); }; - td2.appendChild(cb); - tr.appendChild(td1); tr.appendChild(td2); t.appendChild(tr); + td4.appendChild(cb); + [td1, td2, td3, td4].forEach(function (x) { tr.appendChild(x); }); + t.appendChild(tr); }); var wrap = el("div", null, "scroll"); wrap.appendChild(t); box.appendChild(wrap); }).catch(function (e) { $("repos").textContent = "Repositories: " + e.message; }); @@ -404,7 +567,7 @@ }).catch(function (e) { toast(e.message, 8000); }); }; - loadStatus(false); loadImages(); loadRepos(); + loadStatus(false); loadImages(); loadRepos(); loadSettings(); })(); diff --git a/forge/web/index.html b/forge/web/index.html index 290b46f..947dc0b 100644 --- a/forge/web/index.html +++ b/forge/web/index.html @@ -131,9 +131,10 @@ git push -u origin main
    Applications
    ).
  • Add a workflow at .gitea/workflows/build.yml. This one builds the Dockerfile at the root for every v* tag. It is a GitHub-style - workflow with two differences: the image goes to localhost:5000, this forge's - staging registry (no login, no secret), and buildx's builder runs with network=host - so it can reach that registry. + workflow with three differences: it logs in to localhost:5000, this forge's staging + registry, as the repository itself (the forge sets the IPCR_PUSH_TOKEN secret on + every public repository allowed to publish), the image goes there under the repository's own + name, and buildx's builder runs with network=host so it can reach that registry.
    name: image
     on:
       push:
    @@ -143,6 +144,11 @@ jobs:
         runs-on: ubuntu-latest
         steps:
           - uses: actions/checkout@v4
    +      - uses: docker/login-action@v3
    +        with:
    +          registry: localhost:5000
    +          username: ${{ github.repository }}
    +          password: ${{ secrets.IPCR_PUSH_TOKEN }}
           - uses: docker/metadata-action@v5
             id: meta
             with:
    @@ -163,12 +169,13 @@ jobs:
     
    git add .gitea && git commit -m "Build the image"
     git tag v1.0.0
     git push origin main v1.0.0
    - The image is published as <owner>/<repo>:1.0.0 under this forge's name.
  • + The image is published as <owner>/<repo>:1.0.0 under this forge's name. + Repositories of the forge's own organisation are also published at the root: + <repo>:1.0.0. -

    Who can publish: anyone who can push to a repository on this forge, since a build -can push any image name to the staging registry. Images are public once on IPFS, even when they come from -a private repository. Gitea holds a pull request from a fork until someone with write access approves -its workflow run: read the workflow before you approve.

    +

    Who can publish: each public repository publishes under its own name only, with its +own push credential; the short root names belong to the forge's organisation, so to its members. +Workflows from forks get no secrets, so they cannot publish. Private repositories never publish.

    Use an image

    Copy the line from Published images into a compose file. It works on this @@ -316,7 +323,9 @@ for IPFS peers. Details: Date: Mon, 5 Oct 2026 12:06:45 +0000 Subject: [PATCH 12/12] IPCR Forge: public front door (docker pull without IPCR) ipcr-public: a second ipcrd behind Caddy at ipcr-, plain HTTP, no pinning, off the admin and CI networks. With PUBLIC_POLICY it serves only this forge's publisher name, its verified ENS/DNS name and its published image roots; everything else is 404, pushes 405. So docker pull ipcr-/ipns/metadec.eth/ipcr-hello:1.0.0 works on any machine with plain Docker. Switch in the admin page (config.json "public"), mirrored into published.json for the pages, which show the public pull lines while it is on. ipcr 1.5.0, bridge 0.4.0. Verified from a second machine (docs/forge.md). --- Apps/IPCR-Forge/docker-compose.yml | 65 +++++++++++++++++++++++++++--- Apps/IPCR-Forge/rationale.md | 19 +++++++++ docs/forge.md | 45 +++++++++++++++++++-- forge/web/admin.html | 31 +++++++++++++- forge/web/index.html | 16 ++++++++ 5 files changed, 166 insertions(+), 10 deletions(-) diff --git a/Apps/IPCR-Forge/docker-compose.yml b/Apps/IPCR-Forge/docker-compose.yml index af28002..f69e9d1 100644 --- a/Apps/IPCR-Forge/docker-compose.yml +++ b/Apps/IPCR-Forge/docker-compose.yml @@ -35,7 +35,7 @@ services: # with the stock `rad` CLI against the node's own home. Serves the forge's page on :8080. # Its install step (forge-setup, below) mints its Gitea token and registers the webhook. ipcr-forge: - image: ghcr.io/yundera/ipcr-forge-bridge:0.3.0 + image: ghcr.io/yundera/ipcr-forge-bridge:0.4.0 container_name: ipcr-forge user: $PUID:$PGID read_only: true @@ -281,7 +281,7 @@ services: # push that name only; IPCR logs in as the importer (state/staging-auth, which it generates). # Same image as the bridge (`ipcr-forge-bridge gate`, bridge/gate.go). See rationale.md. forge-gate: - image: ghcr.io/yundera/ipcr-forge-bridge:0.3.0 + image: ghcr.io/yundera/ipcr-forge-bridge:0.4.0 container_name: forge-gate user: $PUID:$PGID read_only: true @@ -475,7 +475,7 @@ services: # ipcrd: TLS front door on 127.0.0.1:4767. Passes /ipfs/ through to the stock nerdctl # registry below, resolves /ipns/: itself, and pins every image it serves. ipcr-gateway: - image: ghcr.io/yundera/ipcr:1.4.0 + image: ghcr.io/yundera/ipcr:1.5.0 container_name: ipcr-gateway # Root for one reason: it writes its CA into the host's Docker trust store (the narrow # bind below), which is root-owned. See rationale.md. @@ -555,10 +555,63 @@ services: limits: memory: 128M + # ── Public front door ─────────────────────────────────────────────────────── + # Forge only: the same ipcrd, a second process, serving the registry API to anyone at + # ipcr-, read-only, for this forge's own images only (gateway/public.go): its publisher + # name, its verified ENS/DNS name, its published image roots. Everything else is 404, so nobody + # can make this node fetch other IPFS content. `docker pull ipcr-/ipns//:` + # then works on any machine, without IPCR. A pull here pins nothing. The admin pages switch it + # off (config.json "public": false). Not on the admin or CI networks. See rationale.md. + ipcr-public: + image: ghcr.io/yundera/ipcr:1.5.0 + container_name: ipcr-public + user: $PUID:$PGID + read_only: true + cap_drop: [ALL] + security_opt: ["no-new-privileges:true"] + restart: unless-stopped + command: ["gateway"] + environment: + TZ: $TZ + # Plain HTTP: Caddy terminates TLS (no TLS_DIR, no CA to export). + LISTEN: ":4770" + AUTO_PIN: "false" + PUBLIC_POLICY: /data/state + volumes: + # published.json and config.json, written by ipcr-gateway. Read-only. + - ${DATA_ROOT:-/DATA}/AppData/$AppID/ipcr/state:/data/state:ro + depends_on: + - ipcr-registry + healthcheck: + test: ["CMD", "ipcrd", "health", "http://127.0.0.1:4770/v2/"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s + expose: + - 4770 + labels: + caddy_0: ipcr-${APP_DOMAIN} + caddy_0.import: gateway_tls + caddy_0.reverse_proxy: "{{upstreams 4770}}" + caddy_1: ipcr-${APP_PUBLIC_IP_DASH}.nip.io + caddy_1.import: gateway_tls + caddy_1.reverse_proxy: "{{upstreams 4770}}" + caddy_2: ipcr-${APP_PUBLIC_IP_DASH}.sslip.io + caddy_2.reverse_proxy: "{{upstreams 4770}}" + networks: + - pcs + - ipcr-internal + cpu_shares: 30 + deploy: + resources: + limits: + memory: 256M + # ── Stock nerdctl IPFS registry ───────────────────────────────────────────── # `nerdctl ipfs registry serve`, unmodified: translates the registry API into IPFS reads. ipcr-registry: - image: ghcr.io/yundera/ipcr:1.4.0 + image: ghcr.io/yundera/ipcr:1.5.0 container_name: ipcr-registry # Root because nerdctl run as any other uid assumes rootless mode and refuses to start # without a rootless containerd — which `ipfs registry serve` never uses. The service has @@ -725,6 +778,7 @@ x-casaos: | --- | --- | | `https://gitea-$APP_DOMAIN` | Gitea (opens from the tile). Sign in as `gitea_admin` with your default app password | | `https://ipcr-forge-$APP_DOMAIN` | The forge's page (public) | + | `ipcr-$APP_DOMAIN` | `docker pull` this forge's images from anywhere, without IPCR (read-only) | | `https://radicle-$APP_DOMAIN` | Radicle explorer (public) | | `https://radicle-api-$APP_DOMAIN` | Radicle API and read-only git (public) | | `ipcr.localhost:4767` | IPCR registry, this server's Docker only | @@ -760,6 +814,7 @@ x-casaos: | --- | --- | | `https://gitea-$APP_DOMAIN` | Gitea (s'ouvre depuis la tuile). Connexion : `gitea_admin` et votre mot de passe d'applications par défaut | | `https://ipcr-forge-$APP_DOMAIN` | La page de la forge (publique) | + | `ipcr-$APP_DOMAIN` | `docker pull` des images de cette forge depuis n'importe où, sans IPCR (lecture seule) | | `https://radicle-$APP_DOMAIN` | Explorateur Radicle (public) | | `https://radicle-api-$APP_DOMAIN` | API Radicle et git en lecture seule (public) | | `ipcr.localhost:4767` | Registre IPCR, pour le Docker de ce serveur uniquement | @@ -919,7 +974,7 @@ x-compose-app: # the example repository (in that organisation). Idempotent, so on every start: it repairs the webhook. # The admin password is used here only, never stored. - name: forge-setup - image: ghcr.io/yundera/ipcr-forge-bridge:0.3.0 + image: ghcr.io/yundera/ipcr-forge-bridge:0.4.0 user: $PUID:$PGID phase: post_up network: $APP_NET diff --git a/Apps/IPCR-Forge/rationale.md b/Apps/IPCR-Forge/rationale.md index e07c2f9..bce7c60 100644 --- a/Apps/IPCR-Forge/rationale.md +++ b/Apps/IPCR-Forge/rationale.md @@ -48,6 +48,8 @@ with. See docs/forge.md. bridge. 15. **The root organisation** (`IPCR_ROOT_ORG`): setup creates it if missing, and its repositories are also published at the root of the forge's name. +16. **A public, unauthenticated, read-only registry route** (`ipcr-` → `ipcr-public`), so this + forge's images can be pulled without IPCR. ## Why it is necessary @@ -132,6 +134,11 @@ already mounts read-only. repositories may use them. A Gitea organisation makes "who may publish there" a matter of team membership, managed in Gitea. +**16. The public front door.** The IPFS address only works on machines running IPCR. People trying +an image elsewhere (a laptop, a CI on another platform) need a registry that plain Docker can pull +from. Public IPFS gateways cannot do it, since they have no registry API. A login would defeat the +purpose: the images are public on IPFS anyway. + ## Security mitigations in place **The bridge** @@ -182,6 +189,18 @@ membership, managed in Gitea. and its secret at once. "Reissue" rotates a token. - **Gate container:** `$PUID`, no capabilities, read-only root filesystem, 64 MB. +**The public front door** +- **This forge's images only.** It answers only for the publisher's own IPNS name, its verified + ENS/DNS name, and the root CIDs of published images. Anything else is 404 before any resolution, + so strangers cannot use it to fetch or serve other IPFS content. +- **Read-only and storage-neutral.** GET and HEAD only, and `AUTO_PIN=false`: a pull never pins. +- **Isolated.** + - It is a separate process (`ipcr-public`) on `pcs` and `ipcr-internal` only, not on the admin + or CI networks. + - It runs as `$PUID` with no capabilities and a read-only root filesystem, capped at 256 MB. + - It reads the main gateway's state read-only. +- **Can be switched off** in the admin pages (`config.json` `"public": false`). + **The page** - **The public page cannot change anything.** The bridge serves it read-only: the embedded page, IPCR's `published.json` (mounted read-only) and the bridge's repository list. diff --git a/docs/forge.md b/docs/forge.md index 921d2f9..d90aae8 100644 --- a/docs/forge.md +++ b/docs/forge.md @@ -177,6 +177,32 @@ ipcr.localhost:4767/ipns/k51…/ipcr-hello:1.0.0 - **Setup:** creates the organisation (public, owned by `gitea_admin`) if it is missing, and puts the example repository in it. +## Public front door + +`docker pull ipcr-/ipns/metadec.eth/ipcr-hello:1.0.0` works on any machine with plain +Docker: no IPCR, no CA to trust, no IPFS node. + +**Why a public IPFS gateway can't do this:** `docker pull ipfs.io/ipns/…` asks for +`/v2/ipns/…/manifests/…`, a registry API that file gateways don't have. Blobs are then asked for by +digest, which only something that walks the image's descriptors can turn into CIDs. + +**How it works.** `ipcr-public` is the same ipcrd, a second process, behind Caddy. +- **Plain HTTP:** Caddy terminates TLS. +- **No pinning:** `AUTO_PIN=false`. +- **Off the admin and CI networks.** +- **`PUBLIC_POLICY` points it at the main gateway's state** (read-only). It then serves only: + - this forge's publisher name; + - its ENS/DNS name, while verified; + - the root CIDs of its published images. + + Everything else is 404, so nobody can make the node fetch other IPFS content. Pushes get 405. +- **Off switch:** the admin page's "Public pulls" switch (`config.json` `"public"`), picked up within + 10 s. Pages show the "Public" / "without IPCR" pull lines while it is on. + +**It's a convenience, not the main way to pull.** It depends on this server; `ipcr.localhost:4767` +works from any IPCR node that has, or can find, the image. Docker still checks every layer by +digest, so the front door cannot swap content. + ## Staging gate and push credentials ``` @@ -349,12 +375,23 @@ New in v3 (tested locally with Gitea 1.27.3 and rad 1.10.1, 2026-10-04): | a user named `ipcr-hello` | short path skipped, reason shown; back when the user is gone | | repository switched off | gate credential and Gitea secret removed; restored when switched on | +**Public front door, on holyhorse** (ipcr 1.5.0, bridge 0.4.0, 2026-10-05): + +| Check | Result | +| --- | --- | +| from another machine (Docker Desktop, no IPCR): `docker pull ipcr-holyhorse.nsl.sh/ipns/metadec.eth/ipcr-hello:1.0.0` | pulled, ran, served the page | +| same by `k51…/metadec/ipcr-hello:latest` and by `/ipfs/` | pulled | +| pins on the server after those pulls | unchanged (16) | +| wisera's k51, `vitalik.eth`, an unpublished CID, `/v2/_catalog` | 404 | +| a `PUT` | 405 | +| switch off / on | pull "not found", page hides the line / pulls again within 10 s | + ## Open items -- **Pull from a second server.** Verified on holyhorse itself only; v2's images pulled across - servers the same way. -- **Publish the images**: `ghcr.io/yundera/ipcr:1.4.0` and `ghcr.io/yundera/ipcr-forge-bridge:0.3.0` - (workflows `image.yml` and `bridge.yml`, tags `v1.4.0` and `bridge-v0.3.0`). +- **Pull from a second IPCR server** (`ipcr.localhost`): verified on holyhorse itself only, though + the public front door was pulled from another machine; v2's images pulled across IPCR servers. +- **Publish the images**: `ghcr.io/yundera/ipcr:1.5.0` and `ghcr.io/yundera/ipcr-forge-bridge:0.4.0` + (workflows `image.yml` and `bridge.yml`, tags `v1.5.0` and `bridge-v0.4.0`). - **CI isolation:** jobs on a privileged daemon can reach the host. Rootless DinD does not start on this platform (AppArmor); a VM-based runner would be the real fix. - **Private repositories** cannot publish: the bridge only sees public ones. If wanted, give them diff --git a/forge/web/admin.html b/forge/web/admin.html index 91571ea..78dd02f 100644 --- a/forge/web/admin.html +++ b/forge/web/admin.html @@ -126,6 +126,16 @@

    +
    +

    Public pulls

    +

    This forge's images, and only those, can also be pulled from any machine with plain Docker, without IPCR, + through ipcr-…. Read-only; a pull there pins nothing. Layers are still checked by digest.

    +
    + + +
    +
    docker pull …
    +

    Health

    @@ -216,6 +226,8 @@ "use strict"; var $ = function (id) { return document.getElementById(id); }; var publisher = "", pubName = ""; + // The public front door's host: same suffix as this page, ipcr- instead of ipcr-forge-. + var publicHost = location.hostname.indexOf("ipcr-forge-") === 0 ? "ipcr-" + location.hostname.slice("ipcr-forge-".length) : ""; function toast(msg, ms) { var t = $("toast"); t.textContent = msg; t.style.display = "block"; @@ -348,6 +360,22 @@ $("storage").appendChild(bar); }).catch(function (e) { st8.textContent = ""; toast("Status: " + e.message, 8000); }); } + function loadPublic() { + $("public-host").textContent = publicHost || "ipcr-"; + return api("GET", "ipcr/config").then(function (c) { + $("public-on").checked = !!c.public; + $("public-state").textContent = c.public ? "on" : "off"; + $("public-try").textContent = "docker pull " + (publicHost || "ipcr-") + "/ipns/" + (pubName || publisher || "k51…") + "/:"; + }); + } + $("public-on").onchange = function () { + var cb = this, st = $("public-state"); + cb.disabled = true; st.textContent = ""; st.appendChild(spinner("saving…")); + api("PATCH", "ipcr/config", { public: cb.checked }) + .then(function (c) { toast(c.public ? "Public pulls on (within 10 s)" : "Public pulls off (within 10 s)"); return loadPublic(); }, + function (e) { cb.checked = !cb.checked; toast(e.message, 8000); }) + .then(function () { cb.disabled = false; loadImages(); }); + }; $("refresh").onclick = function () { busy(this, loadStatus(true)); }; $("republish").onclick = function () { busy(this, api("POST", "ipcr/republish")).then(function () { toast("Published again"); loadStatus(true); }); @@ -390,6 +418,7 @@ var path = (short || img.repo) + ":" + tg.tag, rows = [["IPFS", reg + "/ipfs/" + tg.cid]]; if (d.publisher) rows.push(["IPNS", reg + "/ipns/" + d.publisher + "/" + path]); if (d.name) rows.push([/\.eth$/.test(d.name) ? "ENS" : "DNS", reg + "/ipns/" + d.name + "/" + path]); + if (d.public && publicHost && (d.name || d.publisher)) rows.push(["Public", publicHost + "/ipns/" + (d.name || d.publisher) + "/" + path]); if (short && (d.name || d.publisher)) rows.push(["Also", reg + "/ipns/" + (d.name || d.publisher) + "/" + img.repo + ":" + tg.tag]); var box = el("div"); rows.forEach(function (r) { @@ -567,7 +596,7 @@ }).catch(function (e) { toast(e.message, 8000); }); }; - loadStatus(false); loadImages(); loadRepos(); loadSettings(); + loadStatus(false).then(loadPublic); loadImages(); loadRepos(); loadSettings(); })(); diff --git a/forge/web/index.html b/forge/web/index.html index 947dc0b..7fd5dcd 100644 --- a/forge/web/index.html +++ b/forge/web/index.html @@ -206,6 +206,13 @@ image's content address and can never change.

    A repository that turns private or is deleted in Gitea is no longer synced (frozen). What was already published stays on the Radicle network: it cannot be taken back.

    +

    Pull without IPCR

    +

    To try an image on a machine without IPCR, pull it through this forge's public front door, with plain Docker +and nothing to install:

    +
    docker pull ipcr-<domain>/ipns/<name>/<repo>:1.0.0
    +

    It serves this forge's images only, read-only, and depends on this server being online. For +anything that should keep working without it, use IPCR's local address (below): any IPCR node can serve the image.

    +

    Pull from another server

    Any server with IPCR resolves the same lines and fetches the image from the IPFS network, from this server and from every other server that already pulled it.

    @@ -231,6 +238,7 @@ for IPFS peers. Details:
    Radicle explorer (public) Radicle API and read-only git over HTTPS (public) ipcr.localhost:4767IPCR registry, for this server's Docker only + Public front door: docker pull this forge's images from anywhere (read-only) TCP 8776 · TCP/UDP 4768Radicle peers · IPFS peers @@ -263,6 +271,8 @@ for IPFS peers. Details: /:1.0.0"; function el(tag, text, cls) { var e = document.createElement(tag); @@ -335,6 +345,12 @@ for IPFS peers. Details: