Skip to main content

Proxmox VE

The Community Scripts helper script creates a Debian LXC container on your Proxmox VE host, installs SolidInvoice into it, and registers it as a systemd service โ€” one command, no manual container setup.

System requirementsโ€‹

  • A Proxmox VE host.
  • Run the command from the host shell โ€” the node's Shell in the Proxmox web UI, or over SSH. Not from inside an existing container.

Installโ€‹

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/solidinvoice.sh)"

The script asks whether to use default or advanced settings. The defaults are:

SettingDefault
Operating systemDebian 13
CPU2 cores
RAM2 GB
Disk4 GB
Container typeUnprivileged

Choose Advanced at the prompt to change the container ID, hostname, resources, or network settings.

When the script finishes it prints the container's URL. SolidInvoice listens on http://<container-ip>:8765 โ€” open that in your browser and finish setup with the first-run wizard.

info

The container serves plain HTTP. For production, place SolidInvoice behind a reverse proxy (Nginx, Caddy, Traefik) that handles TLS termination.

Configurationโ€‹

Inside the container, the service reads its configuration from /etc/solidinvoice/solidinvoice.env. The file ships fully commented โ€” edit it to change the port, point at an external database, or set a mail transport:

/etc/solidinvoice/solidinvoice.env
# Port to listen on (default: 8765)
#SOLIDINVOICE_PORT=8765

# Database connection string โ€” defaults to SQLite when unset
#SOLIDINVOICE_DATABASE_URL=mysql://user:password@127.0.0.1:3306/solidinvoice

Restart the service to apply changes:

systemctl restart solidinvoice

Manage the serviceโ€‹

Run these inside the container โ€” open its console from the Proxmox web UI, run pct enter <ctid> on the host, or connect over SSH:

systemctl start solidinvoice # start
systemctl stop solidinvoice # stop
systemctl restart solidinvoice # restart
systemctl status solidinvoice # check status
journalctl -u solidinvoice -f # follow logs

File locationsโ€‹

PathContents
/usr/bin/solidinvoiceBinary
/etc/solidinvoice/solidinvoice.envConfiguration
/etc/solidinvoice/Generated secrets and the SQLite database
/var/lib/solidinvoice/Application data
/etc/systemd/system/solidinvoice.servicesystemd unit

Updateโ€‹

Run the built-in update command from inside the container:

update

This downloads the latest SolidInvoice release, replaces the binary, and restarts the service. Your configuration and data are left untouched.

note

The helper script is maintained by the Community Scripts project. Report problems with the script itself on their GitHub repository; report problems with SolidInvoice on the SolidInvoice issue tracker.