Incus-compose 1.3 has been released

Released v1.3.5:

Features

• Direct Incus connections: Connect without a pre-configured incus remote using --server-url.
• Remote bind mounts: Pass host bind mounts through to remote Incus servers per-volume via x-incus-compose.remote: true or globally with --allow-remote-mounts. docs
• Unmanaged external networks: External networks pointing to unmanaged host interfaces (such as br0 with MANAGED: NO) now automatically attach using nictype: bridged / physical / macvlan with parent: <name>. docs
• Directory seed updates on up: Seeded directory bind mounts (x-incus-compose.seed: true) now re-seed on every up, updating matching files while leaving existing volume data untouched.

Fixes

• Set lxc.environment.hooks on Incus < 7.6 so containers with a non-standard PATH (e.g. ghcr.io/nix-containers/images/*) don’t break host LXC hooks.
• Flush network aliases to raw.dnsmasq even when all services set container_name equal to their service name (#206).
• Validate down --rmi values (local / all) and service arguments passed to down (#220, #221).


ic-dns in v1.4.0: opt-in or opt-out?

Our next major release (v1.4.0, planned right after Incus 7.0.2 LTS) introduces ic-dns incus-compose/docs/root/dns.md at develop · lxc/incus-compose · GitHub, a dedicated DNS sidecar that handles service discovery and DNS routing for managed containers.

We originally planned to ship ic-dns as opt-out (enabled by default) in v1.4.0, and we’re confident in its stability.
However, since routing all container DNS through ic-dns is a significant architectural change, we’re considering making it opt-in in v1.4.0 and switching to opt-out in a later release.

What do you prefer for v1.4.0 — enabled by default (opt-out) or opt-in first?

How is this intended to be used? The project starts with no profiles, and you can’t turn on profile sharing after you launch it., and it only adds profiles on image creation. Is there a compose key to define new profiles or do you have to somehow get the instance ready, create the profiles, delete it and let it be created again?

You can create the project and profiles beforehand, this feature has been requested and implemented by alien43. I don’t know what people need profiles for.

Profiles make my life a lot easier, if I can get them to work instead of having to paste the same segments into the compose file:)

So if I create a project named what the compose project will be named incus-compose will just play nicely with existing config? thanks.

I’m having trouble getting my immich set up ported over, (rootless might be giving me heartache compared to your set up) but I’ll keep at it and let you know if I discover any issues that aren’t my own.

Compose files (yaml) are very powerfull.

See incus-compose/examples/many-dependencies/compose.yaml at develop · lxc/incus-compose · GitHub