chore(compose): dados em bind mount ./data em vez de volume nomeado

- volumes: ./data:/data; removido o bloco top-level de volumes
- user: override NOTAS_USER (default 65534:65534) — com Podman rootless,
  NOTAS_USER=0:0 mapeia para o usuário do host e escreve em ./data sem chown
- .gitignore já cobria /data/; README documenta backup e permissões
- Verificado: notas criadas via API aparecem em ./data (dono lgcosta) e
  sobrevivem a podman-compose down
This commit is contained in:
lgcosta committed 2026-11-04 12:19:49 -03:00
1 parent 0f2c32ae3d
commit 8b355e8edb
3 files changed
+18 -6

No files matched your search

+2
View File
@@ -3,3 +3,5 @@
NOTES_TOKEN=troque-este-token
# Porta do host (opcional):
# NOTAS_PORT=9090
# Podman rootless: use 0:0 (mapeia para o seu usuário no host, escreve em ./data sem chown):
# NOTAS_USER=0:0
+10 -2
View File
@@ -120,8 +120,16 @@ docker compose up -d
Se a porta 8080 estiver ocupada: `NOTAS_PORT=9090 docker compose up -d`.
Com **Podman**: tudo acima funciona igualmente com `podman-compose`.
Os dados ficam no volume nomeado `notas-data` — `docker compose down` não os apaga
(não use `down -v` se quiser preservá-los). Faça backup copiando o volume.
Os dados ficam no diretório local **`./data`** (bind mount, ao lado do
`docker-compose.yml`) — já ignorado pelo `.gitignore`. Backup = copiar a pasta;
`docker compose down` não apaga nada.
Permissões do `./data` (a imagem roda como uid 65534, non-root):
- **Podman rootless**: adicione `NOTAS_USER=0:0` ao `.env` — dentro do container
isso é mapeado para o **seu** usuário no host, que é dono de `./data`.
- **Docker (root)**: `sudo chown -R 65534:65534 data` (ou rode o container com
`NOTAS_USER=$(id -u):$(id -g)` e ajuste a dona da pasta em conformidade).
## Como rodar sem Docker
+6 -4
View File
@@ -11,10 +11,12 @@ services:
NOTES_TOKEN: ${NOTES_TOKEN:?defina NOTES_TOKEN em .env ou no ambiente}
NOTES_DATA_DIR: /data
volumes:
- notas-data:/data
# Dados no diretório local ./data (backup = copiar a pasta)
- ./data:/data
# A imagem roda como 65534 (non-root). No Podman rootless defina
# NOTAS_USER=0:0 no .env — vira o SEU usuário no host e pode escrever em ./data.
# No Docker, garanta permissão: sudo chown -R 65534:65534 data
user: "${NOTAS_USER:-65534:65534}"
restart: unless-stopped
security_opt:
- no-new-privileges:true
volumes:
notas-data: