mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
A '-bookworm' tag names its Debian release by codename, which carries no ordering, so nothing can raise it across a Debian major and the base stays frozen on that release for as long as the pin stands. Moving to '-slim' drops the codename and takes the smaller image at the same time. The tag hides that this is two changes at once: node:26-slim and python:3.x-slim are trixie today, so those six roles cross Debian 12 to 13 and lose the toolchain the full buildpack-deps image carried. node:24-slim is still bookworm and its manifest is byte-identical to node:24-bookworm-slim, so flowise changes nothing today; what it gains is a tag that will follow the rebase instead of pinning Debian 12 forever. Each image was built with --no-cache and the steps read back rather than the exit code: postmarks installs git 2.47.3-0+deb13u1 and 304 npm packages, bookwyrm builds through its runtime stage so the libjpeg62-turbo, libsass1, libffi8, libxslt1.1 and libmagic1 it hardcodes do exist on trixie, roulette-wheel compiles its webpack bundle. Two were additionally exercised at runtime: sharp loads its prebuilt binding in the simpleicons image, and bridgy-fed imports secp256k1 and constructs flask_app.app. web-svc-cdn has no Dockerfile, so its build script's seven tools were checked for presence instead. bridgy-fed needs pkg-config, autoconf, automake and libtool to survive the move. secp256k1 vendors libsecp256k1 and builds it from source: without pkg-config the metadata step refuses outright, and with it autogen.sh exits 127. python:3.14-bookworm is the full buildpack-deps image and ships both; slim does not. They land in the build stage only, so the runtime image stays slim. The flowise min-storage marker still claimed a bookworm-slim base and now names what is actually built. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
65 lines
2.0 KiB
YAML
65 lines
2.0 KiB
YAML
---
|
|
# nocheck: playwright-service-flag — CDN does not appear as a dashboard tile
|
|
# nocheck: dynamic-flag
|
|
dashboard:
|
|
enabled: false
|
|
# nocheck: playwright-service-flag — self-provider
|
|
cdn:
|
|
# nocheck: default-placement-manager the one-shot npm-mirror build must write the served CDN root, a node-local host bind openresty (manager-pinned) reads
|
|
placement: manager
|
|
modes:
|
|
host:
|
|
enabled: true
|
|
compose:
|
|
enabled: true
|
|
swarm:
|
|
enabled: true
|
|
bond: 1
|
|
enabled: true
|
|
shared: true
|
|
flavor: internal
|
|
cpus: "0.2"
|
|
mem_reservation: 128m
|
|
mem_limit: 256m
|
|
pids_limit: 128
|
|
min_storage: "1GB"
|
|
lifecycle: beta
|
|
# nocheck: playwright-service-flag — transient node image used only to build the npm asset mirror, never served
|
|
# nocheck: image-healthcheck build-time image run as a one-shot, no service port
|
|
build:
|
|
# nocheck: single-replica one-shot npm-mirror build writing the shared served root; parallel replicas would race and duplicate work
|
|
replicas: 1
|
|
image: node
|
|
version: "26-slim"
|
|
cpus: "1.0"
|
|
mem_reservation: 128m
|
|
mem_limit: 256m
|
|
pids_limit: 256
|
|
# nocheck: playwright-service-flag — CDN serves static assets, no HTML pages with tracking snippet
|
|
matomo:
|
|
bond: 1
|
|
enabled: "{{ 'web-app-matomo' in group_names }}"
|
|
shared: "{{ 'web-app-matomo' in group_names }}"
|
|
# nocheck: matomo-track
|
|
track: false
|
|
# nocheck: playwright-service-flag — canonical:cdn alias of self-provider
|
|
# nocheck: dynamic-flag
|
|
javascript:
|
|
enabled: false
|
|
shared: true
|
|
canonical: cdn
|
|
# nocheck: playwright-service-flag — /metrics endpoint covered by web-app-prometheus's own spec
|
|
prometheus:
|
|
bond: 1
|
|
enabled: "{{ 'web-app-prometheus' in group_names }}"
|
|
shared: "{{ 'web-app-prometheus' in group_names }}"
|
|
# nocheck: prometheus-scrape
|
|
scrape: false
|
|
|
|
# nocheck: playwright-service-flag
|
|
# nocheck: variants-coverage — sso-variant-tor requires the onion on in every variant, so the false polarity has no variant left to live in
|
|
tor:
|
|
bond: 0.5
|
|
enabled: "{{ 'svc-net-tor' in group_names }}"
|
|
shared: true # nocheck: dynamic-flag
|