Estruture a pilha em torno de três recursos separados: definições Compose com controlo de versões, segredos protegidos e dados persistentes com o respetivo processo de cópia de segurança e restauro.
Num servidor doméstico ou de uma pequena equipa, o sistema operativo e os contentores devem ser substituíveis. O projeto Compose descreve os serviços pretendidos, o sistema de segredos disponibiliza as credenciais durante a implementação e os caminhos de dados identificados guardam o estado. A recuperação só é bem-sucedida quando estas três funções podem ser reunidas num anfitrião limpo, com base em registos guardados fora da máquina avariada.
Defina os limites da reconstrução antes de escrever o Compose
Considere substituíveis o sistema operativo do anfitrião, o runtime dos contentores e as imagens transferidas. Trate os ficheiros Compose, a configuração personalizada, as credenciais, as bases de dados, os carregamentos, os certificados e as chaves de encriptação de acordo com a sua verdadeira função na recuperação.
Crie uma linha de inventário por serviço: imagem e versão, portas, dependências, nomes dos segredos, caminhos persistentes, método de cópia de segurança e validação do restauro. O inventário revela dados de estado que, de outro modo, ficariam ocultos no sistema de ficheiros do contentor.
Interrompa o processo se alguma aplicação guardar dados insubstituíveis na camada de escrita do contentor. Mova esse caminho para um volume explícito ou uma montagem vinculada antes de considerar a pilha reproduzível.
Controle as versões das definições sem incluir segredos
Guarde os ficheiros Compose, a configuração não sensível, as verificações de estado e as notas de implementação no controlo de versões. Fixe as versões ou os resumos criptográficos das imagens de acordo com a sua política de atualizações, para que uma nova compilação não selecione silenciosamente uma versão diferente da aplicação.
Não coloque palavras-passe reais, chaves de API ou certificados privados no ficheiro Compose ou no repositório. Uma explicação prática sobre como manter os segredos do Docker fora do código-fonte esclarece por que motivo as credenciais precisam de um método de disponibilização separado.
Guarde no controlo de versões um manifesto com os nomes dos segredos e valores de substituição; depois, mantenha os valores num gestor de palavras-passe encriptado, num ficheiro encriptado ou num serviço de segredos que possa ser restaurado de forma independente.
Atribua responsáveis e caminhos explícitos aos dados persistentes
Separe a base de dados de cada aplicação, os carregamentos dos utilizadores, a cache gerada e as miniaturas substituíveis. Faça cópias de segurança dos dados persistentes e documente as caches que podem ser regeneradas, para evitar restaurar dados desnecessários.
Utilize caminhos estáveis e legíveis no anfitrião ou volumes com nome cuidadosamente documentados. As permissões têm de ser definidas através de IDs numéricos ou de uma etapa de inicialização, para que um anfitrião limpo não dependa de uma base de dados de nomes de utilizador local antiga.
No caso das bases de dados, coordene exportações lógicas ou instantâneos consistentes com a aplicação, em vez de copiar ficheiros ativos sem critério. Mantenha o destino das exportações fora do volume da aplicação, para que uma pilha avariada não possa apagar a sua única cópia de segurança.
Conceba as atualizações como implementações reversíveis
Antes de atualizar, registe a revisão atual do Compose, os identificadores das imagens, a configuração e uma cópia recente e recuperável do estado alterado. Transferir uma nova imagem não é um plano de reversão quando a aplicação também migra a base de dados.
Um guia de autoalojamento mostra como o Compose centraliza as definições de vários contentores e os comandos operacionais. Utilize esse padrão de implementação baseado no Compose, mantendo o estado e as credenciais fora da camada descartável.
Atualize um grupo de dependências de cada vez, execute verificações de integridade e de início de sessão e, em seguida, registe a revisão comprovadamente estável. Se a reversão exigir um formato de base de dados mais antigo, restaure para um caminho separado e valide antes de mudar os clientes.
Comprove a pilha num anfitrião de recuperação limpo
Utilize uma VM descartável ou uma máquina suplente. Instale apenas os pré-requisitos documentados, clone as definições, restaure os segredos pelo canal aprovado, restaure os dados de uma aplicação e inicie a cadeia de dependências pela ordem correta.
Valide mais do que o estado dos contentores: inicie sessão, leia um registo conhecido, crie e elimine um item de teste, reinicie o anfitrião e confirme que a monitorização das cópias de segurança indica a nova localização. Registe cada correção manual não documentada como uma falha no processo de compilação.
Consulte o guia da ZimaSpace para separar os segredos do Docker dos ficheiros Compose ao escolher o mecanismo de entrega das credenciais.
Regra final de configuração
A configuração está concluída quando um anfitrião limpo consegue recriar as definições dos serviços, receber segredos sem os expor no repositório, restaurar o estado persistente e concluir uma validação ao nível da aplicação. Só avance para a orquestração quando vários anfitriões precisarem do mesmo fluxo de trabalho controlado.
Configuração de NAS e servidor
Mais para ler

Um servidor no dormitório pode funcionar silenciosamente o suficiente para dormir, estudar e fazer videochamadas?
Sim - um servidor num dormitório pode passar despercebido se o hardware consumir pouca energia, as vibrações do armazenamento forem controladas, as tarefas mais...

Um homelab de estudante que pode passar do quarto da residência universitária para o primeiro apartamento
Mantenha um homelab de estudante portátil, separando os serviços da rede específica de cada divisão, minimizando o hardware, criando cópias de segurança do estado...

Como partilhar um servidor doméstico com colegas de casa sem partilhar contas nem ficheiros privados
Dê a cada pessoa que partilha a casa uma identidade própria, armazenamento privado e apenas os privilégios partilhados de que precisa; mantenha a administração,...



