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:
-
ZimaOS/Docker: mapeie o caminho do disco rígido externo no anfitrião para o contentor
immich-server. - 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
Depois, no Immich, o utilizador adicionou:
/external_library
como caminho de importação da biblioteca externa.
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
- Verifique
lsblk -f,ls /mediae o Armazenamento do ZimaOS primeiro. - Não parta do princípio de que precisa de um
/mntponto de montagem. - Prefira um caminho do anfitrião gerido pelo ZimaOS quando já existir um.
- Mapeie o caminho do anfitrião para o
immich-servercontentor. - Utilize um caminho claro para o contentor, como
/external_library/photos. - Utilize
:roquando o Immich apenas precisa de ler um arquivo. - Adicione o caminho exato do contentor em Administração do Immich → Bibliotecas externas.
- Analise a nova biblioteca e verifique se as tarefas estão a ser executadas.
- 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.
