From d0f06918ea2d4d4e6f9464cb55ddb2277c50a56f Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Thu, 26 Feb 2026 10:34:49 +0100 Subject: [PATCH] docs(containers): add Stable Audio and TRELLIS, update service counts - Add full profiles for Stable Audio and TRELLIS services - Update quick reference table, GPU services, and storage distribution - Add new stacks to README port allocation and GPU section - Update total services to 37 across 23 stacks Co-Authored-By: Claude Opus 4.6 --- CONTAINERS.md | 76 ++++++++++++++++++++++++++++++++++++++++++++++-- stacks/README.md | 6 ++++ 2 files changed, 79 insertions(+), 3 deletions(-) diff --git a/CONTAINERS.md b/CONTAINERS.md index 4c3fa85..9df9c47 100644 --- a/CONTAINERS.md +++ b/CONTAINERS.md @@ -1,7 +1,7 @@ # Container Reference - tower-of-joy Infrastructure -> **Last Updated:** 2026-02-12 -> **Total Services:** 35 containers across 21 stacks +> **Last Updated:** 2026-02-20 +> **Total Services:** 37 containers across 23 stacks > **System:** Intel i7-6700, RTX 2080 Ti (11GB VRAM), 64GB RAM, Zorin OS 16.3 --- @@ -43,6 +43,8 @@ | **Shell In A Box** | 4200 | https://shell.schweitz.net | Internet (host service) | No | - | ✅ Running | | **AdGuard Home** | 53, 3053 | http://dns.schweitz.internal | LAN (DNS) | No | - | ✅ Running | | **Tatlock UI** | 9999 | https://home.schweitz.net | Internet | No | - | ✅ Running | +| **Stable Audio** | 11500 | http://192.168.86.149:11500 | LAN | Yes (RTX 2080 Ti) | - | ⏸️ Not Deployed | +| **TRELLIS** | 11510 | http://192.168.86.149:11510 | LAN | Yes (RTX 2080 Ti) | - | ✅ Running | ### External Domains (SSL via Let's Encrypt) - **home.schweitz.net** → Tatlock UI @@ -766,6 +768,68 @@ Penpot is an open-source design and prototyping platform, serving as a self-host --- +### Stable Audio + +Stable Audio Open is an AI audio generation model from Stability AI that creates music and sound effects from text prompts. It generates up to 47 seconds of audio using diffusion techniques, with a Gradio web interface for easy interaction. The service uses GPU acceleration for inference and runs as a locally-built container image, storing model weights in a HuggingFace cache on the SSD. + +| Property | Value | +|----------|-------| +| **Image** | `stable-audio-open:local` (locally built) | +| **Container Name** | `stable-audio` | +| **Access URL (LAN)** | http://192.168.86.149:11500 | +| **External Access** | LAN only | +| **Port Mapping** | 11500:8000 (Gradio Web UI) | +| **Network Mode** | Bridge (docker-dataplane) | +| **Restart Policy** | `unless-stopped` | +| **Volume Mounts** | `~/docker-data/stable-audio/hf-cache:/root/.cache/huggingface` (SSD - model cache ~6GB) | +| **Environment** | `NVIDIA_VISIBLE_DEVICES=all`, `NVIDIA_DRIVER_CAPABILITIES=compute,utility`, `HF_TOKEN=`, `TZ=Europe/Amsterdam` | +| **Resource Limits** | Memory: 16GB limit, 8GB reservation | +| **GPU Required** | Yes (RTX 2080 Ti - ~6GB VRAM) | +| **Dependencies** | NVIDIA Container Toolkit, HuggingFace token | +| **Health Check** | `curl -fSs http://localhost:8000/` (60s interval, 300s start_period) | +| **Build Location** | `/home/jpmschweitzer/docker-data/stable-audio-open/` | +| **Source** | https://github.com/SaladTechnologies/stable-audio-open | +| **Features** | Text-to-audio, up to 47s generation, configurable diffusion steps, CFG scale | + +**Prerequisites:** +1. Accept model license: https://huggingface.co/stabilityai/stable-audio-open-1.0 +2. Create HuggingFace token with read access +3. Build image: `docker build -t stable-audio-open:local .` + +--- + +### TRELLIS + +TRELLIS is Microsoft's 3D model generation system that creates 3D assets from text or image inputs. This deployment uses the low-VRAM fork (0lento/TRELLIS) optimized for 11GB GPUs, using 6-8GB VRAM instead of the standard 16GB requirement. It outputs GLB meshes with UV mappings, suitable for game asset pipelines. The Gradio web interface allows interactive generation with configurable parameters. + +| Property | Value | +|----------|-------| +| **Image** | `trellis:local` (locally built) | +| **Container Name** | `trellis` | +| **Access URL (LAN)** | http://192.168.86.149:11510 | +| **External Access** | LAN only | +| **Port Mapping** | 11510:7860 (Gradio Web UI) | +| **Network Mode** | Bridge (docker-dataplane) | +| **Restart Policy** | `unless-stopped` | +| **Volume Mounts** | `~/docker-data/trellis/hf-cache:/root/.cache/huggingface` (SSD - model cache ~5GB), `/mnt/media/trellis/outputs:/app/outputs` (HDD - generated GLB files) | +| **Environment** | `NVIDIA_VISIBLE_DEVICES=all`, `NVIDIA_DRIVER_CAPABILITIES=compute,utility`, `ATTN_BACKEND=xformers`, `SPCONV_ALGO=native`, `PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True`, `HF_TOKEN=`, `TZ=Europe/Amsterdam` | +| **Resource Limits** | Memory: 16GB limit, 4GB reservation | +| **GPU Required** | Yes (RTX 2080 Ti - 6-8GB VRAM with low-VRAM fork) | +| **Dependencies** | NVIDIA Container Toolkit | +| **Health Check** | `curl -fSs http://localhost:7860/` (60s interval, 300s start_period) | +| **Build Location** | `/home/jpmschweitzer/docker-data/trellis/` | +| **Source** | https://github.com/0lento/TRELLIS (low-vram branch) | +| **Output Format** | GLB with mesh geometry, UV mappings, and textures | +| **Features** | Text-to-3D, image-to-3D, GLB export with UVs, Blender-compatible output | + +**Use Case:** Game asset pipeline - generate 3D meshes with UVs, import into Blender, apply custom textures, render isometric sprites. + +**Prerequisites:** +1. Create directories: `mkdir -p ~/docker-data/trellis/{hf-cache,config} /mnt/media/trellis/outputs` +2. Build image: `cd ~/docker-data/trellis && docker build -t trellis:local .` (~20-30 min) + +--- + ### ClamAV ClamAV is an open-source antivirus engine running on the host OS, providing virus scanning capabilities for the entire server and accessible via TCP socket for container-based services like Paperless-ngx. It includes automatic virus definition updates via freshclam and can perform both on-demand and real-time scanning. Running on the host provides better security isolation than containerized scanning and allows scanning of the host filesystem directly. @@ -890,9 +954,13 @@ Gitea is a lightweight, self-hosted Git service providing repository hosting, is |---------|-----------|-------------------|---------| | **Ollama** | Compute, Utility | 2-10GB (model dependent) | LLM inference | | **Jellyfin** | Video Encode/Decode | ~1-2GB (during transcode) | Media transcoding | +| **Stable Audio** | Compute | ~6GB | AI audio generation | +| **TRELLIS** | Compute | 6-8GB (low-VRAM fork) | 3D model generation | **Total VRAM Available:** 11GB (RTX 2080 Ti) +**Note:** Stable Audio, TRELLIS, and Ollama share GPU. For best results, stop competing services during heavy generation tasks. + --- ### Storage Distribution @@ -922,6 +990,8 @@ Gitea is a lightweight, self-hosted Git service providing repository hosting, is | **Webber** | `~/docker-data/webber/logs/`, `~/docker-data/webber/sandbox/` | N/A | Logs: ~10MB, Sandbox: variable | | **Penpot** | `~/docker-data/penpot/assets/` | N/A | Assets: variable (uploads, exports) | | **Tatlock UI** | None (stateless) | N/A | ~0MB (static files in container) | +| **Stable Audio** | `~/docker-data/stable-audio/hf-cache/` | N/A | Model cache: ~6GB | +| **TRELLIS** | `~/docker-data/trellis/hf-cache/` | `/mnt/media/trellis/outputs/` | Model cache: ~5GB, Outputs: variable | **SSD Usage (docker-data):** ~6-11GB (configs, caches, databases) **HDD Usage (/mnt/media):** ~2.1TB / 3.6TB (58% used) @@ -971,4 +1041,4 @@ redis-cli -h redis-shared # Redis connection --- -*Last Updated: 2026-01-31* +*Last Updated: 2026-02-20* diff --git a/stacks/README.md b/stacks/README.md index 52b93d4..40106c0 100644 --- a/stacks/README.md +++ b/stacks/README.md @@ -38,6 +38,8 @@ review the http://core-api/docs openapi documentation for infrastructure managem | **Gitea** | `gitea.yml` | 3002, 2222 | No | Git repository hosting (includes PostgreSQL) | | **Samba** | `samba.yml` | 139, 445 | No | Network file sharing | | **Home Assistant** | `home-assistant.yml` | 8123 | No | Smart home automation platform | +| **Stable Audio** | `stable-audio.yml` | 11500 | **Yes** | AI audio generation (local build) | +| **TRELLIS** | `trellis.yml` | 11510 | **Yes** | 3D model generation (local build) | ## Port Allocation @@ -61,6 +63,8 @@ review the http://core-api/docs openapi documentation for infrastructure managem ### ML/API Services (11000+) - 11434: Ollama +- 11500: Stable Audio Open +- 11510: TRELLIS (3D model generation) ### Network Services - 80: HTTP (NPM reverse proxy) @@ -87,6 +91,8 @@ All stacks follow the dual-disk strategy: Stacks requiring GPU access (marked with **Yes** above): - `ollama.yml` - ML model inference - `jellyfin.yml` - Hardware transcoding +- `stable-audio.yml` - AI audio generation (~6GB VRAM) +- `trellis.yml` - 3D model generation (~6-8GB VRAM) **Prerequisites:** - NVIDIA Container Toolkit installed