Features
-
Install plugins from the config. List the packages that provide your plugins under the new top-level
plugin_packageskey, then runcf plugins installto install them into the Python environment that runscf. This replaces the longuv tool install compose-farm --with "... @ git+...#subdirectory=..."command you had to repeat on every upgrade.plugin_packages: - github:basnijholt/compose-farm/examples/plugins/pin - github:basnijholt/compose-farm/examples/plugins/traefik-dns@v1.25.0 plugins: pin: gitea: nas
- Entries are pip requirements (PyPI names,
git+https://...URLs, local paths relative to the config file), or the GitHub shorthandgithub:OWNER/REPO/SUBDIR@REF, where/SUBDIRand@REFare optional. cf plugins installusesuv pip installwhen uv is onPATHand pip otherwise, then checks that the enabled plugins load and lists them.uv tool upgrade compose-farmrecreates the tool environment without the added packages. The nextcfcommand then reports them as unknown, andcf plugins installrestores them:uv tool upgrade compose-farm && cf plugins install.- The unknown-plugin error (CLI and web UI) now points to
plugin_packagesandcf plugins install. - The Docker image still bundles the example plugins; for other plugins, build your own image.
- Entries are pip requirements (PyPI names,
⚠️ Older releases reject the new plugin_packages key, so upgrade cf everywhere it reads the config, including the web UI container, before adding it.
Full changelog: v1.24.2...v1.25.0