mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
The freeswitch build fetched libopusenc from launchpad.net, whose librarian backend rate-limits CI (429s across 11 attempts); three more build-time fetches carried the same risk. The maintainer publishes an alangecker/* image for every buildable service, so compose_mods drops build: wherever the service carries an image and compose pulls instead; a guard task fails loudly if a future upstream service still builds. Pin ref to the v3.0.23 release branch (the packaging repo has no tags) and clone it without submodules via the new compose_repository_recursive toggle: submodules only feed build contexts and DEV_MODE mounts, and generate-compose falls back to the committed repos/tags file. Declare the pulled images in meta/services.yml (updater-managed SPOT, mirror pre-pull) and the named data volumes in meta/volumes.yml; the override renders both through the standard container_image / container_volumes / compose_volumes lookups with the service_name pattern. Compose merges volumes by target, so the override's named volumes verifiably replace the clone-local bind mounts (docker compose config proven). This also heals a split-brain mount: apps-akka, periodic and prometheus-exporter previously kept bind mounts while their peers used the named volumes. Teach container_image and compose_volumes to honour compose_mode_force (the SPOT the other mode-aware lookups already read): bbb deploys as a node-local compose stack in swarm, so it must get hub image refs and plain local volumes there, not registry-prefixed refs and NFS driver_opts. The unpinned-engine-volume lint learns the same two safe conditions. Read the embedded Collabora port from web-svc-collabora's services SPOT instead of hardcoding 9980. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
6 lines
138 B
YAML
6 lines
138 B
YAML
---
|
|
logo:
|
|
class: fa-solid fa-chalkboard-teacher
|
|
homepage: https://bigbluebutton.org/
|
|
video: https://www.youtube.com/watch?v=YRkQB6MJllI
|