Experimental Proxmox / Docker compose tool
compose proxmox docker
0

Configure Feed

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

16 1 0

Clone this repository

https://git.vm.fail/ollie.earth/proxpose https://git.vm.fail/did:plc:r33hx6xmhbddmjipvas2qfqx
ssh://git@knot.ollie.earth:2222/ollie.earth/proxpose ssh://git@knot.ollie.earth:2222/did:plc:r33hx6xmhbddmjipvas2qfqx

For self-hosted knots, clone URLs may differ based on your setup.


README.md

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 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

{
    "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#

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