Three pieces: 1. mirror-ollama-model.sh — run on any machine that has the model pulled. Parses the manifest at ~/.ollama/models/manifests/registry.ollama.ai/<ns>/<name>/<tag>, greps every sha256:* digest, tars manifest + referenced blobs into one .tgz. Output is portable — extract over any other Ollama data dir and the model is immediately visible. 2. init-models.sh gains an s3_pull function that curls a tarball from $S3_OLLAMA_BASE and extracts into /root/.ollama/models/. Falls back to ollama pull when S3_OLLAMA_BASE is unset, so s3_pull lines are safe to commit before the bucket is ready. huihui_ai/qwen3.5- abliterated:9b promoted to s3_pull as the example. 3. docker-compose.yml model-init service propagates S3_OLLAMA_BASE from .env. Curl auto-installs at script start because ollama/ollama doesn't always ship it. README documents the mirror workflow under "Mirroring models to S3". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
comfyui-nvidia
ComfyUI image-generation backend, NVIDIA-accelerated, fronted by Open WebUI for multi-user chat and image generation/editing.
Built from the official ComfyUI manual install for
NVIDIA — no
third-party base image. CI publishes the image to
git.anomalous.dev/alphacentri/comfyui-nvidia on every v* tag (see
.gitea/workflows/release.yml).
Repository layout
| Path | What |
|---|---|
Dockerfile |
ComfyUI on NVIDIA, manual-install pattern |
workflows/ |
txt2img + img2img workflow JSONs and node mappings |
deployments/ai-stack/ |
The deployment — compose, Caddyfile, env, model preseed |
.gitea/workflows/ |
Release pipeline (build & push image on tag) |
Deploy
The full stack — Caddy + Ollama + ComfyUI + Open WebUI (+ optional
Anubis) — lives under deployments/ai-stack/.
Bring-up steps, host prerequisites, Open WebUI workflow wiring, and
gotchas are in deployments/ai-stack/README.md.
Replaces
This repo supersedes the previous figment + segment + Forge stack. ComfyUI's node graph covers everything those services provided (txt2img, img2img, inpaint, mask generation via SAM/GroundingDINO custom nodes), and Open WebUI talks to it natively.