N8N (v1.94.1 & v1.95.2 Docker) Shows "Set up owner account" - Existing Data Not Loaded Despite Correct Mounts/Permissions

Hi N8N Community,

I’m facing a persistent issue where my n8n instance starts up and shows the “Set up owner account” screen, as if it’s a fresh install. This happens even though I’m mounting my existing n8n data directory, which contains a database.sqlite file that has been successfully migrated by the official n8n image.

1. Problem Description: N8N (both my custom 1.94.1 image and the official 1.95.2 image) does not load existing workflows/user settings and instead presents the “Set up owner account” screen. This occurs even after verifying host directory permissions and database integrity.

2. N8N Setup Information:

  • N8N Version (Primary Image): my-n8n-custom:latest (based on n8n v1.94.1)
  • N8N Version (Tested): n8nio/n8n:latest (which pulled v1.95.2)
  • Deployment Environment: Self-hosted Docker on a miniPC (Linux, user jaccog)
  • Docker Command for Official Image Test (which still shows the issue): Bashdocker run -d \ --name n8n-official-test \ --network my_app_net \ -p 5678:5678 \ -e N8N_CORS_ALLOWED_ORIGINS="http://localhost:8001" \ -e GENERIC_TIMEZONE="Europe/Amsterdam" \ -e N8N_SECURE_COOKIE=false \ -v /home/jaccog/research_hub/n8n_config:/home/node/.n8n \ -v /home/jaccog/research_hub/pdf_sources:/mnt/pdf_sources \ n8nio/n8n:latest
  • Other Services: Ollama, ChromaDB, Syncthing also running in Docker on the same my_app_net network.

3. Error Messages / Symptoms:

  • Browser (Firefox Incognito, Safari after cache clear): When accessing http://10.0.0.72:5678 (miniPC IP), the “Set up owner account” screen is displayed.
  • N8N Startup Logs (from docker logs n8n-official-test after official image run): Permissions 0644 for n8n settings file /home/node/.n8n/config are too wide. This is ignored for now... User settings loaded from: /home/node/.n8n/config Initializing n8n process n8n ready on 0.0.0.0, port 5678 Migrations in progress, please do NOT stop the process. Starting migration ClearEvaluation1745322634000 Finished migration ClearEvaluation1745322634000 Version: 1.95.2 Editor is now accessible via: http://localhost:5678 (Note: No explicit errors about opening database.sqlite or permission issues on the data directory in these logs).

4. Host Data Directory Details (on MiniPC):

  • Path: /home/jaccog/research_hub/n8n_config
  • Contents (output of ls -la /home/jaccog/research_hub/n8n_config): `total 484
    drwxrwxr-x 6 jaccog jaccog 4096 Jun 3 08:20 .
    drwxrwxr-x 10 jaccog jaccog 4096 May 28 20:39 …
    drwxr-xr-x 2 1000 1000 4096 Jun 2 20:27 binaryData
    -rw-r–r-- 1 1000 1000 56 Jun 2 20:27 config
    -rw-r–r-- 1 1000 1000 0 Jun 3 08:24 crash.journal
    -rw-r–r-- 1 1000 1000 462848 Jun 2 20:27 database.sqlite
    drwxr-xr-x 2 1000 1000 4096 Jun 2 20:27 git

… other log files also owned by 1000:1000 …

drwxr-xr-x 2 1000 1000 4096 Jun 2 20:27 nodes
drwxr-xr-x 2 1000 1000 4096 Jun 2 20:27 ssh*(Note: Output shown is after sudo chown -R 1000:1000 /home/jaccog/research_hub/n8n_configwas applied, confirmed byls -ln` showing UID/GID 1000).*

  • SQLite Integrity Check: sqlite3 /home/jaccog/research_hub/n8n_config/database.sqlite "PRAGMA integrity_check;" output is ok.

5. Specific Question for the Community: Given that the n8n data directory on the host exists, contains a non-corrupt database.sqlite (which was even migrated by n8n v1.95.2), and has its ownership set to UID/GID 1000 (matching the internal node user), why would n8n still consistently show the “Set up owner account” screen instead of loading my existing data? What else could be preventing n8n from recognizing or using the existing database within the mounted volume?

What I’ve tried without success for this specific “new setup screen” issue:

  • Ensured correct volume mount in docker run.
  • Set host directory ownership to 1000:1000 recursively.
  • Confirmed database.sqlite integrity.
  • Tested with both my custom n8n image and the official n8nio/n8n:latest.
  • Set N8N_SECURE_COOKIE=false.
  • Cleared browser cache/cookies and used incognito/private modes.
  • Ensured no N8N_ENCRYPTION_KEY was set previously that is now missing.

My workflows are for a PDF ingestion pipeline (listing files, OCR/text extraction, classification, metadata/tag generation with Ollama, embedding, storing in ChromaDB, and file management) and a separate RAG query interface. The actual workflow JSON is quite extensive, but the current problem seems to be more fundamental to n8n not loading its basic data. I can provide workflow JSON if specifically relevant to this startup/data loading issue.

Any help or further diagnostic steps would be greatly appreciated!

Hi @jaccog

If you would like, we can jump on a call and try workout. I’ve done a few restores now, it suggests it’s not picking up the data / maybe a permission issue or encryption key.

Let me know availability.

Best reagrds,

Samuel

Hi @King_Samuel_David , that is truly kind. How would we go about this? (I am quite a noob here). I have time now.

The encryption key we can rule out, we did not use it earlier in our set-up by the way.

Jacco

@jaccog Feel free to join here https://meet.google.com/zvn-rqjj-qia

Hello @jaccog

Thanks for your time on the call today, while it seems the encryption key maybe invaid now, you may try the below:

method to restore via sqlite db workflows
Can I restore data form a sqlite database? - #2 by n8n.

Also on the discussion about docker composer, a nice setup guide here:

And as mentioned I always have this running to backup workflows,
I use this https://n8n.io/workflows/1534-back-up-your-n8n-workflows-to-github/
Plus, you can export via command line
CLI commands | n8n Docs

and for the domain name, I picked Cloudflare for call backurl with oauths, this is a really quick and easy setup method.

Nice meeting you, hope this helps further. While the restore might work via the above method, do let me know how it goes.

Many thanks,

Samuel

2 Likes

@King_Samuel_David thanks so much for helping me out, I really appreciate your taking the time and effort for debugging this!!

1 Like

@King_Samuel_David and everyone reading this:
These steps I followed as we had made a new n8n instance for troubleshooting.

  1. Stop the docker instance
  2. Locate the Docker configuration for the production n8n with: history | grep -I n8n
  3. Inspect the n8n_data Docker volume with: docker volume inspect n8n_data
  4. Copy the database.sqlite file to your home directory with: sudo cp /var/lib/docker/volumes/n8n_data/_data/database.sqlite ~/
  5. Install DB Browser for SQ Lite on your Mac or PC
  6. Copy the database.sqlite to your Mac or PC with scp (username)@(computer_ip_address):~/database.sqlite ~/Desktop/
  7. Launch DB Browser for SQLite and go to File → Open database and navigate to desktop
  8. Navigate to workflow_entity Table and here you will find your workflows
  9. Paste the copied content into the editor to build the complete workflow JSON. Use the structure below as a template. Make sure the pasted content for nodes , connections , etc., are valid JSON arrays/objects, not just quoted strings.
    JSON
    {
    “name”: “YOUR_WORKFLOW_NAME_HERE”,
    “nodes”: [ /* PASTE CONTENT FROM ‘nodes’ COLUMN HERE */ ],
    “pinData”: {}, // PASTE CONTENT FROM ‘pinData’ COLUMN HERE (often empty {})
    “connections”: {}, // PASTE CONTENT FROM ‘connections’ COLUMN HERE
    “active”: false, // Based on the ‘active’ column (true/false)
    “settings”: {}, // PASTE CONTENT FROM ‘settings’ COLUMN HERE
    “versionId”: “”, // Leave empty or omit for new import
    “meta”: {}, // PASTE CONTENT FROM ‘meta’ COLUMN HERE
    “id”: “”, // Leave empty or omit for new import
    “tags”: // PASTE CONTENT FROM ‘tags’ COLUMN HERE (often empty )
    }
  10. Save each JSON as a separate file with .json extension

You will most likely need to re-create your credentials in your new n8n instance.


Once you have extracted your workflow JSON files, you’ll be able to import them into a fresh n8n installation. This will allow you to get back up and running with your workflows, even if you need to reconfigure the credentials.

2 Likes

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