Wrapper sem customizacao da imagem oficial Nextcloud Community Apache. A imagem upstream e fixada por digest; o wrapper acrescenta labels OCI e uma verificacao HTTP local de saude. O objetivo e manter o contrato de runtime upstream sem embutir configuracao, dados ou credenciais.
| Item | Valor |
|---|---|
| Imagem | lzocateli/nextcloud:35.0.1-r1 |
| Imagem base | nextcloud:35.0.1-apache@sha256:276547e033df451770dbf9c0065929e5ea179a613b1884bd3fa807ba1c2703e7 |
| Release consultada | 35.0.1, upstream latest.txt, 2026-09-28 |
| Plataformas declaradas | linux/amd64 |
| Usuario padrao | root; o entrypoint upstream prepara os volumes e o Apache atende como www-data |
| Entry point e comando | Preservados da imagem oficial upstream |
| Porta | 80/tcp |
| Persistencia upstream | /var/www/html (inclui config, custom_apps e data) |
| Codigo-fonte | https://github.com/lzocateli/containers/tree/main/nextcloud |
| Documentacao | https://github.com/lzocateli/containers/tree/main/nextcloud |
O digest fixado no Dockerfile e o manifesto OCI multi-arquitetura consultado no Docker Hub. A publicacao deste wrapper continua pendente; nao ha digest lzocateli/nextcloud atribuido ainda.
/status.php.O comando abaixo serve somente para teste local isolado. Em producao, nao publique a porta do Nextcloud diretamente; use o gateway mTLS descrito no projeto Ansible.
docker pull lzocateli/nextcloud:35.0.1-r1
docker run --rm --publish 127.0.0.1:8080:80 lzocateli/nextcloud:35.0.1-r1
Exemplo de contrato minimo, sem secrets reais. A stack de producao e gerenciada em ansible/ e nao deve copiar este exemplo isolado.
services:
nextcloud:
image: lzocateli/nextcloud:35.0.1-r1
restart: unless-stopped
volumes:
- /mnt/pve_pool/nextcloud/html:/var/www/html
expose:
- "80"
| Variavel | Obrigatoria | Secreta | Padrao | Descricao |
|---|---|---|---|---|
POSTGRES_HOST, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD | Na instalacao | Senha sim | Nenhum | Configuracao inicial para PostgreSQL externo; a senha deve ser entregue por secret/runtime seguro. |
NEXTCLOUD_ADMIN_USER, NEXTCLOUD_ADMIN_PASSWORD | No bootstrap automatizado | Senha sim | Nenhum | Conta administrativa inicial; remover do ambiente apos o bootstrap quando possivel. |
REDIS_HOST, REDIS_HOST_PASSWORD | Para cache e file locking | Senha sim | Nenhum | Redis existente; reservar e validar um dbindex exclusivo antes de instalar. |
NEXTCLOUD_TRUSTED_DOMAINS | Sim neste servico | Nao | Nenhum | Deve conter nextcloud.lzoca. |
TRUSTED_PROXIES | Sim neste servico | Nao | Nenhum | Endereco do proxy 172.16.10.30. |
OVERWRITEHOST, OVERWRITEPROTOCOL | Sim neste servico | Nao | Nenhum | nextcloud.lzoca e https para o proxy TLS externo. |
PHP_UPLOAD_LIMIT, APACHE_BODY_LIMIT | Recomendado | Nao | Upstream | Ajustar em conjunto ao limite configurado no proxy; alvo operacional inicial de 10 GiB. |
Os nomes e comportamentos das variaveis de bootstrap sao herdados da documentacao upstream. A automacao de producao deve injetar os valores via Ansible Vault, nao por .env versionado ou argumentos de build.
| Porta | Protocolo | Exposicao recomendada | Finalidade |
|---|---|---|---|
80/tcp | HTTP | Somente rede Docker privada | Apache interno; nunca publicada no host TrueNAS. |
| Caminho no conteiner | Modo | Conteudo | Backup necessario |
|---|---|---|---|
/var/www/html | rw | Aplicacao, configuracao, apps adicionados e arquivos dos usuarios | Sim |
A imagem oficial espera privilegios de root no entrypoint para preparar volumes; o processo web baixa privilegios para www-data (UID 33 na variante Debian). Confirmar UID/GID e ownership efetivos da tag antes de criar os diretorios em TrueNAS. Nao usar submounts adicionais sem verificar o upgrade.exclude upstream.
O health check consulta http://127.0.0.1/status.php pelo PHP CLI. Ele confirma que o endpoint Apache responde HTTP 200, mas nao certifica disponibilidade do PostgreSQL, Redis, cron, proxy ou login. Durante o bootstrap a instalacao pode ainda nao estar pronta; o start-period de 10 minutos cobre a inicializacao inicial sem transformar o health check em teste funcional. O smoke test valida instalacao, PostgreSQL, Redis e persistencia separadamente.
ENTRYPOINT e o CMD oficiais sao preservados; a imagem nao substitui scripts de bootstrap e upgrade do upstream./var/www/html, executando o comando upstream /cron.sh; o health check HTTP deve ser desativado nesse servico.occ depois do bootstrap.ARG, ENV de build ou arquivos rastreados em claro.www-data.linux/amd64; atualizacoes exigem nova tag imutavel e validacao.docker buildx build --pull --platform linux/amd64 \
--tag lzocateli/nextcloud:35.0.1-r1 --load nextcloud
bash nextcloud/scripts/smoke-test.sh --image lzocateli/nextcloud:35.0.1-r1
O wrapper nao adiciona dependencias, pacotes ou arquivos ao build context. Consulte containers/.github/skills/container-image-maintenance/SKILL.md para gates de build, scan e publicacao.
| Tag | Mutabilidade | Compatibilidade | Uso recomendado |
|---|---|---|---|
35.0.1-r1 | Imutavel apos publicacao | Nextcloud Community 35.0.1 Apache | Implantacao controlada apos valida e publicacao autorizadas |
Nao existe tag latest de producao. A tag nao deve ser reutilizada. Ainda nao publicada.
Validados localmente: BuildKit --check sem warnings; build linux/amd64; scripts/smoke-test.sh (bootstrap PostgreSQL, file locking Redis, health e persistencia); inspecao de usuario/entrypoint/CMD/labels/porta/volume/health check; Trivy linux/amd64 sem CRITICAL corrigivel. O relatorio apontou 19 vulnerabilidades HIGH com correcao disponivel na imagem upstream; nenhuma foi ocultada ou ignorada. Evidencia local: containers/artifacts/security-local/trivy-nextcloud-35.0.1-r1.json. Ainda executar git check-ignore, gerar SBOM/proveniencia na release e confirmar novamente a base antes de publicar.
Publicacao somente pelo workflow oficial apos autorizacao explicita, com contexto nextcloud, imagem nextcloud, tag imutavel 35.0.1-r1, Dockerfile Dockerfile e plataforma linux/amd64. Registre o digest do manifest publicado no inventario Ansible depois de confirmar o resultado remoto.
/var/www/html; testar restore conjunto antes de declarar recuperacao.| Sintoma | Causa provavel | Verificacao | Correcao |
|---|---|---|---|
Health unhealthy no bootstrap | Apache ainda inicializando ou banco indisponivel | Logs do container e occ status | Verificar DB/rede e aguardar o start period; nao publicar a porta direta |
| Falha de permissao no volume | Ownership nao corresponde ao contrato upstream | UID/GID do www-data e logs do entrypoint | Corrigir ownership pelo procedimento aprovado depois de medir a imagem |
| Loop de redirecionamento ou URL HTTP | Proxy/trusted domains/overwrite divergentes | occ config:list system sem --private | Ajustar dominio, trusted proxy e protocolo na automacao |
| Redis indisponivel | Autenticacao, dbindex ou capacidade incorretos | Logs e occ sem imprimir credenciais | Validar senha e dbindex; nao reiniciar Redis compartilhado fora da janela |
pve_pool, espaco livre, regras de rede, PostgreSQL, Redis, DNS, certificados e recursos do TrueNAS nao foi aferida.| Componente | Versao | Licenca | Fonte |
|---|---|---|---|
| Conteudo original deste repositorio | Atual | MIT | https://github.com/lzocateli/containers |
| Nextcloud Community Docker image | 35.0.1 | AGPL-3.0 (confirmar avisos distribuidos) | https://github.com/nextcloud/docker |
| PHP/Apache base upstream | Conforme imagem 35.0.1 | Licencas dos componentes | https://hub.docker.com/_/nextcloud |
O badge MIT descreve somente o conteudo original deste repositorio. A imagem inclui componentes de terceiros que permanecem sujeitos aos termos e avisos de suas fontes. Consulte a politica de licenciamento, preserve as atribuicoes upstream e verifique tambem os avisos distribuidos dentro da imagem.
Content type
Image
Digest
sha256:d37bd86e1…
Size
491.3 MB
Last updated
6 days ago
docker pull lzocateli/nextcloud:35.0.1-r1