Skip to content

tiagoggl12/HomeLab-ETServer

Repository files navigation

🎬 Media Server Stack - Docker

Stack completo de aplicações para automação e gerenciamento de mídia usando Docker, incluindo automação residencial.

📦 Aplicações Incluídas

🎥 Mídia e Entretenimento

🔍 Indexação e Downloads

🏠 Automação Residencial

🛠️ Gerenciamento e Utilitários

  • 🐳 Portainer - Gerenciamento Docker (http://localhost:9000)
  • 🔄 Watchtower - Atualização automática dos containers

🚀 Instalação

1. Instalar Docker Desktop

Windows:

  1. Baixe o Docker Desktop: https://www.docker.com/products/docker-desktop/
  2. Execute o instalador
  3. Reinicie o computador se necessário
  4. Abra o Docker Desktop e aguarde inicializar

Verificar instalação:

docker --version
docker-compose --version

2. Configurar o Stack

  1. Clone ou baixe este repositório

  2. Configure o arquivo .env:

    # Crie o arquivo .env baseado no exemplo abaixo
    notepad .env

    Exemplo 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)
  3. Execute o script de inicialização:

    .\start-stack.ps1

📁 Estrutura de Diretórios

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

🛠️ Gerenciamento

Scripts Disponíveis

🚀 Iniciar o Stack:

.\start-stack.ps1
  • Verifica se Docker está rodando
  • Cria diretórios necessários
  • Inicia todos os containers
  • Mostra URLs de acesso

🔧 Gerenciar o Stack:

# 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

📦 Migração de Serviços Nativos:

# 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.ps1

📋 Scripts de Migração:

  • backup-current-services.ps1 - Faz backup completo dos serviços nativos instalados
  • stop-native-services.ps1 - Para serviços nativos para evitar conflitos de porta
  • post-install-config.ps1 - Mostra checklist de configuração pós-instalação

Comandos Docker Manuais

# 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

⚙️ Configuração Inicial

1. Plex Media Server

  1. Acesse http://localhost:32400/web
  2. Faça login com sua conta Plex
  3. Configure as bibliotecas apontando para:
    • Filmes: /movies
    • Séries: /tv
    • Livros: /books

2. qBittorrent

  1. Acesse http://localhost:8080
  2. Login padrão: admin / adminadmin
  3. Configure o diretório de downloads para /downloads

3. Radarr

  1. Acesse http://localhost:7878
  2. Configure o cliente de download (qBittorrent)
  3. Configure o caminho da mídia para /movies
  4. Conecte ao Prowlarr/Jackett para indexadores

4. Sonarr

  1. Acesse http://localhost:8989
  2. Configure similar ao Radarr
  3. Configure o caminho da mídia para /tv

5. Prowlarr

  1. Acesse http://localhost:9696
  2. Configure indexadores
  3. Configure FlareSolverr:
    • URL: http://flaresolverr:8191
    • Para indexadores com proteção Cloudflare
  4. Configure integração com Radarr e Sonarr

6. Home Assistant

  1. Acesse http://localhost:8123
  2. Crie conta de administrador
  3. Configure integrações desejadas
  4. Configure automações e dispositivos
  5. Integração com Plex: Configure o addon Plex para controle de mídia

7. n8n

  1. Acesse http://localhost:5678
  2. Login: admin / admin123 (padrão)
  3. Altere a senha padrão imediatamente
  4. Configure workflows de automação
  5. Integrações disponíveis:
    • Plex Media Server
    • Home Assistant
    • qBittorrent
    • Radarr/Sonarr
    • Webhooks e APIs

💡 Exemplos de Workflows n8n

Automação de Mídia

  • 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

Automação Residencial

  • 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

Integração entre Serviços

  • Sincronização de status: Home Assistant ↔ Plex (reproduzindo/pausado)
  • Webhooks personalizados: Criar endpoints para controle externo
  • APIs customizadas: Expor funcionalidades do stack via API

🔄 Migração de Serviços Nativos

Antes de Migrar

Se você tem serviços nativos instalados (Plex, Radarr, Sonarr, etc.), siga estes passos:

  1. Fazer backup dos serviços nativos:

    .\backup-current-services.ps1
  2. Parar serviços nativos:

    .\stop-native-services.ps1
  3. Iniciar Docker stack:

    .\start-stack.ps1
  4. 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 Migração

# Verificar se todos os containers estão rodando
.\manage-stack.ps1 -Action status

# Ver logs de configuração
.\manage-stack.ps1 -Action logs -Service plex

🔧 Solução de Problemas

Conflitos de Porta

Se alguma porta já estiver em uso, edite o arquivo .env:

# Exemplo: mudar portas
PLEX_PORT=32401
HOMEASSISTANT_PORT=8124
N8N_PORT=5679

Permissões

Se tiver problemas de permissão, ajuste PUID/PGID no .env:

PUID=1000
PGID=1000

Logs de Debug

# 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]

Problemas Comuns

Home Assistant não inicia

  • Verifique se a porta 8123 está livre
  • Verifique permissões do diretório config/homeassistant
  • Execute: docker-compose logs homeassistant

Plex não acessa bibliotecas

  • Verifique se os caminhos estão corretos no Plex
  • Confirme que as pastas existem em media/
  • Verifique permissões dos arquivos

qBittorrent não baixa

  • Verifique configuração de porta 6881
  • Confirme que a pasta downloads existe
  • Verifique configuração de firewall

n8n não inicia

  • 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

🔒 Segurança

  • 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

📋 Portas Utilizadas

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

🆘 Suporte

Para problemas específicos:

  1. Verifique os logs: .\manage-stack.ps1 -Action logs -Service [nome]
  2. Verifique se o Docker está rodando
  3. Verifique conflitos de porta
  4. Consulte a documentação oficial de cada aplicação

🔄 Atualizações

Execute regularmente:

.\manage-stack.ps1 -Action update

Ou configure o Watchtower para atualizações automáticas (já incluído no stack).


🎯 Resumo de Acesso

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.ps1 para 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors