Solução da comunidade

Monte uma unidade externa para o Immich no ZimaOS

A ZimaOS user could not create traditional /mnt mount points for four USB-connected HDDs. The thread clarified ZimaOS storage paths, Docker host/container mappings, and the two-step process for exposing an external drive to Immich.

Se o ZimaOS devolver mkdir: cannot create directory '/mnt/...': Read-only file system, não assuma que o próprio disco externo está avariado. No tópico da IceWhale Community de outubro de 2025, o utilizador estava a aplicar um /mnt processo para o ZimaOS, onde o sistema de ficheiros e a disposição do armazenamento são geridos de forma diferente.

A lição mais útil do tópico é separar duas tarefas: primeiro, garantir que o ZimaOS tem um caminho estável no anfitrião para o disco rígido externo; depois, mapear esse caminho do anfitrião para o contentor do Immich. O Immich só pode validar um caminho de biblioteca externa que exista dentro do seu contentor. A documentação atual do Immich continua a seguir o mesmo princípio do Docker, embora já não exija especificamente o caminho histórico do contentor /external_library.

Porque É Que /mnt Era Só de Leitura no Caso da Comunidade

O autor original tentou criar:

/mnt/terrabay1
/mnt/terrabay2
/mnt/terrabay3
/mnt/terrabay4

mas o ZimaOS devolveu:

mkdir: cannot create directory '/mnt/terrabay4': Read-only file system

Zima-Giorgio desaconselhou a modificação direta dos ficheiros de sistema do ZimaOS, exceto sob orientação especializada ou num ambiente de teste. A mesma resposta salientou que as unidades e partilhas geridas pelo ZimaOS aparecem normalmente em caminhos abaixo de /media e podem ser listados a partir do terminal.

Verifique Como o ZimaOS Já Montou a Unidade

Antes de desmontar ou editar /etc/fstab, inspecione o estado atual do armazenamento:

lsblk -f
ls /media
df -h

No tópico original, o ZimaOS já tinha exposto os quatro discos através de caminhos semelhantes a:

/media/sdb-ata-ST2000VN003-3CW1
/media/sdc-ata-ST2000VN003-3CW1

Se a unidade já estiver montada e estável através do ZimaOS, talvez nem seja necessário montá-la manualmente. Muitas vezes, a configuração mais simples do Immich consiste em utilizar o caminho existente do anfitrião ZimaOS como o lado esquerdo de um mapeamento de volume do Docker.

O Método Manual Histórico de Montagem Partilhado pelo Autor

O autor original acabou por documentar um método manual utilizando /etc/fstab entradas e pontos de montagem abaixo /DATA. Por exemplo:

sudo mkdir -p /DATA/Enclosure/Bay1
sudo mount /dev/sdb /DATA/Enclosure/Bay1

e depois um /etc/fstab linha com um UUID de disco real:

UUID=YOUR-REAL-UUID /DATA/Enclosure/Bay1 ext4 defaults,nofail,x-systemd.automount 0 0

seguido de:

sudo systemctl daemon-reload
sudo mount -a

Esta foi uma solução alternativa da comunidade no ZimaOS em 2025, não uma recomendação universal atual. Não copie os UUID nem os nomes de dispositivos do tópico, como /dev/sdb; pertencem ao hardware desse utilizador e podem mudar.

Um Pequeno Erro de Digitação Fazia Parte do Problema Original

O autor descobriu mais tarde que o Apple Notes tinha colocado automaticamente em maiúscula o primeiro carácter de algumas linhas de comando copiadas. Os comandos e caminhos do Linux distinguem maiúsculas de minúsculas, pelo que um comando copiado como Mkdir em vez de mkdir, ou um caminho com maiúsculas e minúsculas alteradas, irá falhar.

Ao preparar comandos no terminal, utilize um editor de texto simples e verifique as maiúsculas e minúsculas antes de colar.

As bibliotecas externas do Immich requerem dois passos separados

As respostas posteriores esclareceram a arquitetura:

  1. ZimaOS/Docker: mapeie o caminho do disco rígido externo no anfitrião para o contentor immich-server.
  2. Immich: crie uma biblioteca externa utilizando o caminho dentro do contentor do passo 1.

Se apenas o passo 2 for executado, a validação do Immich falha porque o caminho não existe dentro do contentor.

O exemplo do ZimaOS de 2025 utilizou /external_library

O membro da comunidade sny utilizou um conceito de mapeamento semelhante a:

Caminho no anfitrião ZimaOS: /media/USB_1/sny
Caminho do Immich:      /external_library
Definições do Immich no ZimaOS a mostrar um caminho USB externo mapeado para o contentor
O exemplo da comunidade mapeou um caminho existente no anfitrião ZimaOS para o contentor do Immich antes de o adicionar como biblioteca externa.

Depois, no Immich, o utilizador adicionou:

/external_library

como caminho de importação da biblioteca externa.

validação da configuração da biblioteca externa do Immich do caminho de importação dentro do contentor
O Immich valida o caminho visível dentro do contentor, não o caminho original no anfitrião ZimaOS.

O Immich atual não requer o nome /external_library

A documentação atual do Immich é mais flexível. O seu guia oficial sobre bibliotecas externas mostra caminhos arbitrários no anfitrião e no contentor, por exemplo:

immich-server:
  volumes:
    - /home/user/photos1:/home/user/photos1:ro
    - /mnt/photos2:/mnt/photos2:ro

A regra importante é que o caminho introduzido no Immich tem de corresponder exatamente ao caminho dentro do contentor. O nome /external_library era uma convenção conveniente no exemplo da comunidade ZimaOS, não um requisito do Immich oficial.

Preferir montagens só de leitura para bibliotecas de arquivo

A documentação atual do Immich recomenda adicionar :ro quando a biblioteca externa deve ser apenas lida pelo Immich:

/host/photos:/external_library:ro

Remova o modo só de leitura apenas se pretender intencionalmente que o Immich elimine recursos externos ou escreva metadados XMP complementares. Montar um arquivo em modo só de leitura reduz o risco de uma aplicação modificar os ficheiros originais.

Várias bibliotecas externas

A comunidade sugeriu caminhos de contentores separados, tais como:

/external_library/usb1
/external_library/usb2
/external_library/photos

Atualmente, o Immich também suporta vários pontos de montagem. Cada caminho de biblioteca tem de ser montado em immich-server e depois adicionado na página de administração de Bibliotecas externas do Immich.

O Immich copia as fotografias da biblioteca externa para a biblioteca principal?

Não. A documentação atual do Immich descreve as bibliotecas externas como recursos que permanecem na localização original do sistema de ficheiros. O Immich analisa-os, indexa os metadados, cria registos na base de dados e recursos derivados, como miniaturas, e apresenta-os na linha temporal.

Se um ficheiro externo desaparecer do disco, o Immich pode marcar o recurso como em falta ou movê-lo para o lixo após uma nova análise. Mantenha uma cópia de segurança independente da unidade externa.

Tenha cuidado ao editar o /etc/fstab no ZimaOS

O método manual da discussão original funcionou o suficiente para criar caminhos estáveis para as unidades, mas o autor comunicou posteriormente problemas adicionais com USB/migração. Uma entrada inválida no /etc/fstab a entrada também pode interferir com o arranque ou deixar o armazenamento indisponível.

Se o ZimaOS já gerir o disco e disponibilizar um /media/... caminho; prefira utilizar esse caminho existente para a montagem bind do Immich, em vez de reconstruir desnecessariamente a configuração de armazenamento do anfitrião.

Lista de verificação de unidades externas do Immich no ZimaOS

  1. Verifique lsblk -f, ls /mediae o Armazenamento do ZimaOS primeiro.
  2. Não parta do princípio de que precisa de um /mnt ponto de montagem.
  3. Prefira um caminho do anfitrião gerido pelo ZimaOS quando já existir um.
  4. Mapeie o caminho do anfitrião para o immich-server contentor.
  5. Utilize um caminho claro para o contentor, como /external_library/photos.
  6. Utilize :ro quando o Immich apenas precisa de ler um arquivo.
  7. Adicione o caminho exato do contentor em Administração do Immich → Bibliotecas externas.
  8. Analise a nova biblioteca e verifique se as tarefas estão a ser executadas.
  9. Faça uma cópia de segurança independente dos ficheiros originais da biblioteca externa, sem depender do Immich.

Perguntas frequentes sobre unidades externas do Immich no ZimaOS

Porque não consigo criar /mnt/terrabay1 no ZimaOS?

No caso da fonte, o sistema de ficheiros do sistema ZimaOS rejeitava gravações nesse local. O ZimaOS já geria o armazenamento externo através dos seus próprios caminhos de armazenamento, incluindo caminhos em /media.

Tenho de editar o /etc/fstab?

Nem sempre. O autor da fonte utilizou o fstab para uma configuração de montagem personalizada baseada num UUID, mas, se o ZimaOS já montar a unidade de forma fiável, utilizar o caminho existente no anfitrião é mais simples e menos invasivo.

O caminho do Immich tem de ser /external_library?

Não. Essa era a convenção da comunidade ZimaOS. Atualmente, o Immich permite caminhos montados arbitrários, desde que seja introduzido o mesmo caminho do contentor nas definições da Biblioteca externa.

Uma biblioteca externa do Immich copia os meus originais?

Não. Os ficheiros permanecem na localização externa original; o Immich indexa-os e cria os metadados associados e os recursos derivados.