Corrigir publicação: usar caddy reload ao invés de recriar container

Remove a modificação do docker-compose.yml (volumes individuais por
projeto não são mais necessários) e substitui docker compose up por
docker exec caddy caddy reload, que funciona corretamente de dentro
do container.
This commit is contained in:
Frederico Castro
2026-02-28 04:58:17 -03:00
parent 1606efa09f
commit 884e8802bd

View File

@@ -1298,27 +1298,11 @@ router.post('/files/publish', async (req, res) => {
} }
} }
const composePath = `${VPS_COMPOSE_DIR}/docker-compose.yml`;
if (existsSync(composePath)) {
const composeContent = readFileSync(composePath, 'utf-8');
const volumeLine = `/home/projetos/${basename(targetPath)}:/srv/${projectName}:ro`;
if (!composeContent.includes(volumeLine)) {
const updated = composeContent.replace(
/(- .\/caddy\/config:\/config)/,
`$1\n - ${volumeLine}`
);
writeFileSync(composePath, updated);
steps.push('Volume adicionado ao docker-compose');
} else {
steps.push('Volume já configurado');
}
}
try { try {
await exec(`docker compose -f ${VPS_COMPOSE_DIR}/docker-compose.yml up -d --force-recreate --no-deps caddy`, { cwd: VPS_COMPOSE_DIR }); await exec('docker exec caddy caddy reload --config /etc/caddy/Caddyfile');
steps.push('Caddy reiniciado'); steps.push('Caddy recarregado');
} catch (e) { } catch (e) {
steps.push(`Caddy: reinício manual necessário (${e.message})`); steps.push(`Caddy: reload necessário (${e.message})`);
} }
const siteUrl = `https://${projectName}.${DOMAIN}`; const siteUrl = `https://${projectName}.${DOMAIN}`;