Instale NetBox no Debian com Docker, Nginx e TLS
Este guia instala uma instância única do NetBox pela release oficial netbox-docker. Ela começa privada e só publica HTTPS depois de um certificado emitido com sucesso.
Antes de começar
Use Debian 12 ou 13 com Docker Engine e o plugin Compose moderno. Escolha um domínio completo e crie o DNS antes de solicitar TLS.
- A stack contém NetBox, worker, PostgreSQL, Valkey, Nginx e Certbot.
- 4 GiB RAM, 2 vCPU e 40 GiB livres são uma referência prática; o pré-check alerta, sem bloquear laboratórios menores.
- O instalador não cria DNS nem regras de firewall.
Use o instalador versionado
O instalador valida o host, prepara uma release fixa do netbox-docker, pede a primeira conta administrativa sem ecoar a senha e inicia o NetBox somente em localhost antes do TLS.
curl -fsSL https://scripts.lrq.lat/netbox/v1/install.sh | sudo bashBaixa o caminho estável v1 e abre o menu interativo portátil.
curl -fsSL https://scripts.lrq.lat/netbox/v1/install.sh | sudo bash -s -- preflight --yesVerifica plataforma, Docker, portas, recursos, horário e instalações parciais sem alterar o host.
curl -fsSL https://scripts.lrq.lat/netbox/v1/install.sh | sudo bash -s -- tlsSolicita ou repete TLS depois que DNS e TCP 80/443 estiverem prontos.
Instalação manual e segura
Use este caminho quando cada modificação precisar de revisão. Ele usa a release oficial 5.0.2 do netbox-docker e mantém arquivos e segredos restritos abaixo de /opt/lrqnet/netbox.
sudo apt update
sudo apt install -y ca-certificates git openssl
sudo install -d -m 0750 /opt/lrqnet/netbox
sudo git clone --depth 1 --branch 5.0.2 https://github.com/netbox-community/netbox-docker.git /opt/lrqnet/netbox/netbox-docker
sudo git -C /opt/lrqnet/netbox/netbox-docker rev-parse HEADInstala ferramentas de revisão, clona a release oficial fixa e mostra o commit para conferência.
sudo install -d -m 0750 /opt/lrqnet/netbox/netbox-docker/env
read -rsp 'Senha inicial do administrador NetBox: ' NETBOX_ADMIN_PASSWORD; printf '\n'
read -rsp 'Confirme a senha: ' NETBOX_ADMIN_PASSWORD_CONFIRM; printf '\n'
[ "$NETBOX_ADMIN_PASSWORD" = "$NETBOX_ADMIN_PASSWORD_CONFIRM" ] || { echo 'As senhas não coincidem' >&2; exit 1; }
[ "${#NETBOX_ADMIN_PASSWORD}" -ge 12 ] || { echo 'Use pelo menos 12 caracteres' >&2; exit 1; }
NETBOX_SECRET_KEY="$(openssl rand -base64 48 | tr -d '\n')"Cria diretório restrito, solicita a senha sem eco e gera o segredo do NetBox localmente. Não coloque valores em histórico, tickets ou backups sem criptografia.
sudo docker compose --project-directory /opt/lrqnet/netbox/netbox-docker config
sudo docker compose --project-directory /opt/lrqnet/netbox/netbox-docker up -d
sudo docker compose --project-directory /opt/lrqnet/netbox/netbox-docker psValida a configuração resolvida, inicia serviços persistentes e mostra o estado. Revise o override Nginx/Certbot antes de expor o serviço.
TLS, validação e manutenção
O TLS usa Nginx e Certbot HTTP-01. Se a emissão falhar, o listener público é removido e o NetBox permanece privado. Um timer systemd renova certificados e recarrega Nginx.
sudo systemctl status lrqnet-netbox-renew.timer --no-pager
sudo docker compose --project-directory /opt/lrqnet/netbox/netbox-docker ps
sudo docker compose --project-directory /opt/lrqnet/netbox/netbox-docker logs --tail=100 netbox netbox-workerConfere renovação automática, saúde e logs recentes. Revise logs localmente, pois podem conter contexto privado.
sudo docker compose --project-directory /opt/lrqnet/netbox/netbox-docker downPara a stack sem apagar volumes. Não use --volumes sem intenção de apagar dados.