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:
@@ -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}`;
|
||||||
|
|||||||
Reference in New Issue
Block a user