Skip to content

Latest commit

 

History

History
77 lines (48 loc) · 2.38 KB

File metadata and controls

77 lines (48 loc) · 2.38 KB

CV4PVE Admin - Docker Deployment

Quick reference for managing your cv4pve-admin Docker installation.

📖 Full Documentation | 🚀 Installation Guide


adminctl

adminctl is a management helper script included in the installation directory.

./adminctl help

Updates

When a new version is available, a badge 🆕 vX.Y.Z appears in the top navigation bar. Click it to trigger an immediate update via Watchtower (requires WATCHTOWER_HTTP_API_TOKEN in .env).

The application checks for new versions every 12 hours.

Refresh adminctl and the compose files

adminctl itself and the docker-compose-{ce,ee}.yaml files can fall behind over time. To pull the latest copy from GitHub main:

./adminctl self-update

This:

  • Downloads the latest adminctl + docker-compose-{ce,ee}.yaml
  • Snapshots the current files into self-update-backups/<timestamp>/ so a rollback is always possible
  • Regenerates the active docker-compose.yaml to match the detected edition (CE or EE)
  • Leaves .env, data/, and backups/ untouched

If your docker-compose.yaml is customized (differs from both docker-compose-ce.yaml and docker-compose-ee.yaml), it is not rewritten — you will see a warning and can merge the changes manually by comparing with the updated docker-compose-{ce,ee}.yaml.

After running, restart the stack to apply changes:

./adminctl restart
# or, to pull new container images at the same time:
docker compose up -d

Testing Pre-Release Versions

To test RC or specific versions, edit CV4PVE_ADMIN_TAG in .env then restart.

📖 Testing Pre-Release Versions


Custom Configuration

For advanced configuration overrides using appsettings.extra.json, see the full documentation:

📖 Configuration Guide


Security Best Practices

  • Change default password in .env before first start
  • Use strong, random WATCHTOWER_HTTP_API_TOKEN
  • Use reverse proxy (Nginx/Traefik/Caddy) for HTTPS in production
  • Backup database regularly
  • Keep containers updated via web UI or manual pull
  • Limit access to ports 8080/8082 via firewall