40824c08a4
---
- Movido streams.json para /app/data/streams/streams.json; volume do compose mapeado especificamente em /app/data/streams, deixando logs fora do volume persistido;
- Adicionado scripts/reprovision.mjs que regenera stream.conf e tokens VNC a partir dos templates da imagem no startup, garantindo que updates de container não exijam recriar o volume;
- Removido autologin.template.sh por-stream; substituído por scripts/autologin.sh global na imagem, com variáveis passadas via environment= no supervisor conf (com valores entre aspas
para compatibilidade com valores vazios);
- Logs de processos por stream movidos de /app/data/streams/{id}/ para /app/data/logs/{id}/;
- Adicionada função recreateStream em supervisor.ts e rota POST /api/streams/[id]/recreate; botão "Recreate" adicionado ao menu do card para limpar chrome-profile e re-provisionar;
- Adicionado auto-disparo de captureThumb no GET /api/streams/[id]/thumb quando thumb.jpg não existe e nenhuma captura está em andamento;
- Dockerfile: adicionado --mount=type=cache para /var/cache/apt e /var/lib/apt/lists (não /var/lib/apt inteiro para evitar corrupção de estado); removido --no-cache do Makefile; remoção
de pacotes limitada a curl gnupg para evitar cascata em dependências do chromium/novnc;
- Migração automática de streams.json do caminho antigo adicionada ao entrypoint.sh;
---
18 lines
610 B
Bash
18 lines
610 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
mkdir -p /app/data/streams
|
|
mkdir -p /app/data/logs
|
|
mkdir -p /app/data/vnc-tokens
|
|
|
|
# Migrate streams.json from old location (/app/data/streams.json → /app/data/streams/streams.json)
|
|
if [ -f /app/data/streams.json ] && [ ! -f /app/data/streams/streams.json ]; then
|
|
mv /app/data/streams.json /app/data/streams/streams.json
|
|
echo "[entrypoint] migrated streams.json to /app/data/streams/streams.json"
|
|
fi
|
|
|
|
# Regenerate stream configs from current image templates before supervisord reads them
|
|
node /opt/scripts/reprovision.mjs
|
|
|
|
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|