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
443liberada, 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.