@genxis/n8nrockstars 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,119 @@
1
+ #!/bin/bash
2
+ # Complete n8n installation script for cPanel servers
3
+ # Generated by n8nROCKSTARS
4
+ # This handles ALL the edge cases
5
+
6
+ set -e
7
+
8
+ SERVER_USER="{{USER}}"
9
+ DOMAIN="{{DOMAIN}}"
10
+ DB_PASS="{{DB_PASSWORD}}"
11
+ ADMIN_PASS="{{ADMIN_PASSWORD}}"
12
+ DB_NAME="${SERVER_USER}_n8n"
13
+ DB_USER="${SERVER_USER}_n8n"
14
+
15
+ echo "🎸 n8nROCKSTARS Deployment Script"
16
+ echo "=================================="
17
+ echo ""
18
+
19
+ # 1. Install PostgreSQL 15
20
+ echo "1. Installing PostgreSQL 15..."
21
+ dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm 2>/dev/null || true
22
+ dnf -qy module disable postgresql
23
+ dnf install -y postgresql15-server postgresql15
24
+ export PGSETUP_INITDB_OPTIONS="--encoding=UTF8"
25
+ /usr/pgsql-15/bin/postgresql-15-setup initdb 2>/dev/null || true
26
+ systemctl enable postgresql-15
27
+ systemctl start postgresql-15
28
+ sleep 3
29
+
30
+ # 2. Create database
31
+ echo "2. Creating PostgreSQL database..."
32
+ su - postgres -c "psql -c \"CREATE DATABASE $DB_NAME;\"" 2>/dev/null || true
33
+ su - postgres -c "psql -c \"CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';\"" 2>/dev/null || true
34
+ su - postgres -c "psql -c \"ALTER DATABASE $DB_NAME OWNER TO $DB_USER;\""
35
+ su - postgres -c "psql -d $DB_NAME -c \"GRANT ALL ON SCHEMA public TO $DB_USER;\""
36
+
37
+ # 3. Configure Apache proxy (HTTP)
38
+ echo "3. Configuring Apache reverse proxy..."
39
+ mkdir -p /usr/local/apache/conf/userdata/std/2_4/${SERVER_USER}/${DOMAIN}
40
+
41
+ cat > /usr/local/apache/conf/userdata/std/2_4/${SERVER_USER}/${DOMAIN}/proxy.conf << 'EOF'
42
+ <IfModule mod_security2.c>
43
+ SecRuleEngine Off
44
+ </IfModule>
45
+ ProxyPreserveHost On
46
+ ProxyPass / http://127.0.0.1:5678/
47
+ ProxyPassReverse / http://127.0.0.1:5678/
48
+ RequestHeader set X-Forwarded-Proto "http"
49
+ EOF
50
+
51
+ # 4. Configure Apache proxy (HTTPS)
52
+ mkdir -p /usr/local/apache/conf/userdata/ssl/2_4/${SERVER_USER}/${DOMAIN}
53
+
54
+ cat > /usr/local/apache/conf/userdata/ssl/2_4/${SERVER_USER}/${DOMAIN}/proxy.conf << 'EOF'
55
+ <IfModule mod_security2.c>
56
+ SecRuleEngine Off
57
+ </IfModule>
58
+ ProxyPreserveHost On
59
+ ProxyPass / http://127.0.0.1:5678/
60
+ ProxyPassReverse / http://127.0.0.1:5678/
61
+ RequestHeader set X-Forwarded-Proto "https"
62
+ RequestHeader set X-Forwarded-Port "443"
63
+ EOF
64
+
65
+ # 5. Enable proxy modules
66
+ mkdir -p /etc/apache2/conf/includes
67
+
68
+ cat > /etc/apache2/conf/includes/pre_main_global.conf << 'EOF'
69
+ LoadModule proxy_module modules/mod_proxy.so
70
+ LoadModule proxy_http_module modules/mod_proxy_http.so
71
+ LoadModule headers_module modules/mod_headers.so
72
+ EOF
73
+
74
+ # 6. Rebuild Apache
75
+ echo "4. Rebuilding Apache configuration..."
76
+ /scripts/rebuildhttpdconf
77
+ systemctl restart httpd
78
+
79
+ # 7. Start n8n
80
+ echo "5. Starting n8n..."
81
+ pkill -f "node.*server.js" 2>/dev/null || true
82
+ cd /home/${SERVER_USER}/n8n
83
+ nohup node server.js > n8n.log 2>&1 </dev/null &
84
+ disown
85
+
86
+ # 8. Wait and verify
87
+ echo "6. Verifying deployment..."
88
+ sleep 10
89
+
90
+ if netstat -tulpn | grep -q 5678; then
91
+ echo ""
92
+ echo "✅ n8n IS RUNNING!"
93
+ echo ""
94
+ echo "URL: https://${DOMAIN}"
95
+ echo "Username: admin"
96
+ echo "Password: $ADMIN_PASS"
97
+ echo ""
98
+ echo "Credentials saved to: /root/n8n-credentials.txt"
99
+
100
+ cat > /root/n8n-credentials.txt << CREDS
101
+ n8n Deployment Credentials
102
+ ==========================
103
+
104
+ URL: https://${DOMAIN}
105
+ Username: admin
106
+ Password: $ADMIN_PASS
107
+
108
+ Database: $DB_NAME
109
+ DB User: $DB_USER
110
+ DB Password: $DB_PASS
111
+
112
+ Deployed: $(date)
113
+ CREDS
114
+
115
+ else
116
+ echo "❌ n8n failed to start"
117
+ echo "Check logs: cat /home/${SERVER_USER}/n8n/n8n.log"
118
+ exit 1
119
+ fi
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * n8n Startup Script
4
+ * Auto-generated by n8nROCKSTARS
5
+ */
6
+
7
+ const { spawn } = require('child_process');
8
+ const path = require('path');
9
+
10
+ // n8n configuration
11
+ process.env.N8N_HOST = '{{DOMAIN}}';
12
+ process.env.N8N_PORT = '5678';
13
+ process.env.N8N_LISTEN_ADDRESS = '0.0.0.0'; // Critical: Force IPv4
14
+ process.env.N8N_PROTOCOL = 'https';
15
+ process.env.WEBHOOK_URL = 'https://{{DOMAIN}}';
16
+
17
+ // PostgreSQL database
18
+ process.env.DB_TYPE = 'postgresdb'; // Critical: n8n v2+ requires PostgreSQL
19
+ process.env.DB_POSTGRESDB_HOST = 'localhost';
20
+ process.env.DB_POSTGRESDB_PORT = '5432';
21
+ process.env.DB_POSTGRESDB_DATABASE = '{{DB_NAME}}';
22
+ process.env.DB_POSTGRESDB_USER = '{{DB_USER}}';
23
+ process.env.DB_POSTGRESDB_PASSWORD = '{{DB_PASSWORD}}';
24
+
25
+ // Execution settings
26
+ process.env.EXECUTIONS_DATA_SAVE_ON_SUCCESS = 'all';
27
+ process.env.EXECUTIONS_DATA_SAVE_ON_ERROR = 'all';
28
+ process.env.EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS = 'true';
29
+
30
+ // Security
31
+ process.env.N8N_BASIC_AUTH_ACTIVE = 'true';
32
+ process.env.N8N_BASIC_AUTH_USER = 'admin';
33
+ process.env.N8N_BASIC_AUTH_PASSWORD = '{{ADMIN_PASSWORD}}';
34
+
35
+ // Performance
36
+ process.env.N8N_PAYLOAD_SIZE_MAX = '16';
37
+ process.env.N8N_METRICS = 'false';
38
+
39
+ console.log('Starting n8n...');
40
+ console.log('Host:', process.env.N8N_HOST);
41
+ console.log('Port:', process.env.N8N_PORT);
42
+ console.log('Database:', process.env.DB_POSTGRESDB_DATABASE);
43
+
44
+ // Start n8n
45
+ const n8nPath = path.join(__dirname, 'node_modules', 'n8n', 'bin', 'n8n');
46
+ const n8n = spawn('node', [n8nPath, 'start'], {
47
+ stdio: 'inherit',
48
+ env: process.env
49
+ });
50
+
51
+ n8n.on('error', (err) => {
52
+ console.error('Failed to start n8n:', err);
53
+ process.exit(1);
54
+ });
55
+
56
+ n8n.on('exit', (code) => {
57
+ console.log(`n8n exited with code ${code}`);
58
+ process.exit(code);
59
+ });
60
+
61
+ // Handle termination gracefully
62
+ process.on('SIGTERM', () => {
63
+ console.log('Received SIGTERM, shutting down...');
64
+ n8n.kill('SIGTERM');
65
+ });
66
+
67
+ process.on('SIGINT', () => {
68
+ console.log('Received SIGINT, shutting down...');
69
+ n8n.kill('SIGINT');
70
+ });