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"/
|
"$EFFECTIVE_APP_DIR"/ "$DEST"/
|
||||||
echo "Published build to: $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)
|
- name: Swarm deploy (stack.yml)
|
||||||
run: |
|
run: |
|
||||||
cd "$EFFECTIVE_APP_DIR"
|
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`).
|
- Verifique CORS/credenciais (`Access-Control-Allow-Credentials: true`).
|
||||||
- Garante que estamos usando `cookies.set` para aplicar todos os cookies da Better Auth.
|
- 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.
|
- 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
|
## Requisitos
|
||||||
- VPS com Docker/Swarm e Traefik já em execução na rede externa `traefik_public`.
|
- 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