Central de pacotes e contêineres
6 min · 10 seções
O NAS executa aplicativos — um servidor de filmes com capas, uma nuvem privada, o bloqueador de anúncios da casa inteira — cada um fechado no seu contêiner, sem mexer no sistema. A Central de pacotes os instala e atualiza com um clique; o app Contêineres mostra a engrenagem por baixo, para quando é preciso olhar.
| Se o que você quer é… | Vá para |
|---|---|
| Instalar seu primeiro aplicativo | Instalar |
| 1058 apps testados um a um | O catálogo |
| Mudar a porta ou as pastas de um app | Portas e pastas |
| Remover um app (e decidir o que acontece com os dados) | Desinstalar |
| Ver por que um app não inicia | Contêineres, registros e console |
| Recuperar o espaço que o Docker vai deixando | Limpeza |
É preciso ter um volume criado: os aplicativos e seus dados ficam no volume (<pool>/apps/<aplicativo>/), nunca no disco do sistema — um app que engorda não pode deixar o NAS sem espaço para se atualizar.
Instalar
Escolha o app no catálogo — por categorias ou buscando — e clique em “Instalar”. O download e a inicialização correm como tarefa com progresso; ao terminar, os apps com interface web ganham o botão “Abrir”, que leva você direto à tela deles. Cada aplicativo guarda o que é dele na sua pasta de dados dentro do volume: reinstalá-lo ou atualizá-lo não mexe no que está salvo.
“Atualizar” baixa a versão nova da imagem e recria o contêiner com as mesmas configurações. Os dados nem são tocados: estão na pasta deles, fora do contêiner.
O catálogo
O catálogo traz 1058 aplicativos, todos de outros desenvolvedores, selecionados por nós e testados um a um: cada receita é instalada de verdade, sua web é aberta e ela é removida antes de entrar. Cada um tem sua categoria, seu ícone e uma versão fixa: um aplicativo não muda de versão sozinho, e “Atualizar” o deixa em dia quando você pede. As receitas apontam seus dados para a pasta de dados do NAS, então a regra de “tudo no volume” vale para todas.
Portas e pastas
Cada app instalado tem seu botão “Portas e pastas”:
- Portas: qual porta do NAS leva a qual porta dentro do contêiner. Se a que a receita propõe bate com algo seu, você a muda aqui e o app é recriado com a nova.
- Pastas: quais pastas do NAS o app vê por dentro. É a forma de dar a um servidor de filmes a sua pasta de Filmes, ou de fazer um app de backup ver o que precisa copiar.
Para o que a tela não cobre existe a edição avançada: a receita completa (docker compose) e suas variáveis, editáveis do jeito que estão. Com rede de segurança: ao aplicar, os contêineres são recriados com a receita nova e, se não subirem, a configuração anterior é restaurada sozinha — um erro de sintaxe não deixa o app morto.
Aceleração de vídeo
Se o NAS tem placa de vídeo integrada (Intel ou AMD), o Jellyfin e o Plex podem usá-la para converter vídeo sem sobrecarregar o processador: é a diferença entre ver um filme e ver uma rodinha girando. Ao instalá-los aparece a chave “Aceleração de vídeo”, e para um app já instalado ela fica em “Portas e pastas”. É a única coisa do dispositivo que um aplicativo pode receber: a placa de vídeo; nem discos nem outros dispositivos.
Uma placa Nvidia
Se o NAS tem uma placa Nvidia, a mesma chave serve para ela assim que três coisas forem cumpridas: que o driver esteja carregado (existe /dev/nvidia0, que aparece depois de instalá-lo e reiniciar, ou ao executar nvidia-smi uma vez), que o runtime de contêineres da Nvidia esteja instalado, e que esse runtime esteja registrado no Docker. É coisa de uma vez só, pelo console do NAS:
sudo apt install nvidia-driver nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
O pacote nvidia-driver está na seção non-free do Debian, e o nvidia-container-toolkit, no repositório da Nvidia. Enquanto eles não estiverem lá, a opção não aparece: o painel só a oferece quando sabe que vai funcionar.
Dispositivos USB
O Home Assistant com um Zigbee ou um Z-Wave por USB precisa ver o adaptador. Ao instalá-lo, e em “Portas e pastas”, aparecem os adaptadores de porta serial conectados ao NAS com o nome deles; marque o que quiser e o aplicativo o encontra em /dev/serial/by-id/…, um nome que não muda ao reconectá-lo. Só portas seriais: um disco USB ou outro dispositivo continuam fora do alcance dos aplicativos.
Limites de memória e CPU
Em “Portas e pastas” de cada aplicativo instalado, você pode definir quanta memória e quanta CPU ele pode usar no máximo. Sem limite, um aplicativo que sai do controle (um indexador de fotos, um banco de dados mal ajustado) come a memória do NAS e arrasta junto o painel e os outros. As faixas oferecidas são as que cabem no seu dispositivo; “Sem limite” as remove. A mudança reinicia o aplicativo.
Desinstalar
“Desinstalar” para o app e o tira da lista, e diz com clareza: os dados são mantidos no disco. Reinstalá-lo amanhã o traz de volta com tudo o que é dele. Se o que você quer é recuperar o espaço, a opção de excluir também os dados faz isso de verdade — e, se algo não puder ser excluído, ela diz o nome e o motivo, sem fingir que ficou limpo.
Contêineres, registros e console
O app Contêineres mostra o que está rodando de verdade: cada contêiner com seu estado, sua memória e seu processador.
- Registros: a saída do contêiner, com busca — é o primeiro lugar para olhar quando um app não inicia ou se comporta de um jeito estranho.
- Console: um terminal dentro do contêiner, para a olhada que nenhum painel consegue dar.
- Parar, iniciar e reiniciar contêineres avulsos. Cuidado ao excluir o contêiner de um aplicativo da Central de pacotes: isso não o desinstala — ele será recriado ao atualizá-lo —, só o deixa parado. Para removê-lo de verdade, use “Desinstalar” na Central de pacotes.
Limpeza
O Docker vai deixando imagens antigas a cada atualização, e elas ocupam gigas que ninguém usa. O botão de limpeza os recupera: exclui o que nenhum contêiner referencia mais — imagens órfãs, camadas soltas — e diz quanto liberou. Os apps e seus dados nem são tocados.
Como se encaixa com o resto
- Os dados dos apps são pastas normais do volume: entram nos backups e nos snapshots como todo o resto.
- Se o volume for destruído ou mudar de lugar, o painel recoloca o Docker e diz quais apps precisam ser reinstalados: está explicado em Discos, reservas e replicações.
- Para publicar receitas próprias no catálogo, existe o guia de administração.