Ta strona wygląda najlepiej z włączoną obsługą JavaScript
Jak zainstalować n8n i uruchomić go podczas uruchamiania systemu dzięki systemd unit
- Utwórz plik:
- Wprowadź poniższą zawartość do pliku:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
#!/bin/bash -e
log() {
echo "[$(date +'%Y-%m-%d %H:%M:%S')]: $*"
}
# Funkcja wyświetlająca spinner
display_spinner() {
local pid=$1
local spin='-\|/'
log "Ładowanie..."
while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
local temp=${spin#?}
printf "\r [%c]" "$spin"
local spin=$temp${spin%"$temp"}
sleep 0.1
done
printf "\r"
}
row=2
col=2
countdown() {
msg="Poczekaj 30 sekund na ${1} n8n..."
clear
tput cup $row $col
echo -n "$msg"
l=${#msg}
l=$(( l+$col ))
for i in {30..1}
do
tput cup $row $l
echo -n "$i"
sleep 1
done
}
execute_command() {
local cmd="$*"
log "Wykonuję: $cmd"
bash -c "$cmd" &
display_spinner $!
}
error_exit() {
log "$1"
exit 1
}
check_root(){
echo "Ten skrypt szybkiej instalacji wymaga uprawnień root."
echo "Sprawdzanie..."
if [[ $(/usr/bin/id -u) -ne 0 ]];
then
echo "Nie uruchomiono jako root"
exit 0
else
echo "Instalacja kontynuowana"
fi
SUDO=
if [ "$UID" != "0" ]; then
if [ -e /usr/bin/sudo -o -e /bin/sudo ]; then
SUDO=sudo
else
echo "*** Ten skrypt szybkiej instalacji wymaga uprawnień root."
exit 0
fi
fi
}
update_upgrade(){
echo 'aktualizacja systemu'
sudo apt update
sudo apt upgrade -y
}
check_packages(){
if [[ $(command -v build-essential) ]]; then
echo "build-essential już zainstalowany"
else
sudo apt install build-essential -y
fi
if [[ $(command -v python3) ]]; then
echo "python3 już zainstalowany"
else
sudo apt install python3 -y
fi
if [[ $(command -v nodejs) ]]; then
echo "nodejs już zainstalowany"
else
sudo apt install nodejs -y
fi
if [[ $(command -v npm) ]]; then
echo "npm już zainstalowany"
else
sudo apt install npm -y
fi
}
install_n8n(){
execute_command "echo 'instaluję n8n globalnie'"
npm install n8n -g
}
adding_systemd_entry(){
echo 'dodawanie wpisu systemd'
sudo cat > /etc/systemd/system/n8n.service <<EOF
[Unit]
Description=n8n - Łatwa automatyzacja zadań między różnymi usługami.
After=network.target
[Service]
Type=simple
User=adrian
ExecStart=/usr/local/bin/n8n start --tunnel
Restart=on-failure
[Install]
WantedBy=multi-user.target
Alias=n8n.service
EOF
}
n8n
_service(){
echo 'przeładowanie, włączanie przy uruchomieniu i startowanie n8n'
sudo systemctl daemon-reload
sudo systemctl enable n8n
sudo systemctl start n8n
}
n8n_status(){
systemctl status n8n.service
}
main(){
check_root
update_upgrade
check_packages
install_n8n
adding_systemd_entry
n8n_service
countdown
n8n_status
}
main
|
-
Zapisz i zamknij.
-
Nadaj uprawnienia:
1
|
chmod +x n8n-install.sh
|
- Wykonaj poniższy skrypt, aby uruchomić:
- Sprawdź adres IP maszyny, na której wykonano skrypt, używając poniższego polecenia:
- Otwórz przeglądarkę i wklej adres IP oraz port
http://IP_ADDRESS:5678
-
Utwórz login i hasło dla n8n.
-
To wszystko. n8n działa. Miłego korzystania!
UTWORZONE PRZEZ
sysadmin
QA & Linux Specialist