Como Criar um Cloudflare Tunnel no Raspberry Pi 4: Acesse Nextcloud, Uptime Kuma e qBittorrent com Segurança
Se você é um entusiasta de self-hosting, provavelmente já enfrentou o grande dilema da exposição de serviços domésticos para a internet. Você quer acessar seu Nextcloud de qualquer lugar, monitorar seus servidores com o Uptime Kuma ou gerenciar seus downloads via qBittorrent UI, mas abrir portas no roteador (Port Forwarding) parece um convite para hackers e problemas com CGNAT.
É aqui que entra o Cloudflare Tunnel. Esta tecnologia permite que você exponha seus serviços locais para a web de forma segura, sem precisar abrir uma única porta no seu roteador. O tráfego é criptografado e passa por uma conexão segura entre o seu Raspberry Pi 4 e a infraestrutura da Cloudflare.
Neste guia completo, vou te ensinar o passo a passo para configurar um túnel robusto, utilizando Docker para gerenciar seus serviços e o Cloudflare Tunnel para garantir que tudo funcione perfeitamente.
Pré-requisitos
Antes de colocar as mãos na massa, certifique-se de ter os seguintes itens:
- Hardware: Um Raspberry Pi 4 (modelo de 4GB ou 8GB é recomendado para rodar múltiplos serviços com fluidez).
- Sistema Operacional: Raspberry Pi OS Lite (64-bit) ou Ubuntu Server instalado.
- Domínio: Um domínio registrado (ex:
seudominio.com.br). Você não precisa comprar um agora se quiser testar, mas precisará de um para colocar em produção. - Conta Cloudflare: Uma conta gratuita na Cloudflare para gerenciar o DNS e o Tunnel.
- Conhecimento Básico: Familiaridade com linha de comando (Linux) e conceitos básicos de Docker.
Por que usar o Cloudflare Tunnel em vez de Port Forwarding?
Antes de irmos ao tutorial, é importante entender as vantagens:
- Segurança: Você não expõe o IP real da sua casa. O mundo só vê o IP da Cloudflare.
- Bypass de CGNAT: Se o seu provedor de internet não fornece um IP público real (comum em conexões de fibra e 4G), o Cloudflare Tunnel funciona perfeitamente enquanto o Port Forwarding falha.
- Certificados SSL Automáticos: A Cloudflare cuida da renovação dos certificados HTTPS para você.
- Proteção contra DDoS: Você ganha as camadas de segurança da Cloudflare automaticamente.
Passo 1: Preparando o Raspberry Pi com Docker
Para manter seu sistema organizado, utilizaremos o Docker e o Docker Compose. Eles permitem rodar cada serviço em um “container” isolado, facilitando atualizações e manutenção.
Primeiro, atualize seu sistema:
sudo apt update && sudo apt upgrade -y
Agora, instale o Docker seguindo o script oficial:
curl -sSL https://github.com/docker/install.sh | sh sudo usermod -aG docker $USER
Nota: Após rodar o comando acima, saia e entre novamente no terminal para aplicar as permissões.
Instale o Docker Compose:
sudo apt install docker-compose -y
Passo 2: Instalando os Serviços (Nextcloud, Uptime Kuma, qBittorrent)
Vamos criar uma estrutura de pastas para organizar nossos serviços.
mkdir ~/servicos cd ~/servicos
Crie um arquivo chamado docker-compose.yml:
nano docker-compose.yml
Cole o seguinte conteúdo (ajuste as senhas e caminhos conforme sua necessidade):
version: '3'
services: # Nextcloud para armazenamento em nuvem nextcloud: image: nextcloud:latest container_name: nextcloud restart: always ports: - "8080:80" volumes: - ./nextcloud:/var/www/html environment: - NEXTCLOUD_ADMIN_USER=admin - NEXTCLOUD_ADMIN_PASSWORD=suasenhaforte
# Uptime Kuma para monitoramento uptime-kuma: image: louislam/uptime-kuma:1 container_name: uptime-kuma restart: always ports: - "5565:3001"
# qBittorrent Web UI qbittorrent: image: linuxserver/qbittorrent:latest container_name: qbittorrent restart: always environment: - PUID=1000 - PGID=1000 - TZ=America/Sao_Paulo - WEBUI_PORT=8080 volumes: - ./config:/config - ./downloads:/downloads ports: - "8081:8080"
Para subir todos os serviços, execute:
docker-compose up -d
Agora, seus serviços estão rodando internamente:
- Nextcloud:
http://ip-do-raspberry:8080 - Uptime Kuma:
http://ip-do-raspberry:5565 - qBittorrent:
http://ip-do-raspberry:8081
Passo 3: Configurando o Cloudflare Tunnel
Agora vamos conectar o seu Raspberry Pi à Cloudflare.
- Acesse o painel da Cloudflare e vá em Zero Trust.
- Siga as instruções para criar uma conta gratuita (o plano gratuito é suficiente para quase todos os usos domésticos).
- No menu lateral, vá em Networks -> Tunnels.
- Clique em Create a Tunnel.
- Dê um nome ao túnel (ex:
casa-raspberry) e clique em Save Tunnel. - A Cloudflare mostrará comandos para diferentes sistemas operacionais. Escolha Debian (que é a base do Raspberry Pi OS).
- Copie o comando que começa com
curl -L --output-type=env...e cole no terminal do seu Raspberry Pi. Isso instalará o agentecloudflared.
Após a instalação, o painel da Cloudflare mostrará “Status: Connected”. Clique em Next.
Passo 4: Mapeando os Domínios (Public Hostnames)
Agora você precisa dizer à Cloudflare para onde enviar o tráfego quando alguém acessar seus subdomínios. No painel de configuração do túnel, adicione os seguintes Public Hostnames:
Configurando o Nextcloud
- Subdomain:
nuvem - Domain:
seudominio.com.br - Service Type:
HTTP - URL:
localhost:8080
Configurando o Uptime Kuma
- Subdomain:
status - Domain:
seudominio.com.br - Service Type:
HTTP - URL:
localhost:5565
Configurando o qBittorrent
- Subdomain:
torrents - Domain:
seudominio.com.br - Service Type:
HTTP - URL:
localhost:8081
Clique em Save Hostname para cada um deles.
Passo 5: Testes e Verificação
Agora, abra seu navegador e tente acessar:
https://nuvem.seudominio.com.brhttps://status.seudominio.com.brhttps://torrents.seudominio.com.br
Se tudo estiver correto, você verá as interfaces de cada serviço carregando via HTTPS, mesmo que você esteja fora da sua rede Wi-Fi!
Dicas de Especialista para Otimização e Segurança
Para tornar sua instalação profissional, considere as seguintes melhorias:
- Segurança com Cloudflare Access: No painel Zero Trust, você pode criar políticas de “Access”. Isso permite que você coloque uma tela de login (via e-mail ou Google Auth) antes mesmo de alguém chegar ao seu Nextcloud. Isso é extremamente recomendado para o qBittorrent.
- Limite de Banda: Lembre-se que o Cloudflare tem termos de uso específicos sobre tráfego de torrents. Para uso pessoal e moderado, o túnel funciona bem, mas evite tráfego massivo de P2P se quiser evitar problemas com os termos de serviço deles.
- Backup Automático: Configure um cron job no Raspberry Pi para fazer backup da pasta
~/servicosregularmente. Se o cartão SD falhar, você não perde suas configurações. - Uso de SSD: Se possível, utilize um SSD externo conectado via USB 3.0 no Raspberry Pi 4. Cartões SD têm vida útil curta para bancos de dados intensivos como os do Nextcloud.
FAQ (Perguntas Frequentes)
O Cloudflare Tunnel é gratuito?
Sim, o plano gratuito da Cloudflare permite criar túneis ilimitados para uso pessoal.
Preciso ter um IP fixo na minha casa?
Não! Essa é a maior vantagem do Cloudflare Tunnel. Ele funciona mesmo com IP dinâmico ou CGNAT.
É seguro deixar o qBittorrent aberto assim?
O túnel já protege contra ataques diretos de IP e DDoS. Porém, é altamente recomendável usar o Cloudflare Access para exigir autenticação por e-mail antes de acessar a interface do qBittorrent.
Por que meu Nextcloud está lento?
O Nextcloud pode ser pesado para um Raspberry Pi se houver muitos arquivos. Certifique-se de usar o banco de dados correto (MariaDB ou PostgreSQL) e considere usar o cache Redis, que também pode ser instalado via Docker.
Conclusão
Configurar um Cloudflare Tunnel no Raspberry Pi 4 é uma das formas mais elegantes e seguras de criar seu próprio “Cloud” pessoal. Você elimina a necessidade de abrir portas no roteador, protege sua rede contra ataques externos e consegue acessar seus serviços favoritos de qualquer lugar do mundo com certificados SSL válidos.
Com esse setup, você tem o poder do Nextcloud para seus arquivos, do Uptime Kuma para monitorar sua infraestrutura e do qBittorrent para gerenciar seus downloads, tudo rodando de forma centralizada e segura. Agora é só colocar a mão na massa e começar a construir seu laboratório de home lab!