commit 2b4f08c5eb0b0829a622aac3798a14e7795a1c46 Author: l.kirchner Date: Thu May 21 23:00:07 2026 +0200 Initial commit: README diff --git a/README.md b/README.md new file mode 100644 index 0000000..5ba1c0b --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# luki-net / proxmox-scripts + +Community-script-style installers for LXC services in my Proxmox VE homelab. Each script creates an unprivileged Debian 12 LXC and installs one specific app, with sensible defaults and interactive prompts. + +Inspired by [community-scripts/ProxmoxVE](https://github.com/community-scripts/ProxmoxVE), but minimal, self-hosted and tailored to my stack. + +## Available scripts + +| App | Description | One-liner | +|-----|-------------|-----------| +| [devpi](ct/devpi.sh) | Private PyPI cache / mirror — saves time on CUDA/torch rebuilds | `bash -c "$(curl -fsSL https://gitea.luki-net.org/luki-net/proxmox-scripts/raw/branch/main/ct/devpi.sh)"` | + +## Usage + +Run any one-liner on a Proxmox VE host as root (Web UI → Node → Shell works fine). You'll be prompted for CTID, hostname, disk, RAM, CPU, bridge, storage and IP. Defaults are sane. + +Non-interactive override via env vars: + +```bash +CTID=200 HOSTNAME=devpi DISK_SIZE=30 RAM=4096 CORES=4 IPCFG=dhcp \ + bash -c "$(curl -fsSL https://gitea.luki-net.org/luki-net/proxmox-scripts/raw/branch/main/ct/devpi.sh)" +``` + +All defaults (`DEFAULT_HOSTNAME`, `DEFAULT_DISK`, …) are settable per-call via env vars as well. + +## Repo layout + +``` +. +├── ct/ # Host-side scripts, one per app +├── install/ # In-container installers, one per app +├── lib/ +│ ├── build.func # Shared host-side helpers (prompts, LXC create, bootstrap) +│ └── install.func # Shared in-container helpers (apt, systemd, users, http-wait) +├── docs/ +│ └── adding-a-script.md +├── README.md +└── LICENSE +``` + +## Adding a new script + +See [docs/adding-a-script.md](docs/adding-a-script.md). Two files per app, both source the shared libs via `curl`. + +## License + +MIT