Installation
ProxCenter can be deployed in two ways: through our hosted platform with zero setup, or self-hosted on your own infrastructure using Docker.
Option 1: Hosted Platform
The fastest way to get started. No server required -- your dashboard is ready immediately.
- Visit proxcenter.io and create an account
- Log in to your dashboard at app.proxcenter.io
- Start adding your Proxmox connections
The hosted platform is ideal if you want to get started quickly without managing the ProxCenter application itself. Your Proxmox credentials are encrypted at rest, and all communication with your nodes uses TLS.
Option 2: Self-Hosted with Docker
Deploy ProxCenter on your own server for full control over your data and configuration.
Prerequisites
Before you begin, make sure you have:
| Requirement | Details |
|---|---|
| Operating System | Linux server (Ubuntu 22.04+, Debian 12+, or any Docker-compatible distribution) |
| Docker | Docker Engine 24+ and Docker Compose v2+ |
| RAM | Minimum 2 GB |
| Disk Space | Minimum 10 GB (more recommended for database growth) |
| Ports | 3000 (ProxCenter web interface), 5432 (PostgreSQL, internal only) |
| Network | Connectivity to your Proxmox nodes on port 8006 (PVE) and/or 8007 (PBS) |
Step 1: Create a project directory
mkdir proxcenter && cd proxcenter
Step 2: Create the Docker Compose file
Create a docker-compose.yml file with the following content:
services:
proxcenter:
image: ghcr.io/proxcenter/proxcenter:latest
container_name: proxcenter
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://proxcenter:changeme-db-password@db:5432/proxcenter
- SECRET_KEY=changeme-generate-a-random-secret
# Optional: Activate an Enterprise license
# - PROXCENTER_LICENSE_KEY=your-license-key-here
depends_on:
db:
condition: service_healthy
restart: unless-stopped
db:
image: postgres:16-alpine
container_name: proxcenter-db
environment:
- POSTGRES_USER=proxcenter
- POSTGRES_PASSWORD=changeme-db-password
- POSTGRES_DB=proxcenter
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U proxcenter"]
interval: 5s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
pgdata:
Step 3: Configure environment variables
Before starting, update the environment variables:
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | PostgreSQL connection string. Update the password to match POSTGRES_PASSWORD. |
SECRET_KEY | Yes | A random string used for session encryption. Generate one with openssl rand -hex 32. |
PROXCENTER_LICENSE_KEY | No | Your Enterprise license key. Omit this for the Community edition. |
Change the default passwords before deploying. Use a strong, unique password for both the SECRET_KEY and the PostgreSQL password. Never use the placeholder values in production.
Generate a secure secret key:
openssl rand -hex 32
Step 4: Start ProxCenter
docker compose up -d
Verify the containers are running:
docker compose ps
You should see both proxcenter and proxcenter-db in a running state.
Step 5: Access the dashboard
Open your browser and navigate to:
http://your-server-ip:3000
On the first launch, you will be prompted to create your admin account. This account has full access to ProxCenter and cannot be deleted.
Updating ProxCenter
To update to the latest version:
docker compose pull
docker compose up -d
ProxCenter handles database migrations automatically on startup. No manual migration steps are needed.
Uninstalling
To stop and remove ProxCenter (data is preserved in the Docker volume):
docker compose down
To remove everything including data:
docker compose down -v
Post-Installation Steps
Regardless of which deployment method you chose:
- Create your admin account on first login
- Connect your Proxmox infrastructure -- Add your PVE and PBS instances
- Activate your license (optional) -- If you have an Enterprise license key, go to Settings > License and enter it
- Explore the dashboard -- Head to First Steps for a guided tour
Next Steps
Once ProxCenter is up and running, the next step is to connect your Proxmox infrastructure.