fix(docker): inicializar permissoes do storage com seguranca
ci / lint, typecheck, testes e build (push) Has been cancelled
ci / Postgres e Redis reais (push) Has been cancelled
ci / imagem Docker Linux (push) Has been cancelled

This commit is contained in:
Ferraz Fagundes committed 2026-10-16 23:47:38 -03:00
1 parent e142a44c01
commit 2be97ea969
8 files changed
+421 -3

No files matched your search

+24
View File
@@ -41,6 +41,26 @@ services:
retries: 20
networks: [adaptador]
# Prepara o volume do armazenamento antes de web e worker e termina. É o único
# passo como root: sem rede, só com as capacidades de ajustar dono e trocar de
# usuário para provar a escrita como uid 1001. Idempotente e sem recursão.
storage-init:
image: ${ADAPTER_IMAGE:-adaptador-planilhas:local}
build:
context: .
target: runner
command: ["prepare-storage"]
user: "0:0"
network_mode: none
cap_drop: [ALL]
cap_add: [CHOWN, FOWNER, DAC_OVERRIDE, DAC_READ_SEARCH, SETUID, SETGID]
security_opt: ["no-new-privileges:true"]
healthcheck:
disable: true
restart: "no"
volumes:
- app-storage:/app/.data
web:
# Com ADAPTER_IMAGE definido, usa a imagem já construída (o CI faz isso).
# Sem ela, `up --build` constrói e marca com este nome.
@@ -67,6 +87,8 @@ services:
volumes:
- app-storage:/app/.data
depends_on:
storage-init:
condition: service_completed_successfully
postgres:
condition: service_healthy
redis:
@@ -92,6 +114,8 @@ services:
retries: 3
stop_grace_period: 30s
depends_on:
storage-init:
condition: service_completed_successfully
web:
condition: service_started
postgres: