Sign inSign up

lzocateli/immich-postgres

By lzocateli

•Updated 25 days ago

Image
0

269

lzocateli/immich-postgres repository overview

⁠Immich PostgreSQL

Docker Hub Version Base Platforms Repository code license Build

PostgreSQL 14 com VectorChord 0.4.3 e pgvectors 0.2.0 para Immich v3.2.4. O wrapper atualiza libgnutls30, libssl3, openssl e a família Perl para 5.36.0-7+deb12u4, corrigindo os CVEs Perl bloqueantes do scan. Também substitui o gosu upstream por 1.19 compilado com Go 1.27.1. Preserva scripts, usuário, entrypoint, volume e health check oficiais.

⁠Referência da imagem

ItemValor
Imagem previstalzocateli/immich-postgres:14-vc0.4.3-pgv0.2.0-v2
Baseghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
Plataformas declaradaslinux/amd64 (upstream também fornece linux/arm64)
Usuário, entrypoint e comandoConfig.User vazio (root inicial); /usr/local/bin/immich-docker-entrypoint.sh, postgres -c config_file=/etc/postgresql/postgresql.conf
Persistência/var/lib/postgresql/data no dataset local
Código-fonte e documentaçãoRepositório da imagem⁠

⁠Conteúdo e finalidade

Inclui o banco e as extensões empacotadas no upstream para o Immich, pacotes Debian com correções de segurança e gosu reconstruído em estágio temporário. Não inclui o compilador Go no runtime nem dados, backups, senhas ou serviço de aplicação. Não troque esta imagem pelo PostgreSQL genérico sem plano de migração das extensões.

⁠Início rápido

docker buildx build --pull --platform linux/amd64 --load -t lzocateli/immich-postgres:14-vc0.4.3-pgv0.2.0-v2 immich-postgres

Não execute contra o volume de produção para testar a imagem.

⁠Docker Compose

services:
  database:
    image: lzocateli/immich-postgres:14-vc0.4.3-pgv0.2.0-v2
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: "--data-checksums"
    volumes:
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    shm_size: 128mb
    restart: always

⁠Configuração

VariávelObrigatóriaSecretaFunção
DB_DATA_LOCATIONSim, no ComposeNãoDataset local do host, persistido no data directory.
DB_PASSWORD / POSTGRES_PASSWORDSimSimSenha fornecida em runtime; não colocar em Dockerfile/README.
DB_USERNAME / POSTGRES_USERSimNãoUsuário compartilhado com o servidor.
DB_DATABASE_NAME / POSTGRES_DBSimNãoBanco compartilhado com o servidor.
POSTGRES_INITDB_ARGSSomente na criação do volumeNão--data-checksums no bootstrap.

Não publique 5432/tcp no host. O mount /var/lib/postgresql/data precisa ser gravável pelo UID/GID efetivo; prefira armazenamento local e não NFS/SMB. O volume é obrigatório para backup e restore consistentes; POSTGRES_INITDB_ARGS não reconfigura um banco já criado.

⁠Inicialização e ciclo de vida

O entrypoint upstream cria o banco no volume vazio e preserva os dados nos reinícios. Migrações da aplicação e extensões devem ser feitas conforme a release Immich correspondente. Health check é herdado da base; confirme o estado real após o build. Faça dump consistente e snapshot do dataset antes de upgrades.

⁠Segurança

Limite acesso ao volume e à rede Compose, injete a senha em runtime, mantenha o banco fora de portas públicas e confirme usuário e capacidades efetivas antes de impor restrições adicionais. Não reutilize o dataset com outra major do PostgreSQL sem procedimento de upgrade.

⁠Build local

docker buildx build --check --file immich-postgres/Dockerfile immich-postgres
docker buildx build --pull --platform linux/amd64 --load -t lzocateli/immich-postgres:14-vc0.4.3-pgv0.2.0-v2 immich-postgres

⁠Tags e compatibilidade

TagMutabilidadeUso
14-vc0.4.3-pgv0.2.0-v2Imutável após publicaçãoMesmo PostgreSQL 14 e extensões, com Debian e Perl atualizados e gosu corrigido.

Não publique latest nem sobrescreva 14-vc0.4.3-pgv0.2.0-v2 depois de publicada. A tag v1 não foi encontrada no Docker Hub.

⁠Validação

O run de publicação da tag v1 foi bloqueado pelo Trivy 0.70.0: os pacotes libperl5.36, perl, perl-base e perl-modules-5.36 estavam em 5.36.0-7+deb12u2, com correção 5.36.0-7+deb12u4 para os CVEs CVE-2026-13221, CVE-2026-42496 e CVE-2026-8376. A revisão v2 atualiza explicitamente essa família Perl junto dos pacotes de segurança já atualizados. Build linux/amd64, gate local do Trivy 0.72.0 com banco atualizado, inicialização PostgreSQL descartável e disponibilidade de vchord, vector e vectors passaram. Os quatro pacotes Perl estão em 5.36.0-7+deb12u4; o gate encontrou zero CRITICAL corrigíveis. O relatório completo mantém 93 HIGH e 3 CRITICAL sem versão corrigida: CVE-2023-45853 (zlib1g), CVE-2025-7458 (libsqlite3-0) e CVE-2026-6653 (libxml2). Esses achados permanecem visíveis e devem ser reavaliados quando houver versões corrigidas; nenhuma exceção foi adicionada. O estágio Go de build é descartado; apenas o binário gosu é copiado para a imagem final.

⁠Publicação

No workflow Publicar imagem de container, use context_path=immich-postgres, image_name=immich-postgres, image_tag=14-vc0.4.3-pgv0.2.0-v2, dockerfile=Dockerfile, platforms=linux/amd64 após os gates da release. Não publique antes do gate Trivy passar.

⁠Operação

Agende dump e snapshots consistentes, monitore espaço e teste restores com a mesma imagem/extensões. Rollback após migração requer restaurar o backup pré-upgrade, não apenas trocar a imagem.

⁠Troubleshooting

SintomaVerificaçãoCorreção
Banco não sobeLogs, permissões e espaço do volumeCorrigir ACL e capacidade, sem apagar dados.
Extensão indisponívelVersões da imagem e da aplicaçãoUsar release compatível antes de migrar.

⁠Limitações conhecidas

Não oferece upgrade automático entre majors nem substitui um plano de backup de dados.

⁠Licenças e fontes

ComponenteLicençaFonte
Conteúdo original deste repositórioMITcontainers⁠
Imagem PostgreSQL empacotada pelo ImmichAvisos upstream e dependênciasPacote upstream⁠
PostgreSQLPostgreSQL LicenseLicença oficial⁠

MIT cobre apenas o conteúdo original deste repositório. Confirme os avisos de VectorChord, pgvectors e demais componentes na imagem e consulte a política de licenciamento⁠.

⁠Histórico de alterações

  • 14-vc0.4.3-pgv0.2.0-v2: atualiza a família Perl para corrigir os CVEs bloqueantes do Trivy.
  • 14-vc0.4.3-pgv0.2.0-v1: primeira revisão de segurança; a publicação foi bloqueada por CVEs corrigíveis na família Perl.
  • 14-vc0.4.3-pgv0.2.0: wrapper inicial do banco da release Immich v2.6.3.

Tag summary

Content type

Image

Digest

sha256:21a55414d…

Size

213.6 MB

Last updated

25 days ago

docker pull lzocateli/immich-postgres:14-vc0.4.3-pgv0.2.0-v2