Files
bot-pontos/deploy/botpontos-firewall.service
2026-10-30 23:25:38 -03:00

25 lines
1.0 KiB
Desktop File

# Restringe a porta do painel Next.js (3000 ou BP_WEB_PORT) ao IP do Nginx Proxy Manager.
# ARQUITETURA.md, seção 11.4. Instalação no servidor Debian:
# 1. Trocar IP_DO_NPM abaixo pelo IP real do NPM e, se BP_WEB_PORT no .env
# não for 3000, trocar WEB_PORT pela mesma porta.
# 2. Copiar para /etc/systemd/system/botpontos-firewall.service
# 3. systemctl daemon-reload && systemctl enable --now botpontos-firewall
#
# Portas publicadas pelo Docker ignoram ufw/iptables INPUT; por isso a regra
# vai na cadeia DOCKER-USER, aplicada depois que o Docker sobe.
[Unit]
Description=Restringe a porta do painel do Bot de Pontos ao NPM
After=docker.service
Requires=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
Environment=NPM_IP=IP_DO_NPM
Environment=WEB_PORT=3000
ExecStart=/bin/sh -c 'iptables -C DOCKER-USER -p tcp -m conntrack --ctorigdstport $WEB_PORT ! -s $NPM_IP -j DROP 2>/dev/null || iptables -I DOCKER-USER -p tcp -m conntrack --ctorigdstport $WEB_PORT ! -s $NPM_IP -j DROP'
[Install]
WantedBy=multi-user.target