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:
2026-08-01 03:56:03 +01:00
parent fe9232d845
commit 6638c1431d
6 changed files with 95 additions and 5 deletions
+1
View File
@@ -2,6 +2,7 @@
vault.hidrago.click/vw-data/
git.hidrago.click/gitea-data/
git.hidrago.click/postgres-data/
n8n.hidrago.click/n8n-data/
# Node modules
node_modules/
+5 -5
View File
@@ -132,13 +132,13 @@
</div>
<div class="age-grid">
<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>
</div>
<div class="age-item big">
<span class="number">406</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 class="age-item small">
<span class="number">7</span>
@@ -158,13 +158,13 @@
</div>
<div class="age-grid">
<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>
</div>
<div class="age-item big">
<span class="number">318</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 class="age-item small">
<span class="number">6</span>
@@ -178,7 +178,7 @@
</div>
</div>
<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>
<script>
+37
View File
@@ -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
}
+21
View File
@@ -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
+20
View File
@@ -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
+11
View File
@@ -3,6 +3,17 @@ server {
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 {
proxy_pass http://127.0.0.1:3012;
proxy_http_version 1.1;