n8n container deployment improvement

This commit is contained in:
usmannasir
2025-04-09 17:19:08 +05:00
parent 339e053442
commit 69df91d355

View File

@@ -819,38 +819,39 @@ services:
f"{base_dir}/.n8n/credentials"
]
# Create directories and set ownership/permissions
# First create all directories
for directory in required_dirs:
command = f"mkdir -p {directory}"
ProcessUtilities.executioner(command)
command = f"chown -R 1000:1000 {directory}"
ProcessUtilities.executioner(command)
command = f"chmod 755 {directory}"
ProcessUtilities.executioner(command)
# Write config directly to final location
config_file = f"{base_dir}/.n8n/.n8n/config"
with open(config_file, 'w') as f:
json.dump(config_content, f, indent=2)
# Set proper ownership and permissions on config file
command = f"chown 1000:1000 {config_file}"
# Set ownership of base directory first
command = f"chown -R 1000:1000 {base_dir}"
ProcessUtilities.executioner(command)
command = f"chmod 644 {config_file}"
# Set directory permissions
command = f"find {base_dir} -type d -exec chmod 755 {{}} \\;"
ProcessUtilities.executioner(command)
# Write config to a temporary file first
temp_config = f'/home/cyberpanel/{str(randint(1000, 9999))}-config.json'
with open(temp_config, 'w') as f:
json.dump(config_content, f, indent=2)
# Set proper ownership and permissions on temp file
command = f"chown 1000:1000 {temp_config}"
ProcessUtilities.executioner(command)
command = f"chmod 644 {temp_config}"
ProcessUtilities.executioner(command)
# Move config to final location
config_file = f"{base_dir}/.n8n/.n8n/config"
command = f"mv {temp_config} {config_file}"
ProcessUtilities.executioner(command)
# Create empty .gitignore to prevent permission issues
command = f"touch {base_dir}/.n8n/.gitignore"
ProcessUtilities.executioner(command)
command = f"chown 1000:1000 {base_dir}/.n8n/.gitignore"
ProcessUtilities.executioner(command)
command = f"chmod 644 {base_dir}/.n8n/.gitignore"
ProcessUtilities.executioner(command)
# Final permission check on the entire directory
command = f"chown -R 1000:1000 {base_dir}"
@@ -873,6 +874,10 @@ services:
command = f"chmod 600 {debug_file}"
ProcessUtilities.executioner(command)
# Verify permissions
command = f"ls -la {base_dir}/.n8n/.n8n/"
ProcessUtilities.outputExecutioner(command)
except BaseException as msg:
logging.writeToFile(f'Error in setup_n8n_data_directory: {str(msg)}')
raise