VpnHood!

Ejecutar VpnHood! SERVER en Docker

Ejecuta el servidor en un contenedor en cualquier máquina Linux con Docker. Instálalo con un solo comando, administrado o independiente; el contenedor lo mantiene en marcha y siempre actualizado.

Antes de empezar

  • Una máquina Linux con IP pública, en x64 o arm64. La imagen es compatible con ambas arquitecturas.
  • Acceso root.
  • Docker con su plugin compose. El instalador puede instalarlo por ti en Ubuntu, Debian y distribuciones derivadas.
  • Puerto TCP 443 abierto, tanto en el cortafuegos de la máquina como en el de tu proveedor de hosting. El contenedor comparte la red del host, por lo que el servidor escucha directamente en el puerto del host.

Instalar un servidor administrado

En VpnHood! MANAGER, abre Servers, selecciona Add, ponle un nombre al servidor y elige Create. Entre las opciones de instalación, elige Install on Linux manually by running a command. En el comando que muestra MANAGER, cambia VpnHoodServer-linux.sh por VpnHoodServer.docker.sh y ejecútalo en la máquina. Esto instalará el contenedor con la configuración para conectar el servidor a MANAGER, y te hará la misma pregunta que la instalación independiente de abajo.

Para un contenedor que ya hayas creado, selecciona Install Manually by configuring appsettings. Guarda los ajustes que muestra MANAGER como /opt/VpnHoodServer/storage/appsettings.json en el host y reinicia el contenedor con sudo docker restart VpnHoodServer.

Después, genera las claves de acceso para tus dispositivos en MANAGER, dentro de Access Tokens.

Instalar un servidor independiente

Ejecuta este comando. Descarga el archivo compose, inicia el contenedor del servidor y te formula una sola pregunta.

sudo su -c "bash <( wget -qO- https://github.com/vpnhood/VpnHood.App.Server/releases/latest/download/VpnHoodServer.docker.sh)"

Cuando aparezca Install Docker (y/n)?, escribe y para instalar Docker, o n si la máquina ya lo tiene instalado.

En un script, realiza la instalación sin preguntas. Omite -install-docker si Docker ya está instalado.

sudo su -c "bash <( wget -qO- https://github.com/vpnhood/VpnHood.App.Server/releases/latest/download/VpnHoodServer.docker.sh) -install-docker -q"

El servidor guarda su configuración, claves y registros en /opt/VpnHoodServer/storage dentro del host, por lo que no se pierden al reiniciar o cambiar el contenedor.

Crear una clave de acceso

Ejecuta esto en la máquina. La clave se genera dentro del contenedor del servidor, aplicando directamente su propia configuración.

sudo docker exec VpnHoodServer /app/vhsupervisor gen

Por ejemplo, una clave para un teléfono

sudo docker exec VpnHoodServer /app/vhsupervisor gen -name Phone -maxClient 1

El resultado y las opciones son idénticos a los de un servidor independiente instalado sin Docker: copia la línea bajo --- AccessKey --- y consulta Crea tu primera clave de acceso para conocer las opciones para limitar una clave.

Conectar

Instala VpnHood! CLIENT en cada dispositivo, añade la clave y conéctate.

Iniciar, detener y comprobar el servidor

El contenedor se llama VpnHoodServer. Docker lo inicia automáticamente si el equipo se reinicia, y el servidor se reinicia por sí solo si se detiene de forma inesperada.

sudo docker logs VpnHoodServer
sudo docker stop VpnHoodServer
sudo docker start VpnHoodServer

El mismo registro se escribe en /opt/VpnHoodServer/storage/logs/server.log en el host.

Cambiar la configuración

El servidor lee su configuración de /opt/VpnHoodServer/storage/appsettings.json. Edita el archivo y reinicia el contenedor con sudo docker restart VpnHoodServer.

Si no puedes editar un archivo, añade todo el contenido de appsettings.json en la variable de entorno VH_APPSETTINGS. El servidor la usará en lugar del archivo.

Configura las direcciones IP de tu servidor y Conéctate mediante un nombre de dominio te guían por los ajustes más habituales.

Actualizaciones

El servidor se actualiza automáticamente dentro del contenedor: busca nuevas versiones al iniciarse y cada 12 horas, y se reinicia con la última versión.

Para mantener una versión fija, define VH_AUTO_UPDATE=0 en el entorno del contenedor.

De vez en cuando, una versión necesita una imagen más reciente. El servidor mantendrá su versión actual y el registro indicará Pull the latest image!. Vuelve a ejecutar el comando de instalación para descargar la última imagen y recrear el contenedor conservando la configuración y las claves.

Si instalaste el servidor con una versión anterior del script, vuelve a ejecutar el comando de instalación. Esto migrará el servidor a la nueva imagen y eliminará el antiguo contenedor VpnHoodUpdater.

Crear el contenedor manualmente

Si prefieres gestionar tus propios contenedores, este es el contenedor que genera el instalador. Ejecútalo en la red del host, tal y como hace la instalación automática.

sudo docker run -d --name VpnHoodServer --network host --restart always --stop-timeout 30 -v /opt/VpnHoodServer/storage:/app/storage vpnhood/vpnhoodserver

Para actualizar a una imagen más reciente, descarga vpnhood/vpnhoodserver y vuelve a crear el contenedor.

Pasos siguientes