OpenMediaVault: Um servidor gratuito para qualquer necessidade
Por um lado, existem gabinetes NAS prontos para uso, com uma tampa bonita e um preço que faz você querer perguntar duas vezes.
Por outro lado, “Vou instalar um Debian limpo e configurar tudo sozinho.” Parece uma proposta digna de orgulho. Na prática, geralmente acaba com você com medo de mexer no seu próprio servidor seis meses depois, porque não se lembra do que fez.
Foi então que descobri o OpenMediaVault. E percebi que entre “caro e conveniente” e “gratuito, mas trabalhoso”, existe uma terceira opção perfeitamente razoável.
Afinal, o que é isto?
O OpenMediaVault não é apenas “mais um Linux”. É o Debian com uma interface web amigável, desenvolvida especificamente para armazenamento de arquivos, compartilhamento, RAID, gerenciamento de usuários e tudo o que você espera de um NAS.
Gratuito. Código aberto. Funciona em hardware bastante modesto. E não parece um kit de construção para masoquistas.
Você instala o sistema, abre o navegador e já pode criar compartilhamentos, usuários, navegar pelos discos e configurar serviços básicos. Sem precisar mexer em arquivos de configuração às cegas.
Por que ele e não “como todo mundo”?
Experimentei diferentes opções. Algumas são belíssimas, mas pagas. Outras são poderosas, mas exigem mais de 16 gigabytes de RAM e um profundo conhecimento de ZFS. Algumas são flexíveis, até você perceber que já pagou por essa flexibilidade com uma licença.
OMV provou ser aquele raro caso em que um sistema não tenta ser tudo ao mesmo tempo, mas pode facilmente se tornar quase qualquer coisa.
Precisa de um servidor de arquivos simples para sua casa ou pequeno escritório? Nós temos a solução ideal. SMB, NFS, permissões e quotas — tudo pronto para usar.
Deseja um servidor de mídia, torrents, backups, monitoramento ou seu próprio serviço de armazenamento em nuvem? Basta instalar o OMV-Extras, habilitar o Docker e praticamente tudo o que você quiser poderá ser transformado em contêineres.
Por isso, a frase “um servidor para atender a qualquer necessidade” não é apenas um slogan. É uma descrição bastante precisa.
Como isso se parece na vida real?
No início, você o configurou “apenas para manter seus arquivos organizados”. Um mês depois, você percebe que já está executando o Jellyfin nele . Mais um mês depois, você está executando backups automáticos de outras máquinas. Em seguida, você está executando vários contêineres de serviço que antes estavam escondidos em algum lugar desconhecido.
E durante todo esse tempo, o sistema permanece relativamente leve. Não exige hardware potente. É tolerante com discos rígidos mais antigos e processadores modestos. Não força você a se tornar imediatamente um engenheiro de sistemas de armazenamento.
Claro, há uma desvantagem. Se você busca proteção máxima de dados, como “ZFS corporativo em tudo”, o TrueNAS será mais robusto e poderoso. Se você quer a experiência mais fácil possível com discos de tamanhos variados e um vasto catálogo de aplicativos “com um clique”, o Unraid pode ser mais conveniente (mas a um custo mais elevado).
E se você precisa de uma opção gratuita, clara e flexível, sem obrigações desnecessárias, a OMV geralmente é a solução ideal.
O que é especialmente bom
- Pode ser instalado em praticamente qualquer hardware, incluindo máquinas de escritório antigas e mini-PCs.
- Existe um sistema de plugins normal.
- O Docker é instalado e executado sem problemas.
- Você pode viver por muito tempo com a funcionalidade básica e gradualmente ir aprimorando-a.
- Não há necessidade de renovar a “vantagem” todos os anos.
Já abordamos o processo detalhado de instalação e configuração (incluindo Docker, RAID, SMB e certificados) separadamente: OpenMediaVault 8 no Debian . E se você estiver interessado no que normalmente está incluído em configurações domésticas e de pequenos laboratórios, aqui está uma seleção de aplicativos funcionais: 20 recursos úteis para OMV .
Também existe uma comparação com outras opções: qual NAS escolher em 2026 .
Honesto menos
OMV não pretende resolver todos os seus problemas. Às vezes, você precisa pesquisar sobre certos assuntos. Às vezes, você precisa entender como funcionam as permissões ou por que um contêiner não consegue acessar uma pasta. No fundo, ainda é Linux, só que com uma interface mais humana.
Mas é exatamente por isso que permanece flexível. Você não se depara com o limite imposto por outra pessoa que “pretendeu assim”.
Qual é a conclusão?
O OpenMediaVault é uma das opções mais honestas se você deseja ter seu próprio servidor sem pagar taxa de assinatura e sem a sensação de ser um administrador de sistemas em tempo parcial em um grande centro de dados.
É uma boa opção para quem deseja:
- Pare de pagar pelo espaço de armazenamento de outra pessoa;
- Mantenha arquivos, backups e mídias em sua própria privacidade;
- ter a oportunidade de adquirir gradualmente os serviços necessários;
- não depender de licenças e mudanças repentinas de tarifas.
Eu não diria que esta é a solução perfeita para todas as ocasiões. Quase não existem soluções perfeitas.
Mas se a tarefa for algo como “Preciso de um servidor gratuito decente que eu possa personalizar”, o OMV geralmente acaba sendo a opção para a qual eu retorno.
Aplicativos OpenMediaVault: os 20 melhores para laboratório doméstico
OMV sem personalização é apenas Debian com uma interface web.
Você instalou o OpenMediaVault, acessou a interface web, configurou as unidades — e agora? Aí você olha para o menu minimalista e percebe: por padrão, o OMV só permite o compartilhamento de arquivos pela rede . Samba, NFS, FTP — tudo isso está disponível. Servidor de mídia — não. Nuvem — não. Monitoramento — não.
Isso não é um bug. É uma decisão arquitetônica. O OMV mantém o núcleo pequeno e limpo intencionalmente. Todas as extensões são feitas por meio de plugins e Docker . E é aí que as coisas ficam interessantes.
Este artigo destina-se a quem já instalou o OMV e deseja entender o que instalar, porquê e em que ordem. É simples: apenas aplicações específicas, arquivos Docker-compose e uma explicação de por que você precisa dessas aplicações específicas e não de outras.
O que você precisa antes de começar:
- OpenMediaVault 7.x ou 8.x (OMV “Sandworm” ou “Synchrony” no Debian 12/13)
- Mínimo de 4 GB de RAM para a configuração básica, 8 GB para um trabalho confortável.
- Unidade SSD/flash separada para o sistema OMV (não toque nas unidades de dados).
- Acesso à internet para baixar imagens
Passo 0: omv-extras e o plugin compose – você não pode ficar sem eles.
Antes de instalar qualquer um dos aplicativos desta lista, você precisa de infraestrutura. Esses são dois passos indispensáveis, sem os quais não há motivo para prosseguir.
Passo 1. Instale o omv-extras. Este é um repositório de plugins de terceiros da comunidade. Sem ele, o OMV não possui suporte para Docker nem metade das extensões necessárias.
Faça login no servidor via SSH como root e execute o seguinte comando:
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
Depois disso, o item Sistema > omv-extras aparecerá na interface web com repositórios adicionais.
Passo 2. Instale o plugin openmediavault-compose. Este é o Docker Compose diretamente na barra lateral do OMV — ele oferece realce de sintaxe, um botão de validação YAML e gerenciamento de pilha a partir do navegador.
Interface web -> Sistema -> Plugins -> encontre openmediavault-compose -> Instalar.
Após a instalação: Serviços -> Compose -> Configurações. Especifique a pasta para os arquivos YAML (por exemplo, /data/compose) e a pasta para os dados do contêiner (por exemplo, /data/appdata). Clique em “Reinstalar o Docker”.
Categoria 1: Gerenciamento de Contêineres
1. Portainer CE – painel de controle principal do Docker
O Portainer é o primeiro programa que você instala depois do Docker. É uma interface web para gerenciar contêineres: você pode ver o que está em execução, quanta RAM e CPU cada contêiner está usando, iniciar e parar stacks e visualizar logs — tudo a partir do seu navegador.
Sem o Portainer, gerenciar mais de dois contêineres pela linha de comando é uma receita para a confusão. O Portainer simplifica tudo.
# /data/compose/portainer/docker-compose.yml
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
ports:
- "9443:9443"
- "8000:8000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /data/appdata/portainer:/data
restart: unless-stopped
Abre em https://seu-ip:9443. Ao fazer login pela primeira vez, você cria uma senha de administrador.
A versão Community Edition é gratuita. A versão Business Edition só é necessária se você gerenciar vários servidores ou precisar de políticas de acesso avançadas.
2. Watchtower – atualizações automáticas de contêineres
O Watchtower verifica o DockerHub uma vez por dia e atualiza automaticamente os contêineres com as imagens mais recentes. Configure uma vez e esqueça. Chega de executar `docker pull` e reiniciar manualmente.
services:
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 0 4 * * *
restart: unless-stopped
WATCHTOWER_SCHEDULE=0 0 4 * * * — executa uma verificação todas as noites às 4:00. WATCHTOWER_CLEANUP=true — remove imagens antigas após uma atualização, não sobrecarregando o disco.
Categoria 2: Servidor de mídia
3. Jellyfin – servidor de mídia sem assinatura
O Jellyfin é um servidor de mídia gratuito e de código aberto. Ele organiza sua coleção de filmes, séries e músicas, baixa metadados e pôsteres automaticamente e transmite conteúdo para qualquer dispositivo, online ou offline.
O Plex faz a mesma coisa, mas cobra pelo acesso remoto e pela transcodificação por hardware. O Jellyfin oferece tudo isso gratuitamente, sem necessidade de conta.
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
volumes:
- /data/appdata/jellyfin:/config
- /data/media/movies:/data/movies
- /data/media/tv:/data/tv
- /data/media/music:/data/music
ports:
- "8096:8096"
devices:
- /dev/dri:/dev/dri
restart: unless-stopped
A linha `/dev/dri:/dev/dri` habilita a GPU para transcodificação por hardware. Para processadores Intel, a iGPU funciona automaticamente. Caso contrário, a transcodificação será feita na CPU, o que é mais lento e consome mais recursos.
Abre em http://seu-ip:8096. Na primeira configuração, você especifica as pastas de mídia e, em seguida, tudo é automático.
4. Sonarr – Downloads automatizados de séries de TV
O Sonarr monitora feeds RSS de rastreadores de torrents e baixa automaticamente novos episódios de séries adicionadas. Quando um novo episódio é lançado, o Sonarr o encontra, baixa, renomeia usando um modelo e o coloca na pasta apropriada. O Jellyfin o detecta automaticamente.
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
volumes:
- /data/appdata/sonarr:/config
- /data/media/tv:/tv
- /data/downloads:/downloads
ports:
- "8989:8989"
restart: unless-stopped
5. Radarr – a mesma coisa, mas para filmes
O Radarr é uma versão modificada do Sonarr para filmes. O princípio é o mesmo: adicione um filme à lista, especifique a qualidade desejada e o Radarr pesquisa, baixa e organiza o filme em pastas.
services:
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
volumes:
- /data/appdata/radarr:/config
- /data/media/movies:/movies
- /data/downloads:/downloads
ports:
- "7878:7878"
restart: unless-stopped
6. qBittorrent – um cliente de torrent com interface web
O Sonarr e o Radarr baixam arquivos via cliente torrent. O qBittorrent é a melhor opção para Docker: leve, sem excesso de recursos e com interface web. O Sonarr/Radarr se integra a ele via API.
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
- WEBUI_PORT=8080
volumes:
- /data/appdata/qbittorrent:/config
- /data/downloads:/downloads
ports:
- "8080:8080"
- "6881:6881"
- "6881:6881/udp"
restart: unless-stopped
Após a inicialização, acesse http://seu-ip:8080. O login padrão é admin; verifique os logs do contêiner para obter a senha na primeira inicialização.
Categoria 3: Nuvem Privada
7. Nextcloud – substituto para Google Drive e Dropbox
O Nextcloud é a nuvem autohospedada mais popular. Arquivos, calendário, contatos e colaboração em documentos. Aplicativos móveis para iOS e Android. Upload automático de fotos do seu celular para o seu servidor.
Recomendo a opção AIO (Tudo em Um) — é mais fácil de instalar e já inclui banco de dados e SSL. Mas um Docker Compose padrão também é um bom ponto de partida:
services:
nextcloud-db:
image: mariadb:latest
container_name: nextcloud-db
environment:
- MYSQL_ROOT_PASSWORD=тут_сильный_пароль
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=тут_другой_пароль
volumes:
- /data/appdata/nextcloud-db:/var/lib/mysql
restart: unless-stopped
nextcloud:
image: nextcloud:latest
container_name: nextcloud
ports:
- "8180:80"
environment:
- MYSQL_HOST=nextcloud-db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=тут_другой_пароль
volumes:
- /data/appdata/nextcloud:/var/www/html
- /data/nextcloud-data:/var/www/html/data
depends_on:
- nextcloud-db
restart: unless-stopped
Mantenha a pasta /data/nextcloud-data na sua unidade de disco com maior capacidade — todos os arquivos do usuário serão armazenados lá. A pasta /data/appdata/nextcloud contém configurações e caches; ela é pequena.
8. Vaultwarden – um gerenciador de senhas em seu próprio servidor
O Vaultwarden é uma implementação leve do servidor Bitwarden, compatível com todos os clientes oficiais do Bitwarden. Você o instala no seu NAS e usa os aplicativos nativos do Bitwarden em todos os seus dispositivos — mas seus dados são armazenados localmente, não na nuvem.
O 1Password custa10 dólares por ano. O Vaultwarden é gratuito. A funcionalidade é a mesma.
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
environment:
- DOMAIN=https://vault.твой-домен.ru
- SIGNUPS_ALLOWED=false
volumes:
- /data/appdata/vaultwarden:/data
ports:
- "8280:80"
restart: unless-stopped
SIGNUPS_ALLOWED=false — desativa o cadastro gratuito. Você pode criar contas via linha de comando ou habilitar o cadastro temporariamente, cadastrar-se e, em seguida, desabilitá-lo novamente.
9. Immich — Google Fotos no seu próprio hardware
O Immich é uma alternativa auto-hospedada ao Google Fotos. Ele oferece reconhecimento facial, geolocalização e classificação automática por datas e eventos. Possui aplicativos móveis para iOS e Android com download automático. Sua funcionalidade já se aproxima bastante da do Google Fotos.
services:
immich-server:
image: ghcr.io/immich-app/immich-server:release
container_name: immich-server
ports:
- "2283:2283"
volumes:
- /data/photos:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
environment:
- DB_HOSTNAME=immich-db
- DB_USERNAME=immich
- DB_PASSWORD=сильный_пароль_тут
- DB_DATABASE_NAME=immich
- REDIS_HOSTNAME=immich-redis
depends_on:
- immich-db
- immich-redis
restart: unless-stopped
immich-redis:
image: redis:alpine
container_name: immich-redis
restart: unless-stopped
immich-db:
image: tensorchord/pgvecto-rs:pg14-v0.2.0
container_name: immich-db
environment:
- POSTGRES_USER=immich
- POSTGRES_PASSWORD=сильный_пароль_тут
- POSTGRES_DB=immich
volumes:
- /data/appdata/immich-db:/var/lib/postgresql/data
restart: unless-stopped
O Immich consome mais recursos do que outros aplicativos — ele exige uma CPU decente para funções de aprendizado de máquina. Será lento em um Raspberry Pi 4. Funciona bem em um N100 ou i3.
Categoria 4: Rede e Segurança
10. Pi-hole – Bloqueio de anúncios em nível de DNS
O Pi-hole é um servidor DNS com filtragem. Ele bloqueia anúncios, rastreadores e domínios maliciosos em toda a rede. Não são necessárias extensões de navegador — basta especificar o IP do servidor como DNS no seu roteador e os anúncios desaparecem em todos os dispositivos.
services:
pihole:
image: pihole/pihole:latest
container_name: pihole
ports:
- "53:53/tcp"
- "53:53/udp"
- "8380:80"
environment:
- TZ=Europe/Moscow
- WEBPASSWORD=тут_твой_пароль
- PIHOLE_DNS_=1.1.1.1;8.8.8.8
volumes:
- /data/appdata/pihole/etc:/etc/pihole
- /data/appdata/pihole/dnsmasq:/etc/dnsmasq.d
restart: unless-stopped
A porta 53 está ocupada pelo systemd-resolved na maioria das distribuições. Se você receber o erro “porta já em uso” ao iniciar:
systemctl stop systemd-resolved
systemctl disable systemd-resolved
echo "nameserver 1.1.1.1" > /etc/resolv.conf
Após a inicialização, o Pi-hole será aberto em http://seu-ip:8380/admin. No seu roteador, altere o DNS para o endereço IP do servidor NAS.
11. Gerenciador de Proxy Nginx — URLs amigáveis em vez de IP:porta
O Nginx Proxy Manager (NPM) permite acessar serviços pelo nome em vez de IP e porta. Em vez de http://192.168.1.100:8096, você obtém http://jellyfin.home. Além disso, ele gerencia certificados SSL via Let’s Encrypt — um clique e você está em HTTPS.
services:
nginx-proxy-manager:
image: jc21/nginx-proxy-manager:latest
container_name: nginx-proxy-manager
ports:
- "80:80"
- "443:443"
- "8181:81"
volumes:
- /data/appdata/nginx-pm/data:/data
- /data/appdata/nginx-pm/letsencrypt:/etc/letsencrypt
restart: unless-stopped
Abre em http://seu-ip:8181. O login padrão é admin@example.com e a senha é changeme. Altere-a imediatamente.
12. Tailscale – VPN descomplicada com NAT e roteador
O Tailscale é uma VPN em malha baseada no WireGuard . Você o instala no seu NAS e em todos os seus dispositivos — seu celular, laptop e computador — e todos eles passam a fazer parte de uma única rede privada. Acesse seu NAS de qualquer lugar do mundo sem precisar configurar o encaminhamento de portas ou o roteador.
services:
tailscale:
image: tailscale/tailscale:latest
container_name: tailscale
hostname: nas-omv
environment:
- TS_AUTHKEY=tskey-auth-тут-твой-ключ
- TS_STATE_DIR=/var/lib/tailscale
- TS_EXTRA_ARGS=--advertise-exit-node
volumes:
- /data/appdata/tailscale:/var/lib/tailscale
- /dev/net/tun:/dev/net/tun
cap_add:
- NET_ADMIN
restart: unless-stopped
Obtenha sua chave de autorização em tailscale.com/settings/keys. O plano gratuito permite até 3 usuários e 100 dispositivos. Mais do que suficiente para um laboratório doméstico.
Uma alternativa é o Headscale, um controlador Tailscale auto-hospedado. É totalmente gratuito e não possui restrições de dispositivo, mas requer configuração separada.
Categoria 5: Monitoramento
13. Uptime Kuma – monitoramento de serviço
O Uptime Kuma mantém todos os seus serviços funcionando. Ele verifica a disponibilidade via HTTP, TCP, DNS e ping. Se algo cair, ele envia uma notificação para o Telegram , e-mail, Discord ou onde você configurar. Ele possui um painel de controle intuitivo com uma página de status.
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
ports:
- "3001:3001"
volumes:
- /data/appdata/uptime-kuma:/app/data
restart: unless-stopped
Abre em http://seu-ip:3001. Ao fazer login pela primeira vez, crie uma conta. Adicione monitores — os URLs de cada um dos seus serviços. As notificações do Telegram são configuradas em dois cliques pelo BotFather.
14. Grafana + Prometheus – Monitoramento completo de servidores
O tempo de atividade do Kuma indica se um serviço está ativo ou não. O Grafana e o Prometheus mostram exatamente como o servidor está funcionando: CPU, RAM, temperatura do disco, tráfego de rede e E/S. Painéis visualmente atraentes, alertas e histórico de métricas.
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- "9090:9090"
volumes:
- /data/appdata/prometheus:/etc/prometheus
- /data/appdata/prometheus-data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=30d'
restart: unless-stopped
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
pid: host
network_mode: host
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
restart: unless-stopped
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
volumes:
- /data/appdata/grafana:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=тут_твой_пароль
restart: unless-stopped
Após iniciar o Grafana (porta 3000), adicione a fonte de dados Prometheus (http://prometheus:9090). Importe o painel de controle pronto para o node-exporter — ID 1860 — para o Grafana Dashboards. Você obterá um painel de monitoramento de servidor pronto para uso, sem precisar configurá-lo do zero.
Categoria 6: Serviços Públicos e Produtividade
15. Página inicial — página inicial do laboratório doméstico
A página inicial é uma página de abertura elegante com todos os seus serviços. Links, status do serviço em tempo real e widgets com métricas. Abra seu navegador e você verá todo o seu laboratório doméstico de uma só vez.
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
ports:
- "3080:3000"
volumes:
- /data/appdata/homepage:/app/config
- /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped
As configurações são arquivos YAML em /data/appdata/homepage: services.yaml (lista de serviços), settings.yaml (aparência), widgets.yaml (widgets). A documentação em github.com/gethomepage/homepage inclui exemplos de configuração.
16. Paperless-ngx – arquivo eletrônico de documentos
O Paperless-ngx digitaliza PDFs e imagens, realiza OCR e os etiqueta automaticamente por conteúdo. Chega de pastas com o tipo “scan_contract_final_V2_exactly_final.pdf”. Busca de texto completo em todos os documentos.
services:
paperless-redis:
image: redis:alpine
container_name: paperless-redis
restart: unless-stopped
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless
ports:
- "8008:8000"
volumes:
- /data/appdata/paperless/data:/usr/src/paperless/data
- /data/appdata/paperless/media:/usr/src/paperless/media
- /data/paperless-consume:/usr/src/paperless/consume
- /data/paperless-export:/usr/src/paperless/export
environment:
- PAPERLESS_REDIS=redis://paperless-redis:6379
- PAPERLESS_OCR_LANGUAGE=rus+eng
- PAPERLESS_TIME_ZONE=Europe/Moscow
- PAPERLESS_SECRET_KEY=тут-длинная-случайная-строка
depends_on:
- paperless-redis
restart: unless-stopped
PAPERLESS_OCR_LANGUAGE=rus+eng — habilita o OCR em russo e inglês. O Paperless usa o Tesseract, que suporta dezenas de idiomas. Arraste um PDF para a pasta /data/paperless-consume — ele será processado automaticamente e aparecerá na interface web.
17. Mealie – Receitas sem anúncios
O Mealie importa receitas de qualquer site de culinária por URL , armazena-as localmente, cria planos de refeições e gera uma lista de compras. Sem anúncios. Sem avisos do tipo “role para baixo para ver a receita”.
services:
mealie:
image: hkotel/mealie:latest
container_name: mealie
ports:
- "9925:9000"
volumes:
- /data/appdata/mealie:/app/data
environment:
- ALLOW_SIGNUP=false
- BASE_URL=http://твой-ip:9925
- DEFAULT_EMAIL=admin@example.com
- DEFAULT_PASSWORD=тут_твой_пароль
restart: unless-stopped
18. ntfy — notificações push do servidor para o seu celular
O ntfy é um servidor HTTP para notificações push. Qualquer script , tarefa agendada ou aplicativo pode enviar uma notificação para o seu celular com uma única requisição curl. Sem bots do Telegram, sem serviços externos.
services:
ntfy:
image: binwiederhier/ntfy:latest
container_name: ntfy
ports:
- "8085:80"
volumes:
- /data/appdata/ntfy:/var/cache/ntfy
command: serve
restart: unless-stopped
O aplicativo ntfy para iOS e Android se inscreve em tópicos. Enviar uma notificação:
curl -d "Бэкап завершён" http://твой-ip:8085/мой-сервер
Você pode inserir isso no final de qualquer script Bash e saber quando ele terminar de ser executado. Um comando por cavalo desativa todo o departamento de notificações.
19. Gitea – Git privado em seu próprio servidor
Gitea é um GitHub leve e auto-hospedado. Repositórios privados ilimitados, CI/CD via Gitea Actions, wiki, issues e pull requests. Armazene configurações de infraestrutura, arquivos Docker-compose e scripts — tudo sob controle de versão, totalmente sob seu controle.
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=sqlite3
ports:
- "3003:3000"
- "222:22"
volumes:
- /data/appdata/gitea:/data
restart: unless-stopped
O SQLite é suficiente para uso pessoal. Se você precisar dar suporte a uma equipe de várias pessoas, mude para o PostgreSQL. A porta 222 é para acesso SSH aos repositórios (a porta 22 padrão já está ocupada pelo sistema).
20. BorgBackup via plugin OMV – backups com deduplicação
O plugin openmediavault-borgbackup instala-se diretamente a partir do OMV Extras, sem Docker. O BorgBackup cria backups incrementais com deduplicação e criptografia . É ideal para fazer backup do próprio NAS para um disco externo ou um servidor remoto.
Instalação via interface web: Sistema -> Plugins -> openmediavault-borgbackup -> Instalar.
Após a instalação: Serviços -> BorgBackup. Crie um repositório, especifique o que deseja fazer backup e configure um agendamento.
Para backups na nuvem ou em um servidor remoto, utilize o Borgbase — um serviço de hospedagem pago para repositórios Borg (2 GB gratuitos).
# Создать репозиторий на внешнем диске
borg init --encryption=repokey /mnt/backup-disk/nas-backup
# Первый бэкап
borg create --stats --progress \
/mnt/backup-disk/nas-backup::nas-{now:%Y-%m-%d} \
/data/appdata \
/etc/openmediavault
# Список бэкапов
borg list /mnt/backup-disk/nas-backup
Tabela resumo de todas as 20 candidaturas
| # | Aplicativo | Categoria | Porta | RAM (oriente) | Método de instalação |
|---|---|---|---|---|---|
| 1 | Portainer CE | Gerenciamento do Docker | 9443 | ~100 MB | Docker Compose |
| 2 | Torre de vigia | Gerenciamento do Docker | — | ~30 MB | Docker Compose |
| 3 | Jellyfin | Mídia | 8096 | ~300 MB+ | Docker Compose |
| 4 | Sonar | Mídia | 8989 | ~200 MB | Docker Compose |
| 5 | Radar | Mídia | 7878 | ~200 MB | Docker Compose |
| 6 | qBittorrent | Mídia | 8080 | ~100 MB | Docker Compose |
| 7 | Nextcloud | Nuvem | 8180 | ~500 MB+ | Docker Compose |
| 8 | Guardião do Cofre | Nuvem | 8280 | ~50 MB | Docker Compose |
| 9 | Immich | Nuvem | 2283 | ~1 GB+ | Docker Compose |
| 10 | Pi-hole | Líquido | 8380 / 53 | ~70 MB | Docker Compose |
| 11 | Gerenciador de proxy Nginx | Líquido | 80/443/8181 | ~100 MB | Docker Compose |
| 12 | Escama da cauda | Líquido | — | ~50 MB | Docker Compose |
| 13 | Tempo de atividade Kuma | Monitoramento | 3001 | ~100 MB | Docker Compose |
| 14 | Grafana + Prometeu | Monitoramento | 3000/9090 | ~400 MB | Docker Compose |
| 15 | Página inicial | Serviços públicos | 3080 | ~50 MB | Docker Compose |
| 16 | Paperless-ngx | Serviços públicos | 8008 | ~400 MB | Docker Compose |
| 17 | Milho | Serviços públicos | 9925 | ~200 MB | Docker Compose |
| 18 | ntfy | Serviços públicos | 8085 | ~20 MB | Docker Compose |
| 19 | Gitea | Serviços públicos | 3003 | ~150 MB | Docker Compose |
| 20 | BorgBackup | Backup | — | ~50 MB | Plugin OMV Extras |
Procedimento de instalação: por onde começar
Não instale tudo de uma vez. O servidor não vai travar imediatamente sob carga — isso só acontecerá quando você se esquecer do que instalou e por quê. A melhor ordem é gradual.
Semana 1 – Conceitos básicos: omv-extras + plugin compose, Portainer, Watchtower. Aprenda como o Docker Compose funciona através da interface web do OMV.
Semana 2 – Mídia ou Nuvem: Jellyfin + qBittorrent ou Nextcloud. Uma opção, não ambas.
Semana 3 – Rede: Pi-hole. Reserve um tempo para configurá-lo – isso se aplica a toda a sua rede doméstica, por isso é importante entender como funciona.
Em seguida, conforme necessário: Nginx Proxy Manager, se precisar de URLs amigáveis; Tailscale, se precisar de acesso remoto; Uptime Kuma, para monitoramento; e o restante é opcional.
Requisitos de sistema para toda a pilha.
| Kit | BATER | CPU | Sistema de armazenamento | Observação |
|---|---|---|---|---|
| Mínimo (3-5 recipientes) | 4GB | Intel N100 / Celeron | SSD de 32 GB | Portainer, Pi-hole, Jellyfin |
| Confortável (10 recipientes) | 8 GB | i3 / Ryzen 3 | SSD de 64 GB | Conjunto completo de mídia + nuvem |
| Pilha completa (20 contêineres) | 16 GB | i5 / Ryzen 5 | SSD de 128 GB | Tudo da lista + extras |
No momento da publicação, o OpenMediaVault 8.x (Synchrony) no Debian 13 está disponível. Antes de instalar, verifique as versões mais recentes em openmediavault.org .
Problemas comuns de instalação
Conflito de porta: Endereço já em uso
O próprio OMV usa a porta 80 (a interface web). Não a atribua a nenhum outro aplicativo. O Nginx Proxy Manager é instalado corretamente na porta 80 — ele intercepta a porta 80 após a instalação. Mas se você tentar instalar qualquer outra coisa nessa porta, haverá um conflito.
Confira o que está movimentado:
ss -tlnp | grep -E ':(80|443|8080|9090)'
PUID/PGID: O contêiner não consegue ler os arquivos.
Jellyfin, Sonarr e Radarr são executados com o usuário dentro do contêiner. Se o PUID/PGID não corresponder ao proprietário dos arquivos no disco, você receberá erros de acesso.
# Узнай свой UID/GID
id ваш_пользователь
# uid=1000(andrey) gid=1000(andrey) - вот это и ставь в PUID/PGID
Falha ao baixar a imagem do Docker: tempo limite de conexão
O DockerHub pode ficar indisponível ocasionalmente na Rússia sem uma VPN. Se as requisições expirarem, use os servidores espelho:
# /etc/docker/daemon.json
{
"registry-mirrors": [
"https://mirror.gcr.io",
"https://dockerhub.timeweb.cloud"
]
}
systemctl restart docker
Immich/Nextcloud não inicia: banco de dados não está pronto
O contêiner da aplicação inicia antes que o banco de dados esteja totalmente inicializado. Adicione um atraso ou simplesmente reinicie a pilha após um minuto:
docker compose down
docker compose up -d
Na segunda tentativa, o banco de dados já está inicializado e tudo começa normalmente.
Perguntas frequentes – Quais são as perguntas mais frequentes?
Como instalar aplicativos no OpenMediaVault sem o Docker?
Tecnicamente, é possível instalar pacotes DEB diretamente no sistema. No entanto, a documentação oficial do OMV não recomenda essa prática, pois as atualizações do OMV podem quebrar dependências de pacotes de terceiros. O Docker isola os aplicativos e elimina esse problema. A única exceção são os plugins nativos via omv-extras (BorgBackup, ZFS, KVM) — eles são projetados especificamente para o OMV e testados com suas atualizações.
Quais as diferenças entre o OpenMediaVault, o TrueNAS e o Unraid?
OMV é um NAS Debian minimalista, extensível via Docker e plugins, e gratuito. O TrueNAS SCALE é mais poderoso, com ZFS integrado, VMs e Kubernetes inclusos. Requer mais RAM e experiência. O Unraid é uma atualização paga (US$ 69) única e é a solução Docker/VM mais simples; você pode usar discos de tamanhos diferentes sem RAID. Para um laboratório doméstico iniciante, o OMV é a opção mais fácil. Para dados complexos, o TrueNAS é mais confiável.
Por que Jellyfin e não Plex?
O Jellyfin é totalmente gratuito e de código aberto. O Plex cobra US$ 120 por ano pelo Plex Pass, que oferece transcodificação por hardware e acesso remoto completo. O Jellyfin oferece os mesmos recursos gratuitamente. O Plex é um pouco mais amigável para iniciantes e se integra melhor com o Chromecast. Mas se você estiver montando um laboratório doméstico, o Jellyfin faz mais sentido.
É possível instalar o OpenMediaVault no Raspberry Pi?
Sim, o OMV oferece suporte oficial ao Raspberry Pi por meio dos scripts omv-extras. Um conjunto de 5 a 7 contêineres leves (Pi-hole, Vaultwarden, Nextcloud, Gitea, Homepage) funciona sem problemas em um Pi 4 com 4 GB de RAM. O Jellyfin funciona, mas a transcodificação é lenta — o Pi não consegue lidar com 4K. O Immich, com suas funções de aprendizado de máquina, apresentará lentidão.
Como atualizar o OpenMediaVault com segurança?
Antes de atualizar: Faça backup da sua configuração do OMV (Sistema -> Backup ) e anote a lista de contêineres em execução. Atualize pela interface web: Sistema -> Gerenciamento de atualizações -> selecione as atualizações -> Instalar. Após a atualização, verifique se todos os contêineres estão em execução. Não atualize o kernel e o OMV ao mesmo tempo — se algo der errado, será mais fácil diagnosticar o problema.
Resumindo: o laboratório doméstico está sendo construído de forma iterativa.
Listar 20 aplicativos em um único artigo não significa “instale tudo de uma vez”. É um mapa de possibilidades. Comece com o omv-extras, o plugin do Compose e o Portainer. Adicione um aplicativo por vez — descubra como ele funciona, o que consome e onde armazena os dados. Em um mês, você terá um laboratório doméstico funcional que entenderá do início ao fim.
Isso é mais importante do que um conjunto de aplicativos. O Homelab, que funciona inexplicavelmente, não é o Homelab, é uma bomba com temporizador.
Deixe um comentário