Files
TREK/wiki/Install-Proxmox.md
Julien G. 22f3bf4bfc fix: add APP_VERSION fallback and HOST bind address env var (#952 #953) (#955)
* fix: add APP_VERSION fallback and HOST bind env var (#952 #953)

- Read package.json version when APP_VERSION env var is absent so the
  startup banner shows the correct version for source/Proxmox installs
- Add HOST env var to control the HTTP bind address; only applied when
  set so Docker deployments are unaffected (bind-all-interfaces default)
- Parse PORT as Number() so malformed values like '10.0.0.72:3001' fall
  back to 3001 instead of silently misbehaving
- Document HOST in .env.example, Environment-Variables wiki, and
  Install-Proxmox wiki with explicit warnings against using it in Docker

* fix: correct package.json path in APP_VERSION fallback

index.ts sits at server/src/ — one level up reaches server/package.json,
not two (../../ overshot to the repo root where no package.json exists).
2026-05-04 14:21:55 +02:00

3.3 KiB

Install: Proxmox VE (LXC)

Install TREK on Proxmox VE as an LXC container using the Proxmox VE Community Scripts.

A big thank you to the members of community-scripts for adding TREK to their collection and maintaining the install and update scripts.

Prerequisites

  • Proxmox VE with shell access
  • Internet access from the Proxmox host

Install

Run the following command in the Proxmox VE Shell:

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

Tip: Always verify the latest command on the community-scripts TREK page before running — the script URL may change between releases.

The script will prompt you to choose between Default and Advanced settings.

Default container specs

Resource Value
OS Debian 13
CPU 2 cores
RAM 2048 MB
Storage 8 GB
Port 3000

The container is unprivileged. TREK is installed at /opt/trek.

After Install

Once the container starts, open your browser at:

http://<container-ip>:3000

On first boot, TREK automatically creates an admin account. The credentials are printed to the container log — check them with:

journalctl -u trek -n 50

The ENCRYPTION_KEY is auto-generated during setup and saved to /opt/trek/server/.env. Record that file in your backups.

Viewing Logs

TREK runs as a systemd service named trek inside the LXC. To view logs from within the container:

# Follow live logs
journalctl -u trek -f

# Show last 100 lines
journalctl -u trek -n 100

# Show logs since last boot
journalctl -u trek -b

To access the container shell from the Proxmox VE host, click the container in the UI and open Console, or run:

pct enter <container-id>

Configuration

The environment file is located at /opt/trek/server/.env inside the container. Edit it to set variables like ALLOWED_ORIGINS, APP_URL, or TZ, then restart the service:

systemctl restart trek

Binding to a specific network interface

If your Proxmox host has multiple network interfaces and you want TREK to listen on only one of them, set the HOST variable in /opt/trek/server/.env:

HOST=10.0.0.72   # bind only on this LAN interface
PORT=3001

Note: HOST is only relevant for source-based and Proxmox installs. Do not use it in Docker or any containerised deployment.

See Environment-Variables for the full variable reference.

Updating

Run the following command inside the LXC container and select Update when prompted:

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

Tip: Always check the community-scripts TREK page to confirm the latest command before running.

The script stops the service, backs up your data and uploads, applies the new release, restores the backup, and restarts. No manual steps required.

Next Steps