# proxpose ### Idea Proxmox cli tool. Takes `docker-compose.yml` files and deploys them using a standardised vm/lxc. The compose, and associated files, get mounted into the vm. The vm just starts whatever compose file it finds in the default path. This will need a correctly configured template. With the usual niceties like auto updates, quemu guest agent and such already configured. Anything within the compose files directory is considered persistent. Temporary or irrelevant data should live within docker volumes. There should be a way to deploy both specific services and all services. In case the template gets updated, a single command should result in all services using the new template. There will be a managed dns instance, [Armadillo](https://github.com/vshakitskiy/armadillo) which always gets set up first. Armadillo's records will be updated when vms get recreated. Each vm will point directly at Armadillo's IP address. If it ever changes, all vms will be updated. Each service will be available under .. is configurable through `config set` The service name will be derived from the folder name. There should be a way to configure what ports to opene internally and which should be published under which domain. Something like proxpose.json ```json { "publish": [ "my-service.domain": 3000 ], "ports": [ 1234 ] } ``` #### Nix based Create new nix ct with `POST /api2/json/nodes/{node}/lxc` Immediately lets you configure: - user - ssh keys - Mounts - ### Proxmox api exploration ```sh pvesh create /cluster/mapping/dir --id {vmid}-compose --map node={node},path=/root/compose/{vmid}/ pvesh create /nodes/pve/qemu/{vmid}/config --virtiofs{fs-nr} dirid={vmid}-compose ```