Go to file
Mathieu Broillet 099638570f
All checks were successful
continuous-integration/drone/push Build is passing
remade the steps runner and improved some functions
2023-06-22 15:43:35 +02:00
.git-images add logo to readme 2023-06-12 11:02:13 +02:00
protected_resources/scripts fixed get ipv4 (w/ netmask) and setup alpine repo and fixed mutliples commands 2023-06-20 15:17:17 +02:00
src remade the steps runner and improved some functions 2023-06-22 15:43:35 +02:00
.drone.yml update drone and readme for repo based resources 2023-06-14 15:52:30 +02:00
Dockerfile added dockerfile for custom image 2023-06-13 07:42:29 +02:00
MANIFEST.in proxmox utils, lxc utils and configs 2023-06-09 14:51:47 +02:00
README.md move documentation to wiki 2023-06-22 08:49:43 +02:00
requirements.txt replaced json by yaml, improved traefik lxc and git detection/update 2023-06-21 17:10:15 +02:00
run.py MASSIVE REWORK of structure include new object oriented approch with linuxmachine/pve host, etc 2023-06-15 16:25:47 +02:00

Proxmox Deploy

Build Status

Logo

Description

Promox Deploy is a Python-based software that allows you to manage your Proxmox homelab by using YAML files.

This project started as I discovered another incredible project, "Proxmox VE Helper Scripts" by tteck. It allowed me to easily create and deploy apps using the LXC feature of Proxmox, allowing for isolation at a near-zero cost in perfomance.

Soon after that, I started having to maintain a multitude of ssh hosts and keys to access all my LXC easily, furthermore it made managing my LXCs using VSCode and the VSCode agent (with the remote SSH extension) really complicated and not easily maintainable.

So I created ProxmoxDeploy, I took a lot of inspiration from the scripts of tteck, again thank you for your project.

Why?

As my homelab was growing I realised that it was harder and harder to keep everything in sync and up to date. So I decided to create a script to manage my Proxmox homelab.

How it works

The concept is simple, you have a Git repository with a the following structure:

.
├── config.json
├── lxc
│   ├── <id>
│   │   ├── config.json
│   │   ├── <your files>
│   │   └── <your folders>
│   └── <id>
│       ├── ...
│── qemu
│   ├── <id>
│   │   ├── config.json
│   │   ├── <your files>
│   │   └── <your folders>
│   └── <id>
│       ├── ...
│── scripts
│   ├── <your scripts>
│   └── ...

See the wiki for more information about the structure and differents files

Now ideally you would have some sort of Git actions (GitHub Actions/Drone/Gitea Actions) that automatically runs the latest binary of PD (ProxmoxDeploy) with your repo specified, so that for every new commits, the update is automatically deployed to your homelab. See the automatic deployement page on the wiki for more info.

Usage

Download

Download the pre-compiled binaries from the release page or build it yourself.

Documentation

Have a look at the wiki.