OpenMediaVault: Um servidor gratuito para qualquer necessidade

OpenMediaVault: Um servidor gratuito para qualquer necessidade

Durante muito tempo, considerei os servidores domésticos e de pequenos escritórios como sendo ou demasiado simples ou demasiado complexos.

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”.

Importante sobre os caminhos
As pastas /data/compose e /data/appdata devem estar em unidades de dados, não na unidade do sistema OMV. A unidade do sistema é exclusiva para o próprio OMV. Caso contrário, você preencherá a unidade do sistema com dados de contêineres e terá problemas.

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.

Tenha cuidado com as atualizações automáticas em produção.
O Watchtower é conveniente para laboratórios domésticos. Mas se um contêiner for crítico, exclua-o das atualizações automáticas usando o rótulo com.centurylinklabs.watchtower.enable=false. As atualizações às vezes quebram configurações.

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.

O Vaultwarden requer HTTPS.
Os clientes Bitwarden não se conectam ao servidor via HTTP. É necessário SSL. Configure o Nginx Proxy Manager com o Let’s Encrypt ou use o Cloudflare Tunnel. Sem HTTPS, o cliente simplesmente se recusará a funcionar.

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

#AplicativoCategoriaPortaRAM (oriente)Método de instalação
1Portainer CEGerenciamento do Docker9443~100 MBDocker Compose
2Torre de vigiaGerenciamento do Docker~30 MBDocker Compose
3JellyfinMídia8096~300 MB+Docker Compose
4SonarMídia8989~200 MBDocker Compose
5RadarMídia7878~200 MBDocker Compose
6qBittorrentMídia8080~100 MBDocker Compose
7NextcloudNuvem8180~500 MB+Docker Compose
8Guardião do CofreNuvem8280~50 MBDocker Compose
9ImmichNuvem2283~1 GB+Docker Compose
10Pi-holeLíquido8380 / 53~70 MBDocker Compose
11Gerenciador de proxy NginxLíquido80/443/8181~100 MBDocker Compose
12Escama da caudaLíquido~50 MBDocker Compose
13Tempo de atividade KumaMonitoramento3001~100 MBDocker Compose
14Grafana + PrometeuMonitoramento3000/9090~400 MBDocker Compose
15Página inicialServiços públicos3080~50 MBDocker Compose
16Paperless-ngxServiços públicos8008~400 MBDocker Compose
17MilhoServiços públicos9925~200 MBDocker Compose
18ntfyServiços públicos8085~20 MBDocker Compose
19GiteaServiços públicos3003~150 MBDocker Compose
20BorgBackupBackup~50 MBPlugin 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.

KitBATERCPUSistema de armazenamentoObservação
Mínimo (3-5 recipientes)4GBIntel N100 / CeleronSSD de 32 GBPortainer, Pi-hole, Jellyfin
Confortável (10 recipientes)8 GBi3 / Ryzen 3SSD de 64 GBConjunto completo de mídia + nuvem
Pilha completa (20 contêineres)16 GBi5 / Ryzen 5SSD de 128 GBTudo 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.

Algo não funcionou?
Informe-nos nos comentários — analisaremos seu caso específico. Inclua a versão do OMV, o contêiner e o conteúdo dos logs. Sem essas informações, fica difícil diagnosticar o problema.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *