Voltar ao site
Projeto Open Source
Burrow logo

Burrow

Um painel para os serviços que você hospeda em casa — com as seções e serviços editáveis pela própria interface, e o acesso fechado por login do Google.

Angular TypeScript Express MongoDB Docker Nginx Apache 2.0
Arquitetura

Como funciona

Três contêineres num único docker compose: o front em Angular servido por Nginx, a API em Express que valida o token do Google, e o MongoDB onde vivem as seções e os serviços. Feito para viver atrás de um reverse proxy.

Acesso
Login Google
no navegador
API valida token
+ checa allowlist
Acesso liberado
só e-mails da lista
Dados
Angular
edição na interface
API Express
+ Mongoose
MongoDB
seções & serviços
Deploy
Docker Compose
web · api · mongo
Reverse proxy
ex.: Nginx Proxy Manager
Seu dashboard
:8090
Recursos

O que ele faz

Edição na própria interface
Adicione, edite, reordene e remova seções e serviços direto pela interface. Nada de mexer em HTML nem redeployar a cada mudança.
Login pelo Google + allowlist
O backend valida o token do Google e recusa qualquer e-mail que não esteja na sua allowlist. Só quem você autoriza entra.
Seções e serviços organizáveis
Agrupe seus serviços em seções, dê a cada um nome, cor, URL pública e local, portas, tags e uma nota — tudo pesquisável.
Seletor de ícones
Um catálogo curado de ícones FontAwesome de homelab e infra para dar identidade visual a cada seção e serviço.
Modo de edição travável
Por padrão o painel abre em modo leitura. Destrave o modo de edição só quando for mexer — a preferência fica salva no navegador.
URL pública e local por serviço
Cada serviço guarda seu endereço interno e o externo. Abra pelo que fizer sentido — de dentro de casa ou de fora.
Ambiente de demonstração
Uma stack de demo já populada com serviços fictícios (Proxmox, Jellyfin, Grafana…) para você ver o dashboard antes de cadastrar os seus.
Self-hosted em Docker
Front, API e MongoDB sobem num único docker compose, prontos para viver atrás do seu reverse proxy. Nada sai da sua rede.
Interface

Veja funcionando

Login pelo Google
Login pelo Google
Dashboard em grade
Dashboard em grade
Navegação por seções
Navegação por seções
Busca por IP e porta
Busca por IP e porta
Visão em lista
Visão em lista
Modo de edição
Modo de edição
Edição em lista
Edição em lista
Grupos e seções
Grupos e seções
Gerenciar tags
Gerenciar tags
Aparência configurável
Aparência configurável
Idioma
Idioma
Comece agora

Suba em minutos

Um único docker compose sobe o front, a API e o MongoDB. Você só precisa preencher o Google Client ID e a lista de e-mails autorizados — o dashboard sobe vazio e você cadastra tudo pela interface.

git clone https://github.com/dcbasso/burrow.git
cd burrow
# preencha GOOGLE_CLIENT_ID e ALLOWED_EMAILS
cp .env.example .env
docker compose up -d --build
Docker & Docker Compose
Um OAuth Client ID (Web) do Google Cloud
A allowlist de e-mails autorizados
Reverse proxy para produção (opcional)
O passo a passo do Google OAuth e do deploy está no README (EN e PT-BR). Prefere só espiar? A pasta de demo sobe tudo já populado. README →
frontend/ Angular + Nginx
Interface em Angular (standalone components): dashboard, modo de edição, drawer de serviço e seletor de ícones. Servida por Nginx.
ver pasta
backend/ Express + Mongoose
API REST de seções e serviços, com verificação do token do Google e allowlist de e-mails. Fala com o MongoDB via Mongoose.
ver pasta
example/ Demo
Stack isolada de demonstração, já populada com serviços fictícios, para ver o dashboard sem cadastrar nada.
ver pasta
docker-compose.yml Docker
Orquestra web, api e mongo num único comando, publicando o dashboard na porta 8090.
ver pasta