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:
1 parent
0f2c32ae3d
commit
8b355e8edb
3 files changed
+18
-6
No files matched your search
@@ -3,3 +3,5 @@
|
|||||||
NOTES_TOKEN=troque-este-token
|
NOTES_TOKEN=troque-este-token
|
||||||
# Porta do host (opcional):
|
# Porta do host (opcional):
|
||||||
# NOTAS_PORT=9090
|
# 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
|
||||||
@@ -120,8 +120,16 @@ docker compose up -d
|
|||||||
Se a porta 8080 estiver ocupada: `NOTAS_PORT=9090 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`.
|
Com **Podman**: tudo acima funciona igualmente com `podman-compose`.
|
||||||
|
|
||||||
Os dados ficam no volume nomeado `notas-data` — `docker compose down` não os apaga
|
Os dados ficam no diretório local **`./data`** (bind mount, ao lado do
|
||||||
(não use `down -v` se quiser preservá-los). Faça backup copiando o volume.
|
`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
|
## Como rodar sem Docker
|
||||||
|
|
||||||
|
|||||||
+6
-4
@@ -11,10 +11,12 @@ services:
|
|||||||
NOTES_TOKEN: ${NOTES_TOKEN:?defina NOTES_TOKEN em .env ou no ambiente}
|
NOTES_TOKEN: ${NOTES_TOKEN:?defina NOTES_TOKEN em .env ou no ambiente}
|
||||||
NOTES_DATA_DIR: /data
|
NOTES_DATA_DIR: /data
|
||||||
volumes:
|
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
|
restart: unless-stopped
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
volumes:
|
|
||||||
notas-data:
|
|
||||||
Reference in new issue
Block a user