Como instalar o Nginx Proxy Manager com Docker
O Nginx Proxy Manager é uma solução simples e eficiente para gerenciar proxies reversos. Ele oferece uma interface gráfica fácil de usar, com suporte integrado para certificados SSL via Let’s Encrypt. Com o uso do Docker, a instalação é simplificada e pode ser feita em poucos passos.
Neste artigo, você aprenderá como instalar o Nginx Proxy Manager utilizando Docker e Docker Compose, além de configurar as credenciais padrão de acesso à interface.
Pré-requisitos
Antes de começar, certifique-se de ter os seguintes itens instalados e configurados no seu servidor:
- Docker: Para criar os containers. Pode seguir os nossos artigos de como Instalar Docker em Windows, Instalar Docker em MacOS e Instalar Docker em Linux.
- Docker Compose: Para facilitar a configuração e execução do Nginx Proxy Manager.
- Um servidor Linux atualizado, como Ubuntu ou Debian. Funciona com outras distribuições.
Configuração do Docker Compose
Nota – Neste exemplo vamos usar a diretoria /data
para criar os nossos containers de docker
1. Criar o arquivo docker-compose.yml
Crie a diretoria /data/nginx-proxy-manager
para o projeto e navegue até lá:
mkdir /data
cd /data
mkdir nginx-proxy-manager
cd nginx-proxy-manager
2. Criar as diretorias para a persistência dos dados
Para garantir que os dados do Nginx Proxy Manager sejam persistentes (não perdidos após reiniciar os containers), crie as diretorias necessários:
mkdir -p /data/nginx-proxy-manager/data
mkdir -p /data/nginx-proxy-manager/letsencrypt
mkdir -p /data/nginx-proxy-manager/mysql/data/mysql
3. Criar o ficheiro de instalação / configuração
Crie o ficheiro docker-compose.yml
com o seguinte conteúdo:
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '81:81'
- '443:443'
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: [PORTA MYSQL]
DB_MYSQL_USER: "[UTILIZADOR MYSQL]"
DB_MYSQL_PASSWORD: "[PASSWORD MYSQL]"
DB_MYSQL_NAME: "[NOME BASE DE DADOS]"
volumes:
- [DIRETORIA LOCAL DE DATA]:/data
- [DIRETORIA LOCAL DE LETSENCRYPT]:/etc/letsencrypt
db:
image: 'jc21/mariadb-aria:latest'
environment:
MYSQL_ROOT_PASSWORD: '[PASSWORD DE ROOT DO MYSQL]'
MYSQL_DATABASE: '[NOME BASE DE DADOS]'
MYSQL_USER: '[UTILIZADOR MYSQL]'
MYSQL_PASSWORD: '[PASSWORD MYSQL]'
volumes:
- [DIRETORIA LOCAL DO MYSQL]:/var/lib/mysql
Importante: Os dados sensíveis como senhas e nomes de utilizadores podem ser configurados num ficheiro ou carregados por variáveis de sistema para maior segurança. A seguir damos o exemplo de um ficheiro de configuração.
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '81:81'
- '443:443'
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "mpadmin_npm"
DB_MYSQL_PASSWORD: "3O5LVulUQtwRFDXm8kiu"
DB_MYSQL_NAME: "npm_db"
volumes:
- /data/nginxproxymanager/data:/data
- /data/nginxproxymanager/letsencrypt:/etc/letsencrypt
db:
image: 'jc21/mariadb-aria:latest'
environment:
MYSQL_ROOT_PASSWORD: 'FMO4IG9nDBkJw1ccslHg'
MYSQL_DATABASE: 'npm_db'
MYSQL_USER: 'mpadmin_npm'
MYSQL_PASSWORD: '3O5LVulUQtwRFDXm8kiu'
volumes:
- /data/nginxproxymanager/mysql/data/mysql:/var/lib/mysql
Iniciar o Nginx Proxy Manager
Com o ficheiro docker-compose.yml
configurado e as diretorias criadas, inicie o Nginx Proxy Manager:
docker-compose up -d
- O parâmetro
-d
garante que os containers sejam executados em segundo plano. - O Docker Compose cria e inicia dois serviços:
- A base de dados MariaDB.
- O serviço Nginx Proxy Manager.
Aceder o Painel de Administração
Após os containers estarem em execução, aceda ao painel de administração do Nginx Proxy Manager no seu browser, utilizando o IP do servidor e a porta 81
:
http://[IP_DO_SERVIDOR]:81
Credenciais padrão
- Utilizador:
admin@example.com
- Password:
changeme
Por questões de segurança, altere essas credenciais imediatamente após o primeiro login.
Configurar o Nginx Proxy Manager
Após aceder ao painel, você pode começar a configurar os proxies reversos para os seus serviços. Algumas das funcionalidades incluem:
- Configuração de proxies reversos: Direcione os seus domínios para serviços internos de uma forma fácil.
- Certificados SSL automáticos: Use a integração com o Let’s Encrypt para ativar HTTPS rapidamente.
- Criar utilizadores: Configure os acessos de administração adicionais, caso necessário.
Conclusão
O Nginx Proxy Manager é uma excelente ferramenta para simplificar a criação de proxies reversos e certificados SSL, especialmente em ambientes que utilizam múltiplos serviços web. Com o suporte do Docker, a instalação é direta e eficiente.
Se você gostou deste guia, compartilhe-o com outros administradores de sistemas e deixe suas dúvidas ou sugestões nos comentários!
Pode fazer uma doação para ajudar a mater o site, Obrigado!