ci: corrigir permissões do sqlite em produção
This commit is contained in:
parent
645829950c
commit
4cd026ef02
2 changed files with 23 additions and 0 deletions
22
.github/workflows/ci-cd-web-desktop.yml
vendored
22
.github/workflows/ci-cd-web-desktop.yml
vendored
|
|
@ -216,6 +216,28 @@ jobs:
|
|||
"$EFFECTIVE_APP_DIR"/ "$DEST"/
|
||||
echo "Published build to: $DEST"
|
||||
|
||||
- name: Ensure SQLite volume ownership (sistema_db)
|
||||
run: |
|
||||
set -e
|
||||
VOLUME_NAME="sistema_sistema_db"
|
||||
if ! docker volume inspect "$VOLUME_NAME" >/dev/null 2>&1; then
|
||||
echo "Volume $VOLUME_NAME não encontrado; pulando ajuste de permissões"
|
||||
exit 0
|
||||
fi
|
||||
echo "Ajustando permissões em $VOLUME_NAME..."
|
||||
docker run --rm -v "$VOLUME_NAME":/data alpine:3 sh -lc '
|
||||
set -e
|
||||
chown -R 1000:1000 /data 2>/dev/null || true
|
||||
chmod -R ug+rwX /data 2>/dev/null || true
|
||||
if [ ! -e /data/db.sqlite ]; then
|
||||
touch /data/db.sqlite
|
||||
chown 1000:1000 /data/db.sqlite 2>/dev/null || true
|
||||
chmod 660 /data/db.sqlite 2>/dev/null || true
|
||||
fi
|
||||
ls -ld /data && ls -l /data/db.sqlite
|
||||
'
|
||||
echo "Permissões do volume ajustadas com sucesso"
|
||||
|
||||
- name: Swarm deploy (stack.yml)
|
||||
run: |
|
||||
cd "$EFFECTIVE_APP_DIR"
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ Nota: este documento foi substituído por `docs/operations.md` e permanece aqui
|
|||
- Verifique CORS/credenciais (`Access-Control-Allow-Credentials: true`).
|
||||
- Garante que estamos usando `cookies.set` para aplicar todos os cookies da Better Auth.
|
||||
- Refaça o handshake (feche reabra o desktop). Opcional: renomeie `EBWebView` para limpar cookies no Windows.
|
||||
4. Se o app desktop exibir `Falha no registro (500)` com `attempt to write a readonly database`, o volume `sistema_sistema_db` ficou com permissões incorretas (SQLite não consegue gravar). Rode `docker run --rm -v sistema_sistema_db:/data alpine:3 sh -lc 'chown -R 1000:1000 /data && chmod -R ug+rwX /data'` ou simplesmente dispare um deploy (o workflow CI agora corrige as permissões antes de publicar).
|
||||
|
||||
## Requisitos
|
||||
- VPS com Docker/Swarm e Traefik já em execução na rede externa `traefik_public`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue