mirror of
https://github.com/myronblair/novacpx
synced 2026-06-30 17:50:41 -05:00
Fix DockerManager stack directory creation using sudo mkdir for www-data
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -241,7 +241,12 @@ SH;
|
|||||||
public function createStack(?int $accountId, string $name, string $composeYaml): array {
|
public function createStack(?int $accountId, string $name, string $composeYaml): array {
|
||||||
$safeName = preg_replace('/[^a-z0-9_-]/', '', strtolower($name));
|
$safeName = preg_replace('/[^a-z0-9_-]/', '', strtolower($name));
|
||||||
$dir = "{$this->appsDir}/" . ($accountId ? "account-{$accountId}" : 'admin') . "/{$safeName}";
|
$dir = "{$this->appsDir}/" . ($accountId ? "account-{$accountId}" : 'admin') . "/{$safeName}";
|
||||||
if (!is_dir($dir)) mkdir($dir, 0750, true);
|
if (!is_dir($dir)) {
|
||||||
|
shell_exec('sudo mkdir -p ' . escapeshellarg($dir) . ' 2>/dev/null');
|
||||||
|
shell_exec('sudo chown www-data:www-data ' . escapeshellarg($dir) . ' 2>/dev/null');
|
||||||
|
shell_exec('sudo chmod 750 ' . escapeshellarg($dir) . ' 2>/dev/null');
|
||||||
|
}
|
||||||
|
if (!is_dir($dir)) throw new RuntimeException("Failed to create stack directory: {$dir}");
|
||||||
file_put_contents("{$dir}/docker-compose.yml", $composeYaml);
|
file_put_contents("{$dir}/docker-compose.yml", $composeYaml);
|
||||||
$this->db->execute(
|
$this->db->execute(
|
||||||
"INSERT INTO docker_compose_stacks (account_id, name, stack_dir, compose_file, status) VALUES (?,?,?,?,'pending')",
|
"INSERT INTO docker_compose_stacks (account_id, name, stack_dir, compose_file, status) VALUES (?,?,?,?,'pending')",
|
||||||
|
|||||||
Reference in New Issue
Block a user