Você encontrou a maneira mais fácil de instalar e gerenciar o WireGuard em qualquer host Linux!
Para a versão estável , leia as instruções no ramo de produção !
Fornecemos mais de uma tag de imagem docker. O seguinte irá ajudá-lo a decidir qual é a melhor para você.
marcação | Filial | Exemplo | Descrição |
---|---|---|---|
latest | production | ghcr.io/wg-easy/wg-easy:latest ou ghcr.io/wg-easy/wg-easy | estável quanto possível, obtenha correções de bugs rapidamente quando necessário, implantadas na production . |
14 | production | ghcr.io/wg-easy/wg-easy:14 | igual ao mais recente, siga uma tag de versão. |
nightly | master | ghcr.io/wg-easy/wg-easy:nightly | principalmente instável recebe atualizações frequentes de pacotes e códigos, implantadas em master . |
development | solicitações pull | ghcr.io/wg-easy/wg-easy:development | usado para desenvolvimento, testando o código dos PRs antes de chegar ao master . |
Se você ainda não instalou o Docker, instale-o executando:
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $( whoami )
exit
E faça login novamente.
Para instalar e executar automaticamente o wg-easy, basta executar:
docker run --detach
--name wg-easy
--env LANG=de
--env WG_HOST= < YOUR_SERVER_IP >
--env PASSWORD_HASH= ' <YOUR_ADMIN_PASSWORD_HASH> '
--env PORT=51821
--env WG_PORT=51820
--volume ~ /.wg-easy:/etc/wireguard
--publish 51820:51820/udp
--publish 51821:51821/tcp
--cap-add NET_ADMIN
--cap-add SYS_MODULE
--sysctl ' net.ipv4.conf.all.src_valid_mark=1 '
--sysctl ' net.ipv4.ip_forward=1 '
--restart unless-stopped
ghcr.io/wg-easy/wg-easy
Substitua
<YOUR_SERVER_IP>
pelo seu IP WAN ou um nome de host DNS dinâmico.Substitua
<YOUR_ADMIN_PASSWORD_HASH>
por um hash de senha bcrypt para fazer login na interface da Web. Consulte How_to_generate_an_bcrypt_hash.md para obter instruções sobre como gerar uma senha com hash.
A UI da Web agora estará disponível em http://0.0.0.0:51821
.
As métricas do Prometheus agora estarão disponíveis em http://0.0.0.0:51821/metrics
. Painel Grafana 21733
Seus arquivos de configuração serão salvos em
~/.wg-easy
O WireGuard Easy também pode ser iniciado com o Docker Compose - basta baixar docker-compose.yml
, fazer os ajustes necessários e executar docker compose up --detach
.
Você está gostando deste projeto? Compre uma cerveja para Emile! ?
Doação para o componente principal: WireGuard
Essas opções podem ser configuradas definindo variáveis de ambiente usando -e KEY="VALUE"
no comando docker run
.
Ambiente | Padrão | Exemplo | Descrição |
---|---|---|---|
PORT | 51821 | 6789 | Porta TCP para UI da Web. |
WEBUI_HOST | 0.0.0.0 | localhost | Endereço IP ao qual a UI da web se vincula. |
PASSWORD_HASH | - | $2y$05$Ci... | Quando definido, requer uma senha ao fazer login na UI da Web. Consulte Como gerar um hash.md bcrypt para saber como gerar o hash. |
WG_HOST | - | vpn.myserver.com | O nome de host público do seu servidor VPN. |
WG_DEVICE | eth0 | ens6f0 | Dispositivo Ethernet através do qual o tráfego wireguard deve ser encaminhado. |
WG_PORT | 51820 | 12345 | A porta UDP pública do seu servidor VPN. O WireGuard irá escutar isso (caso contrário, padrão) dentro do contêiner Docker. |
WG_CONFIG_PORT | 51820 | 12345 | A porta UDP usada no plug-in Home Assistant |
WG_MTU | null | 1420 | O MTU que os clientes usarão. O servidor usa WG MTU padrão. |
WG_PERSISTENT_KEEPALIVE | 0 | 25 | Valor em segundos para manter a “conexão” aberta. Se esse valor for 0, as conexões não serão mantidas ativas. |
WG_DEFAULT_ADDRESS | 10.8.0.x | 10.6.0.x | Intervalo de endereços IP dos clientes. |
WG_DEFAULT_DNS | 1.1.1.1 | 8.8.8.8, 8.8.4.4 | Os clientes do servidor DNS usarão. Se definido como valor em branco, os clientes não usarão nenhum DNS. |
WG_ALLOWED_IPS | 0.0.0.0/0, ::/0 | 192.168.15.0/24, 10.0.1.0/24 | Os clientes de IPs permitidos usarão. |
WG_PRE_UP | ... | - | Consulte config.js para obter o valor padrão. |
WG_POST_UP | ... | iptables ... | Consulte config.js para obter o valor padrão. |
WG_PRE_DOWN | ... | - | Consulte config.js para obter o valor padrão. |
WG_POST_DOWN | ... | iptables ... | Consulte config.js para obter o valor padrão. |
WG_ENABLE_EXPIRES_TIME | false | true | Ativar tempo de expiração para clientes |
LANG | en | de | Linguagem da interface da Web (suporta: en, ua, ru, tr, no, pl, fr, de, ca, es, ko, vi, nl, is, pt, chs, cht, it, th, hi, ja, si) . |
UI_TRAFFIC_STATS | false | true | Habilite estatísticas detalhadas do cliente RX/TX na UI da Web |
UI_CHART_TYPE | 0 | 1 | UI_CHART_TYPE=0 # Gráficos desativados, UI_CHART_TYPE=1 # Gráfico de linhas, UI_CHART_TYPE=2 # Gráfico de área, UI_CHART_TYPE=3 # Gráfico de barras |
WG_ENABLE_ONE_TIME_LINKS | false | true | Ative a exibição e geração de links curtos para download único (expira após 5 minutos) |
MAX_AGE | 0 | 1440 | A duração máxima das sessões da UI da Web em minutos. 0 significa que a sessão existirá até que o navegador seja fechado. |
UI_ENABLE_SORT_CLIENTS | false | true | Habilitar UI para classificar clientes por nome |
ENABLE_PROMETHEUS_METRICS | false | true | Habilite as métricas do Prometheus http://0.0.0.0:51821/metrics e http://0.0.0.0:51821/metrics/json |
PROMETHEUS_METRICS_PASSWORD | - | $2y$05$Ci... | Se definido, a Autenticação Básica será necessária ao solicitar métricas. Consulte Como gerar um hash.md bcrypt para saber como gerar o hash. |
Se você alterar
WG_PORT
, certifique-se de alterar também a porta exposta.
Para atualizar para a versão mais recente, basta executar:
docker stop wg-easy
docker rm wg-easy
docker pull ghcr.io/wg-easy/wg-easy
E então execute o comando docker run -d ...
acima novamente.
Com o Docker Compose, o WireGuard Easy pode ser atualizado com um único comando: docker compose up --detach --pull always
(se uma tag de imagem for especificada no arquivo Compose e não for latest
, certifique-se de que ela seja alterada para a desejada ; por padrão é omitido e o padrão é latest
).
O contêiner WireGuared Easy será recriado automaticamente se uma imagem mais recente for extraída.
Para cenários extremos menos comuns ou específicos, consulte as informações detalhadas fornecidas no Wiki.