Stack completo de aplicações para automação e gerenciamento de mídia usando Docker, incluindo automação residencial.
- 🎥 Plex Media Server - Servidor de mídia (http://localhost:32400/web)
- 🎬 Radarr - Automação de filmes (http://localhost:7878)
- 📺 Sonarr - Automação de séries (http://localhost:8989)
- 📚 Calibre - Gerenciamento de e-books (http://localhost:8083)
- 📆 Calibre-Web - Interface web para Calibre (http://localhost:8084)
- 🔍 Prowlarr - Gerenciador de indexadores (http://localhost:9696)
- 🔎 Jackett - Indexador alternativo (http://localhost:9117)
- ⬇️ qBittorrent - Cliente torrent (http://localhost:8080)
- 🔥 FlareSolverr - Bypass Cloudflare (http://localhost:8191)
- 🏠 Home Assistant - Plataforma de automação residencial (http://localhost:8123)
- ⚡ n8n - Plataforma de automação de workflows (http://localhost:5678)
- 🐳 Portainer - Gerenciamento Docker (http://localhost:9000)
- 🔄 Watchtower - Atualização automática dos containers
- Baixe o Docker Desktop: https://www.docker.com/products/docker-desktop/
- Execute o instalador
- Reinicie o computador se necessário
- Abra o Docker Desktop e aguarde inicializar
docker --version
docker-compose --version-
Clone ou baixe este repositório
-
Configure o arquivo
.env:# Crie o arquivo .env baseado no exemplo abaixo notepad .envExemplo de configuração
.env:# Configurações básicas PUID=1000 PGID=1000 TZ=America/Sao_Paulo # Plex PLEX_CLAIM_TOKEN=claim-xxxxxxxxxxxxxxxxxxxx # Caminhos (Windows) CONFIG_PATH=./config MEDIA_PATH=./media DOWNLOADS_PATH=./downloads # Home Assistant HOMEASSISTANT_PORT=8123 # n8n - Workflow Automation N8N_USER=admin N8N_PASSWORD=admin123 N8N_HOST=localhost N8N_PORT=5678 # Logs LOG_LEVEL=info
Configurações importantes:
PLEX_CLAIM_TOKEN: Obtenha em https://www.plex.tv/claim/TZ: Configure seu timezone (ex: America/Sao_Paulo, Europe/London)PUID/PGID: IDs do usuário/grupo (padrão: 1000)N8N_USER/N8N_PASSWORD: Credenciais do n8n (altere a senha padrão)- Caminhos dos diretórios (já configurados para Windows)
-
Execute o script de inicialização:
.\start-stack.ps1
media-server-stack/
├── config/ # Configurações dos containers
├── data/ # Dados das aplicações
├── downloads/ # Downloads do qBittorrent
├── media/ # Biblioteca de mídia
│ ├── movies/ # Filmes
│ ├── tv/ # Séries
│ └── books/ # E-books
├── docker-compose.yml
├── .env
├── start-stack.ps1
├── manage-stack.ps1
└── README.md
.\start-stack.ps1- Verifica se Docker está rodando
- Cria diretórios necessários
- Inicia todos os containers
- Mostra URLs de acesso
# Parar todos os containers
.\manage-stack.ps1 -Action stop
# Reiniciar todos os containers
.\manage-stack.ps1 -Action restart
# Ver status
.\manage-stack.ps1 -Action status
# Ver logs (todos os serviços)
.\manage-stack.ps1 -Action logs
# Ver logs de um serviço específico
.\manage-stack.ps1 -Action logs -Service plex
# Atualizar imagens
.\manage-stack.ps1 -Action update
# Fazer backup das configurações
.\manage-stack.ps1 -Action backup# Fazer backup dos serviços nativos antes da migração
.\backup-current-services.ps1
# Parar serviços nativos para evitar conflitos
.\stop-native-services.ps1
# Executar configurações pós-instalação
.\post-install-config.ps1backup-current-services.ps1- Faz backup completo dos serviços nativos instaladosstop-native-services.ps1- Para serviços nativos para evitar conflitos de portapost-install-config.ps1- Mostra checklist de configuração pós-instalação
# Iniciar stack
docker-compose up -d
# Parar stack
docker-compose down
# Ver logs
docker-compose logs -f
# Ver logs de um serviço específico
docker-compose logs -f plex
# Reiniciar um serviço
docker-compose restart radarr
# Atualizar imagens
docker-compose pull
docker-compose up -d- Acesse http://localhost:32400/web
- Faça login com sua conta Plex
- Configure as bibliotecas apontando para:
- Filmes:
/movies - Séries:
/tv - Livros:
/books
- Filmes:
- Acesse http://localhost:8080
- Login padrão:
admin/adminadmin - Configure o diretório de downloads para
/downloads
- Acesse http://localhost:7878
- Configure o cliente de download (qBittorrent)
- Configure o caminho da mídia para
/movies - Conecte ao Prowlarr/Jackett para indexadores
- Acesse http://localhost:8989
- Configure similar ao Radarr
- Configure o caminho da mídia para
/tv
- Acesse http://localhost:9696
- Configure indexadores
- Configure FlareSolverr:
- URL:
http://flaresolverr:8191 - Para indexadores com proteção Cloudflare
- URL:
- Configure integração com Radarr e Sonarr
- Acesse http://localhost:8123
- Crie conta de administrador
- Configure integrações desejadas
- Configure automações e dispositivos
- Integração com Plex: Configure o addon Plex para controle de mídia
- Acesse http://localhost:5678
- Login:
admin/admin123(padrão) - Altere a senha padrão imediatamente
- Configure workflows de automação
- Integrações disponíveis:
- Plex Media Server
- Home Assistant
- qBittorrent
- Radarr/Sonarr
- Webhooks e APIs
- Notificação de novo download: Quando qBittorrent termina download → Notificar via Telegram/Discord
- Backup automático: Quando Plex adiciona nova mídia → Fazer backup para cloud
- Organização de arquivos: Quando Radarr/Sonarr baixa → Mover para pasta específica
- Controle de luzes: Quando Plex inicia reprodução → Diminuir luzes da sala
- Notificações inteligentes: Quando Home Assistant detecta movimento → Verificar se Plex está rodando
- Relatórios diários: Enviar relatório de downloads do dia via email
- Sincronização de status: Home Assistant ↔ Plex (reproduzindo/pausado)
- Webhooks personalizados: Criar endpoints para controle externo
- APIs customizadas: Expor funcionalidades do stack via API
Se você tem serviços nativos instalados (Plex, Radarr, Sonarr, etc.), siga estes passos:
-
Fazer backup dos serviços nativos:
.\backup-current-services.ps1
-
Parar serviços nativos:
.\stop-native-services.ps1
-
Iniciar Docker stack:
.\start-stack.ps1 -
Restaurar configurações:
# Use o script gerado pelo backup .\service-backup-YYYY-MM-DD-HHMMSS\restore-to-docker.ps1 -BackupPath "service-backup-YYYY-MM-DD-HHMMSS"
# Verificar se todos os containers estão rodando
.\manage-stack.ps1 -Action status
# Ver logs de configuração
.\manage-stack.ps1 -Action logs -Service plexSe alguma porta já estiver em uso, edite o arquivo .env:
# Exemplo: mudar portas
PLEX_PORT=32401
HOMEASSISTANT_PORT=8124
N8N_PORT=5679Se tiver problemas de permissão, ajuste PUID/PGID no .env:
PUID=1000
PGID=1000# Ver logs detalhados
.\manage-stack.ps1 -Action logs -Service [nome-do-servico]
# Ver todos os containers
.\manage-stack.ps1 -Action status
# Reiniciar container específico
docker-compose restart [nome-do-servico]- Verifique se a porta 8123 está livre
- Verifique permissões do diretório config/homeassistant
- Execute:
docker-compose logs homeassistant
- Verifique se os caminhos estão corretos no Plex
- Confirme que as pastas existem em
media/ - Verifique permissões dos arquivos
- Verifique configuração de porta 6881
- Confirme que a pasta downloads existe
- Verifique configuração de firewall
- Verifique se a porta 5678 está livre
- Verifique permissões do diretório config/n8n
- Execute:
docker-compose logs n8n - Verifique se as variáveis de ambiente estão corretas
- Não exponha as portas publicamente sem configurar autenticação adequada
- Use VPN para acesso remoto seguro
- Faça backups regulares das configurações
- Monitore os logs para atividades suspeitas
| Aplicação | Porta | Descrição |
|---|---|---|
| Plex | 32400 | Interface web |
| Radarr | 7878 | Interface web |
| Sonarr | 8989 | Interface web |
| Prowlarr | 9696 | Interface web |
| Jackett | 9117 | Interface web |
| qBittorrent | 8080 | Interface web |
| qBittorrent | 6881 | BitTorrent |
| Calibre | 8083 | Interface web |
| Calibre-Web | 8084 | Interface web |
| FlareSolverr | 8191 | Bypass Cloudflare |
| Home Assistant | 8123 | Interface web |
| n8n | 5678 | Plataforma de automação |
| Portainer | 9000 | Gerenciamento Docker |
Para problemas específicos:
- Verifique os logs:
.\manage-stack.ps1 -Action logs -Service [nome] - Verifique se o Docker está rodando
- Verifique conflitos de porta
- Consulte a documentação oficial de cada aplicação
Execute regularmente:
.\manage-stack.ps1 -Action updateOu configure o Watchtower para atualizações automáticas (já incluído no stack).
| Serviço | URL | Descrição |
|---|---|---|
| 🎥 Plex | http://localhost:32400/web | Servidor de mídia |
| 🎬 Radarr | http://localhost:7878 | Automação de filmes |
| 📺 Sonarr | http://localhost:8989 | Automação de séries |
| 🔍 Prowlarr | http://localhost:9696 | Gerenciador de indexadores |
| 🔎 Jackett | http://localhost:9117 | Indexador alternativo |
| ⬇️ qBittorrent | http://localhost:8080 | Cliente torrent |
| 📚 Calibre | http://localhost:8083 | Gerenciamento de e-books |
| 📆 Calibre-Web | http://localhost:8084 | Interface web Calibre |
| 🏠 Home Assistant | http://localhost:8123 | Automação residencial |
| ⚡ n8n | http://localhost:5678 | Automação de workflows |
| 🐳 Portainer | http://localhost:9000 | Gerenciamento Docker |
💡 Dicas:
- Use o Portainer para gerenciamento gráfico dos containers
- Execute
.\post-install-config.ps1para checklist de configuração - Faça backup regular com
.\manage-stack.ps1 -Action backup - Para migração de serviços nativos, use os scripts de backup e migração