Skip to content

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages