VNC Proxy

The VNC proxy is used to hide your PVE environment, which would otherwise need to be opened for users.

The VNC proxy simply proxies - as the name says - the websocket from PVE to the customer/hostware. The Proxy can be installed directly on the hostware VPS or a separate Debian VPS.

Installation

1. Domain

First create a DNS record with the domain you want to use for the VNC proxy and the IP of the proxy server. Nobody will see the domain, however it is necessary for SSL connections. Example: vnc-proxy.yourhosting.de

2. Installation

Install required packages

Execute the following commands to start the semi-automatic installation. This will install nodejs, npm and certbot and will start SSL certificate generation.

apt -y update && apt -y upgrade
sudo apt install nodejs npm zip unzip screen -y
sudo apt install snapd -y
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Generate SSL certificate

Execute the following command to request the SSL certificate. Replace YOURDOMAIN with the domain and YOUREMAIL with your email.

The certbot will prompt you to create a TXT record to verify the ownership of the domain. Create the TXT record as shown, wait ~1-5 minutes and press enter to complete the certificate generation.

Download Software

To download the software, execute the following command. Replace YOURLICENSE with the hostware license key in your dashboard.

Manual actions

Enter your hostware admin dashboard. Navigate to Hosting -> Proxmox -> VNC Proxy and configure your domain. (The port can be changed, more on that in the next step) Also copy the signature key for the next step.

Configure the proxy

Open /home/hw-vnc-proxy/config.json. Here you need to replace YOURDOMAIN with your vnc proxy domain and insert the signature key. This key will be used to encrypt the proxmox details between hostware and the VNC-Proxy software.

circle-info

The key will change as soon as you migrate hostware to another server because parts of the laravel app key will be used.

If you want, you can also change the port of the VNC-Proxy here. This is not necessary at all.

3. Testing the proxy

To start the proxy, navigate to /home/hw-vnc-proxy via SSH. Perform the command "node index.js" to temporarily start the VNC proxy.

If you see an error regarding SSL certificate, the generation of the Cert has not worked or is in another directory than configured in the config.json. Check the SSL Cert!

If everything works, you will see this:

Customers should now be able to connect to the VNC proxy.

4. Start the proxy

To permanently start the VNC proxy for production usage, please press STRG+C to stop the temporarily started proxy.

Enter the following command to start the vnc proxy using the screen software

Wait some seconds and check the status of the screen by using "screen -ls" and "screen -r hw_proxy". In the hostware admin dashboard, the proxy should be listed as "online".

Last updated

Was this helpful?