.n8n/config File Options

Hey all,

I’m trying to configure n8n using the .n8n/config file and was wondering two things:

  1. I just deployed with these options and i’m not getting prompted for credentials:

“security”: {
“basicAuth”: {
“active”: true,
“user”: “admin”,
“password”: “password”

  1. Is there a doc that lists all of the available options for this config format? I just see this doc and there’s only a small example of this config file with a few options and then everything else just tells me to use Docker Compose with environment variables which is easier said than done in AWS ECS:

Any help would be greatly appreciated!

Thanks!

You should never make changes to that file. It is not meant to be edited by anyone. That is why it is also not documented.

Everything you can configure you can do via environment variables which are documented on the page you did link.

1 Like

Hey Jan,

What about the section in that article called “configuration via file”? That’s what I was going off of

Ah yes, it is also possible to define them via a file but that is a totally different file. That file you have to create yourself and then set the path to that file as described in the documentation.

If you want to find all the possible values that can them in this file:

Thanks, Jan! Much appreciated

So I just need to create the file elsewhere then define that path via environment variable?

Yes exactly. Then it should work as expected.

1 Like

Hey Jan,

I did get n8n to look at the config file but i’m having issues with the schema you posted. I tried adding those options to my config file (had to make some changes to make it valid JSON) but i’m getting that a lot of the options are not included in the schema:

{
        "generic": {
                "timezone": "America/Chicago"
        },
        "security": {
                "basicAuth": {
                        "active": true,
                        "user": "admin",
                        "password": "password"
                },
                "protocol": {
                        "format": ["http", "https"],
                        "default": "https",
                        "env": "N8N_PROTOCOL",
                        "doc": "HTTP Protocol via which n8n can be reached"
                },
                "ssl_key": {
                        "format": "String",
                        "default": "/home/node/.n8n/certs/key.pem",
                        "env": "N8N_SSL_KEY",
                        "doc": "SSL Key for HTTPS Protocol"
                },
                "ssl_cert": {
                        "format": "String",
                        "default": "/home/node/.n8n/certs/cert.pem",
                        "env": "N8N_SSL_CERT",
                        "doc": "SSL Cert for HTTPS Protocol"
                }
        }
}

Here’s the error logs

That file does not describe the schema it defines all the values that can be set.

A simple file would look like this:

{
  "timezone": "America/Chicago",
  "basicAuth": {
    "active": true
  }
}
1 Like

Hey Jan,

Thanks for the info, you got me across the finish line. I decided to just use Docker environment variables in my container definition in ECS since that ended up being much easier but I was able to hide the credentials away in the config file on my Linux server

Thank you so much for the help, much appreciated

Glad to hear. Have fun!