Incus Compose - Remote yamls?

Something I have liked about Incus over previous set ups is that I don’t have to SSH in to my hypervisor to engage with my instances. I also can manage it from different clients without keeping anything in sync manually. This also currently applies to my compose based stacks, because they’re running with docker or podman in an lxc, I can attach to their shell with the incus-client and then run compose. No need to mount their compose files on my local machine, or have ssh access to anything.

However it seems like the design of incus-compose doesn’t enable you to work like that. Unless I’m missing something either I need to synchronize my compose files between all my clients, and install incus-compose on them, or make directories on the incus host with them and ssh in and install incus-compose on the host (and switch it to https connection).

Is there any work around? Could this be something that evolves? Maybe the --project-directory command could take a parameter that references a volume on the incus host, so that compose files could be stored in an incus volume and any client with incus-compose could interface with them? This seems like a relatively small change to how incus-compose works, that would make it more remote-first.

My ideal world would actually have incus-compose installed on the incus server, ‘incus compose’ added to the incus client, compose yaml and .envs stored in project config and be able to do something like ‘incus compose immich {cmd}’ to run incus-compose {cmd} against that project. maybe ‘incus compose --create’ to start a new one either by passing local files or opening an editor to paste into.

But whatever works to let me not have to synchronize compose files between my clients is good for me!

Hey,

Some sort of incus-compose project upload would be fun. We could use the incus-compose project for storage and encrypt the contents with FIDO / password with an opt-out from encryption.

A wrapper from incus to incus-compose as incus compose should be easy, please open an issue for that on GitHub - lxc/incus: Powerful system container and virtual machine manager · GitHub .

Kind regards,
René