n8n: add workflow automation at n8n.hidrago.click
- Docker Compose (port 5678) - nginx reverse proxy + SSL Let's Encrypt - systemd user service (n8n.service) - HTTPS accessible on https://n8n.hidrago.click
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
vault.hidrago.click/vw-data/
|
vault.hidrago.click/vw-data/
|
||||||
git.hidrago.click/gitea-data/
|
git.hidrago.click/gitea-data/
|
||||||
git.hidrago.click/postgres-data/
|
git.hidrago.click/postgres-data/
|
||||||
|
n8n.hidrago.click/n8n-data/
|
||||||
|
|
||||||
# Node modules
|
# Node modules
|
||||||
node_modules/
|
node_modules/
|
||||||
@@ -132,13 +132,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="age-grid">
|
<div class="age-grid">
|
||||||
<div class="age-item big">
|
<div class="age-item big">
|
||||||
<span class="number">2,847</span>
|
<span class="number">2,848</span>
|
||||||
<span class="unit" data-i18n="days">jours</span>
|
<span class="unit" data-i18n="days">jours</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="age-item big">
|
<div class="age-item big">
|
||||||
<span class="number">406</span>
|
<span class="number">406</span>
|
||||||
<span class="unit" data-i18n="weeks">semaines</span>
|
<span class="unit" data-i18n="weeks">semaines</span>
|
||||||
<span class="sub" data-i18n="extra_days" data-n="5"></span>
|
<span class="sub" data-i18n="extra_days" data-n="6"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="age-item small">
|
<div class="age-item small">
|
||||||
<span class="number">7</span>
|
<span class="number">7</span>
|
||||||
@@ -158,13 +158,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="age-grid">
|
<div class="age-grid">
|
||||||
<div class="age-item big">
|
<div class="age-item big">
|
||||||
<span class="number">2,228</span>
|
<span class="number">2,229</span>
|
||||||
<span class="unit" data-i18n="days">jours</span>
|
<span class="unit" data-i18n="days">jours</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="age-item big">
|
<div class="age-item big">
|
||||||
<span class="number">318</span>
|
<span class="number">318</span>
|
||||||
<span class="unit" data-i18n="weeks">semaines</span>
|
<span class="unit" data-i18n="weeks">semaines</span>
|
||||||
<span class="sub" data-i18n="extra_days" data-n="2"></span>
|
<span class="sub" data-i18n="extra_days" data-n="3"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="age-item small">
|
<div class="age-item small">
|
||||||
<span class="number">6</span>
|
<span class="number">6</span>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<span data-i18n="updated">Mis à jour le</span> 30/07/2026 à 23:00 UTC
|
<span data-i18n="updated">Mis à jour le</span> 31/07/2026 à 23:00 UTC
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
server {
|
||||||
|
server_name n8n.hidrago.click;
|
||||||
|
|
||||||
|
client_max_body_size 50M;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:5678;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_read_timeout 300s;
|
||||||
|
proxy_send_timeout 300s;
|
||||||
|
}
|
||||||
|
|
||||||
|
listen 443 ssl; # managed by Certbot
|
||||||
|
listen [::]:443 ssl; # managed by Certbot
|
||||||
|
ssl_certificate /etc/letsencrypt/live/n8n.hidrago.click/fullchain.pem; # managed by Certbot
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/n8n.hidrago.click/privkey.pem; # managed by Certbot
|
||||||
|
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||||
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
if ($host = n8n.hidrago.click) {
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
} # managed by Certbot
|
||||||
|
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
server_name n8n.hidrago.click;
|
||||||
|
return 404; # managed by Certbot
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# n8n — AI workflow automation
|
||||||
|
# https://n8n.hidrago.click
|
||||||
|
services:
|
||||||
|
n8n:
|
||||||
|
image: n8nio/n8n:latest
|
||||||
|
container_name: n8n
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:5678:5678"
|
||||||
|
volumes:
|
||||||
|
- ./n8n-data:/home/node/.n8n
|
||||||
|
environment:
|
||||||
|
- N8N_HOST=n8n.hidrago.click
|
||||||
|
- N8N_PROTOCOL=https
|
||||||
|
- N8N_PORT=5678
|
||||||
|
- WEBHOOK_URL=https://n8n.hidrago.click
|
||||||
|
- N8N_SECURE_COOKIE=false
|
||||||
|
# Basic auth pour l'accès web (optionnel, décommente si besoin)
|
||||||
|
# - N8N_BASIC_AUTH_ACTIVE=true
|
||||||
|
# - N8N_BASIC_AUTH_USER=admin
|
||||||
|
# - N8N_BASIC_AUTH_PASSWORD=ton-mot-de-passe
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=n8n - AI workflow automation
|
||||||
|
Documentation=https://docs.n8n.io
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
WorkingDirectory=/home/jerome/hermes-sites/n8n.hidrago.click
|
||||||
|
ExecStart=/usr/bin/docker compose up -d
|
||||||
|
ExecStop=/usr/bin/docker compose down
|
||||||
|
ExecReload=/usr/bin/docker compose restart
|
||||||
|
StandardOutput=journal
|
||||||
|
StandardError=journal
|
||||||
|
TimeoutStartSec=120
|
||||||
|
TimeoutStopSec=30
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
@@ -3,6 +3,17 @@ server {
|
|||||||
|
|
||||||
client_max_body_size 128M;
|
client_max_body_size 128M;
|
||||||
|
|
||||||
|
# Cache static assets (admin panel icons, CSS, JS)
|
||||||
|
location /vw_static/ {
|
||||||
|
proxy_pass http://127.0.0.1:8081;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
expires 7d;
|
||||||
|
add_header Cache-Control "public, immutable";
|
||||||
|
}
|
||||||
|
|
||||||
location /notifications/hub {
|
location /notifications/hub {
|
||||||
proxy_pass http://127.0.0.1:3012;
|
proxy_pass http://127.0.0.1:3012;
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
|
|||||||
Reference in New Issue
Block a user