instala N8N en Alma linux 10 duncional en tu laptop como servidor en linea

Cómo instalar AlmaLinux y configurar n8n en tu laptop como servidor accesible desde cualquier parte

“Instala AlmaLinux y n8n en tu laptop: guía paso a paso para crear tu propio servidor accesible desde cualquier lugar”

📑 Índice

  1. Introducción: ¿Por qué usar AlmaLinux y n8n en tu laptop?
  2. Requisitos previos
  3. Instalación de AlmaLinux en la laptop
  4. Configuración inicial del sistema
  5. Instalación de Docker y Docker Compose
  6. Configuración de n8n con Postgres
  7. Configuración de Nginx como proxy inverso
  8. Ajustes de SELinux y firewall
  9. Configuración de Cloudflare Tunnel y dominio (ejemplo: n8nwebsite.com)
  10. Apertura de puertos en el módem Telmex
  11. Evitar suspensión de la laptop y mantener Ethernet activo
  12. Scripts de verificación y recuperación automática
  13. Plan de mantenimiento semanal
  14. Conclusión

1. Introducción

Convertir tu laptop en un servidor con AlmaLinux y n8n te permite crear y ejecutar flujos de automatización accesibles desde cualquier parte del mundo. Con esta guía paso a paso, podrás replicar la configuración que hicimos y tener tu propio servidor confiable, seguro y siempre disponible.

2. Requisitos previos

  • Laptop con al menos 8 GB de RAM y 50 GB de espacio libre.
  • Conexión a internet estable (Ethernet recomendado).
  • Un dominio (ejemplo: n8nwebsite.com). Oferta de dominio web aqui
  • Acceso al módem Telmex para abrir puertos.

3. Instalación de AlmaLinux

  1. Descarga la ISO desde AlmaLinux.org.
  2. Graba la ISO en un USB con Rufus o similar.
  3. Arranca la laptop desde el USB y sigue el instalador.
  4. Selecciona particionado automático y crea usuario administrador.

4. Configuración inicial del sistema

bash

sudo dnf update -y
sudo dnf install epel-release -y
sudo dnf install nano git curl wget htop -y

5. Instalación de Docker y Docker Compose

sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io -y
sudo systemctl enable --now docker
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

6. Configuración de n8n con Postgres

En /home/usuario/n8n/docker-compose.yml:

version: "3.1"
services:
  n8n:
    image: n8nio/n8n:2.0.0
    restart: always
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=db
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n_db
      - DB_POSTGRESDB_USER=n8n_user
      - DB_POSTGRESDB_PASSWORD=seguro123
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=clave_segura
    volumes:
      - ./data:/home/node/.n8n

  db:
    image: postgres:15
    restart: always
    environment:
      - POSTGRES_USER=n8n_user
      - POSTGRES_PASSWORD=seguro123
      - POSTGRES_DB=n8n_db
    volumes:
      - ./db:/var/lib/postgresql/data

Levanta los contenedores:

docker compose up -d

7. Configuración de Nginx como proxy inverso

Archivo /etc/nginx/conf.d/n8n.conf:

server {
    listen 80;
    server_name n8nwebsite.com;

    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;
    }
}

Verifica y recarga:

sudo nginx -t
sudo systemctl reload nginx

8. Ajustes de SELinux y firewall

sudo setsebool -P httpd_can_network_connect 1
sudo dnf install ufw -y
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

9. Configuración de Cloudflare Tunnel y dominio

  1. Instala Cloudflared:bashsudo wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb sudo dnf install ./cloudflared-linux-amd64.deb -y
  2. Autentica con tu cuenta Cloudflare:bashcloudflared tunnel login
  3. Crea túnel:bashcloudflared tunnel create n8nwebsite
  4. Configura /etc/cloudflared/config.yml:yamltunnel: n8nwebsite credentials-file: /etc/cloudflared/n8nwebsite.json ingress: - hostname: n8nwebsite.com service: http://localhost:80 - service: http_status:404
  5. Inicia servicio:bashsudo systemctl enable --now cloudflared

10. Apertura de puertos en el módem Telmex

  • Accede a 192.168.1.254.
  • Ve a Configuración avanzada → NAT/Puertos.
  • Abre puertos 80 y 443 hacia la IP local de tu laptop.
  • Guarda y reinicia el módem.

11. Evitar suspensión y mantener Ethernet activo

En /etc/systemd/logind.conf:

HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore

Aplica:

sudo systemctl restart systemd-logind
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

12. Scripts de verificación y recuperación automática

check_n8n.sh: verifica servicios y contenedores.

check_and_fix_n8n.sh: reinicia automáticamente si algo falla

🔍 Script de verificación (check_n8n.sh)

#!/bin/bash
# Script de verificación de estado de n8n y servicios relacionados

echo "🔍 Verificando estado de servicios del sistema..."
systemctl is-active --quiet docker && echo "✅ Docker está activo" || echo "❌ Docker está caído"
systemctl is-active --quiet nginx && echo "✅ Nginx está activo" || echo "❌ Nginx está caído"
systemctl is-active --quiet cloudflared && echo "✅ Cloudflared está activo" || echo "❌ Cloudflared está caído"

echo ""
echo "🔍 Verificando contenedores de n8n y Postgres..."
docker ps --filter "name=n8n-n8n-1" --filter "name=n8n-db-1"

echo ""
echo "🔍 Probando acceso local a n8n..."
curl -Is http://127.0.0.1:5678 | head -n 1

echo ""
echo "🔍 Probando acceso vía Nginx..."
curl -Is http://127.0.0.1:80 | head -n 1

echo ""
echo "🔍 Probando acceso externo (Cloudflare Tunnel)..."
curl -Is https://n8nwebsite.com | head -n 1

echo ""
echo "✅ Verificación completa."

🔧 Script combinado de verificación y recuperación (check_and_fix_n8n.sh)

#!/bin/bash
# Script de verificación y recuperación automática de n8n y servicios relacionados

echo "🔍 Verificando servicios del sistema..."

# Docker
if systemctl is-active --quiet docker; then
  echo "✅ Docker está activo"
else
  echo "❌ Docker está caído, iniciando..."
  sudo systemctl start docker
fi

# Nginx
if systemctl is-active --quiet nginx; then
  echo "✅ Nginx está activo"
else
  echo "❌ No esta activo

13. Plan de mantenimiento semanal

  • Lunes: revisar servicios (systemctl status).
  • Miércoles: revisar logs (tail -n 50 /var/log/nginx/error.log).
  • Viernes: actualizar sistema (sudo dnf update -y).
  • Domingo: backup automático con cron (pg_dump).

14. Conclusión

Con esta guía paso a paso, tu laptop con AlmaLinux se convierte en un servidor confiable para n8n, accesible desde cualquier parte del mundo con tu dominio (ejemplo: n8nwebsite.com). Has configurado Docker, Nginx, SELinux, Cloudflare Tunnel, firewall, apertura de puertos en Telmex y ajustes de energía para que el sistema nunca se suspenda.

Tu servidor ahora está seguro, estable y siempre disponible 🚀.

Salir de la versión móvil