Performance Issues with n8n on Ubuntu: Seeking Solutions for Startup and Node Editing Delays

Dear All You Genius,

I previously used n8n as a self-hosted instance on Windows 11, paired with ngrok, and it worked flawlessly. Recently, due to an increase in AI-related work, I upgraded to a new computer and installed Ubuntu Desktop as the operating system. I’ve been using this setup for about a week now.

The new computer is equipped with high-performance hardware, including an NVIDIA 3090 GPU and 64GB of RAM—far more powerful than my old system. However, I’ve noticed some unexpected stuttering with n8n that wasn’t present in my previous Windows 11 setup.

Specifically:

Startup Delay: There’s about a 1-second delay when launching n8n, whereas it used to open instantly.
Node Editing Delay: Modifying data in a node takes around 3-5 seconds, which significantly slows down my work.

Although workflow executions themselves seem to be running fine, these delays are impacting my productivity and driving me a little crazy. :sweat_smile:

I’m attaching the YAML configuration I’m using. It’s based on the self-hosted-ai-starter-kit, with some modifications I made by piecing together information from the internet and ChatGPT. Since I’m not a developer, my changes might not be optimal.

If anyone has a solution to these performance issues, I would greatly appreciate your help!

Thank you.

volumes:
  n8n_storage:
  postgres_storage:
  ollama_storage:
  qdrant_storage:

networks:
  n8n:

x-n8n: &service-n8n
  image: n8nio/n8n:latest
  networks: ['n8n']
  environment:
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_USER=${POSTGRES_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    - N8N_DIAGNOSTICS_ENABLED=false
    - N8N_PERSONALIZATION_ENABLED=false
    - N8N_ENCRYPTION_KEY
    - N8N_USER_MANAGEMENT_JWT_SECRET
    - WEBHOOK_URL=https://nogrok-free-fixed-domain.app/
    - N8N_FILES_DIR=/home/infoshare/n8n/files
    - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
    - TZ=Asia/Seoul
    - GENERIC_TIMEZONE=Asia/Seoul

  links:
    - postgres

x-ollama: &service-ollama
  image: ollama/ollama:latest
  container_name: ollama
  networks: ['n8n']
  restart: unless-stopped
  ports:
    - 11434:11434
  volumes:
    - ollama_storage:/root/.ollama
  runtime: nvidia  
  deploy:
    resources:
      reservations:
        devices:
          - driver: nvidia
            count: 1
            capabilities: [gpu]


x-init-ollama: &init-ollama
  image: ollama/ollama:latest
  networks: ['n8n']
  container_name: ollama-pull-llama
  volumes:
    - ollama_storage:/root/.ollama
  entrypoint: /bin/sh
  command:
    - "-c"
    - "sleep 3; OLLAMA_HOST=ollama:11434 ollama pull llama3.2;ollama pull nomic-embed-text"

services:
  postgres:
    image: postgres:16-alpine
    networks: ['n8n']
    restart: unless-stopped
    environment:
      - POSTGRES_USER
      - POSTGRES_PASSWORD
      - POSTGRES_DB
      - TZ=Asia/Seoul
    volumes:
      - postgres_storage:/var/lib/postgresql/data
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
      interval: 5s
      timeout: 5s
      retries: 10

  n8n-import:
    <<: *service-n8n
    container_name: n8n-import
    entrypoint: /bin/sh
    command:
      - "-c"
      - "n8n import:credentials --separate --input=/backup/credentials && n8n import:workflow --separate --input=/backup/workflows"
    volumes:
      - /home/infoshare/n8n/backup:/backup
    depends_on:
      postgres:
        condition: service_healthy

  n8n:
    <<: *service-n8n
    container_name: n8n
    restart: unless-stopped
    ports:
      - 5678:5678
    volumes:
      - n8n_storage:/home/infoshare/n8n/node/.n8n
      - /home/infoshare/n8n/backup:/backup
      - /home/infoshare/n8n/shared:/data/shared
      - /home/infoshare/n8n/files:/files:rw
    depends_on:
      postgres:
        condition: service_healthy
      n8n-import:
        condition: service_completed_successfully

  qdrant:
    image: qdrant/qdrant
    container_name: qdrant
    networks: ['n8n']
    restart: unless-stopped
    ports:
      - 6333:6333
    volumes:
      - qdrant_storage:/home/infoshare/n8n/qdrant/storage

  ollama:
    <<: *service-ollama  
    container_name: ollama-gpu  

  ollama-pull-llama:
    <<: *init-ollama
    depends_on:
      - ollama  

Information on your n8n setup

  • n8n version: 1.72.1
  • Database (default: SQLite): postgres
  • n8n EXECUTIONS_PROCESS setting (default: own, main): own, main
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: Ubuntu Desktop (n8n), Portainer (docker)

hello

Welcome to the community @infoshare ! I have that same self-hosted-ai-starter-kit running on my mac (far less powerful than your recent system) and is working fine.

The UI itself being laggy is strange indeed, can you try setting up the same repo elsewhere on that host (e.g. a VM, local n8n npm) and check if the problem persists? Have you tried a different browser entirely?

You can also try to see win11’s memory/CPU usage to understand if something useful comes out of it.

mmm… if you try using n8n without docker (just nodejs)?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.