Deploy: Proxmox VE community-scripts LXC installer (Gitea, build-from-source)
ci / build-test (push) Successful in 1m18s
ci / build-test (push) Successful in 1m18s
Adds deploy/ct/metervault.sh (host) + deploy/install/metervault-install.sh (in-LXC), modeled on MQTTower's community-scripts installer but adapted for MeterVault: it lives on public Gitea (not GitHub) and is a single Blazor app + TimescaleDB (not multi-mode). The host script sources the community-scripts framework, creates a Debian 12 LXC and runs the install script via pct exec. The install script sets up PostgreSQL 16 + TimescaleDB, installs the .NET SDK, builds the app from the public Gitea repo (no prebuilt tarball exists — releases ship as a container image), writes /etc/metervault/environment + a systemd unit on port 8760, and installs an 'update' command (git pull + rebuild). scripts/run-metervault-ct-install.sh is the maintainer helper. All three pass shellcheck (warning-level clean) and bash -n. README documents the one-liner. Claude-Session: https://claude.ai/code/session_01Kib2MniVFbD95fkgLgBBnB
This commit is contained in:
@@ -46,6 +46,21 @@ docker compose -f deploy/docker-compose.yml up -d
|
||||
# API docs at http://localhost:8760/swagger
|
||||
```
|
||||
|
||||
## Quick start (Proxmox VE LXC)
|
||||
|
||||
A community-scripts–style installer builds a self-contained LXC (Debian + PostgreSQL/TimescaleDB +
|
||||
the app as a systemd service). Run **on the Proxmox host**:
|
||||
|
||||
```bash
|
||||
bash -c "$(curl -fsSL https://git.finalfactory.de/FinalFactory/MeterVault/raw/branch/master/deploy/ct/metervault.sh)"
|
||||
```
|
||||
|
||||
It asks the standard container questions, optionally loads the demo dataset, and prints the URL
|
||||
(`http://<ct-ip>:8760`) plus the generated DB password. Re-run `update` inside the container to pull
|
||||
the latest source and rebuild. It builds from this public Gitea repo (there is no prebuilt tarball —
|
||||
releases ship as a container image). See [`deploy/ct/metervault.sh`](deploy/ct/metervault.sh) and
|
||||
[`deploy/install/metervault-install.sh`](deploy/install/metervault-install.sh).
|
||||
|
||||
Configuration is via environment variables (`Section__Key` double-underscore mapping), e.g.:
|
||||
|
||||
| Variable | Purpose |
|
||||
|
||||
Reference in New Issue
Block a user