Experimental Proxmox / Docker compose tool
compose proxmox docker
0

Configure Feed

Select the types of activity you want to include in your feed.

proxpose / README.md
1.8 kB 65 lines
1# proxpose 2 3### Idea 4 5Proxmox cli tool. 6 7Takes `docker-compose.yml` files and deploys them using a standardised vm/lxc. 8 9The compose, and associated files, get mounted into the vm. 10The vm just starts whatever compose file it finds in the default path. 11 12This will need a correctly configured template. 13With the usual niceties like auto updates, quemu guest agent and such 14already configured. 15 16Anything within the compose files directory is considered persistent. 17Temporary or irrelevant data should live within docker volumes. 18 19There should be a way to deploy both specific services and all services. 20 21In case the template gets updated, a single command should result in 22all services using the new template. 23 24 25There will be a managed dns instance, [Armadillo](https://github.com/vshakitskiy/armadillo) which always gets set up first. 26Armadillo's records will be updated when vms get recreated. Each vm will point directly at Armadillo's IP address. 27If it ever changes, all vms will be updated. 28 29Each service will be available under <service>.<domain>. <domain> is configurable through `config set` 30The service name will be derived from the folder name. 31 32There should be a way to configure what ports to opene internally and which should be published under which domain. 33Something like 34proxpose.json 35```json 36{ 37 "publish": [ 38 "my-service.domain": 3000 39 ], 40 "ports": [ 41 1234 42 ] 43 44} 45``` 46 47 48#### Nix based 49 50Create new nix ct with `POST /api2/json/nodes/{node}/lxc` 51Immediately lets you configure: 52- user 53- ssh keys 54- Mounts 55- 56 57 58 59### Proxmox api exploration 60 61```sh 62pvesh create /cluster/mapping/dir --id {vmid}-compose --map node={node},path=/root/compose/{vmid}/ 63 64pvesh create /nodes/pve/qemu/{vmid}/config --virtiofs{fs-nr} dirid={vmid}-compose 65```