VpnHood!

Execute o VpnHood! SERVER no Docker

Execute o servidor em um contêiner em qualquer máquina Linux com Docker. A instalação é feita com um só comando — gerenciado ou avulso — e o contêiner mantém o servidor ativo e sempre atualizado.

Antes de começar

  • Uma máquina Linux com IP público em x64 ou arm64. A imagem é compatível com ambas as arquiteturas.
  • Acesso root.
  • Docker com o plugin compose instalado. O instalador pode configurá-lo para você no Ubuntu, Debian e distribuições derivadas.
  • Porta TCP 443 liberada, tanto no firewall da máquina quanto no do provedor de hospedagem. O contêiner usa a rede do host diretamente, ouvindo na mesma porta.

Instalar um servidor gerenciado

No VpnHood! MANAGER, abra Servers, selecione Add, dê um nome ao servidor e clique em Create. Nas opções de instalação, escolha Install on Linux manually by running a command. No comando exibido pelo MANAGER, altere VpnHoodServer-linux.sh para VpnHoodServer.docker.sh e execute-o na máquina. Isso instala o contêiner já conectado ao MANAGER e fará a mesma pergunta da instalação avulsa abaixo.

Para contêineres já criados, selecione Install Manually by configuring appsettings. Salve as configurações exibidas pelo MANAGER como /opt/VpnHoodServer/storage/appsettings.json no host e reinicie o contêiner com sudo docker restart VpnHoodServer.

Em seguida, crie as chaves de acesso para seus dispositivos no MANAGER, em Access Tokens.

Instalar um servidor avulso

Execute este comando. Ele baixa o arquivo compose, inicia o contêiner do servidor e faz uma única pergunta rápida.

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

Quando surgir Install Docker (y/n)?, digite y para instalar o Docker automaticamente, ou n caso ele já esteja instalado.

Instalação automatizada via script. Omita -install-docker caso o Docker já esteja instalado.

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

O servidor salva configurações, chaves e logs em /opt/VpnHoodServer/storage no host, preservando todos os dados mesmo ao recriar o contêiner.

Criar uma chave de acesso

Execute este comando na máquina. A chave é gerada dentro do próprio contêiner, aplicando as configurações do seu servidor.

sudo docker exec VpnHoodServer /app/vhsupervisor gen

Por exemplo, uma chave para um celular

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

A saída e as opções são as mesmas de um servidor avulso instalado sem Docker: copie a linha abaixo de --- AccessKey --- e consulte Criar sua primeira chave de acesso para ver as opções que limitam uma chave.

Conectar

Instale o VpnHood! CLIENT em cada dispositivo, adicione a chave e conecte-se.

Iniciar, parar e verificar o servidor

O contêiner se chama VpnHoodServer. O Docker o reinicia automaticamente quando a máquina for reinicializada, e o servidor é reiniciado internamente em caso de falha.

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

O mesmo log é gravado em /opt/VpnHoodServer/storage/logs/server.log no host.

Alterar as configurações

O servidor lê as configurações em /opt/VpnHoodServer/storage/appsettings.json. Edite o arquivo e reinicie o contêiner com sudo docker restart VpnHoodServer.

Se não for possível editar o arquivo, insira todo o conteúdo de appsettings.json na variável de ambiente VH_APPSETTINGS. O servidor a usará no lugar do arquivo.

Definir os endereços IP do servidor e Conectar usando um domínio explicam as configurações mais comuns.

Atualizações

O servidor se atualiza automaticamente dentro do contêiner. Ele verifica se há novas versões ao iniciar e a cada 12 horas, reiniciando na nova versão.

Para manter uma versão fixa, defina VH_AUTO_UPDATE=0 nas variáveis de ambiente do contêiner.

Ocasionalmente, uma versão exige uma imagem mais recente. Nesses casos, o servidor mantém a versão atual e o log exibirá Pull the latest image!. Execute o comando de instalação novamente: ele baixará a imagem mais recente e recriará o contêiner mantendo todas as configurações e chaves.

Se a instalação foi feita com uma versão anterior do script, execute o comando de instalação novamente. Ele migrará o servidor para a nova imagem e removerá o contêiner antigo VpnHoodUpdater.

Criar o contêiner manualmente

Se você gerencia seus contêineres manualmente, este é o contêiner criado pelo instalador. Execute-o na rede do host, assim como faz o instalador.

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

Para atualizar para uma imagem mais recente, baixe vpnhood/vpnhoodserver e recrie o contêiner.

Próximas etapas