Self-Hosted: Google OAuth UI Missing Both Input Fields and 'Sign in' Button

Hi everyone,

I’m facing a strange UI issue when trying to set up Google OAuth credentials on my self-hosted n8n instance, and I’m hoping for some guidance.

When I go to the n8n UI to add a new credential (e.g., for Google Sheets), the modal window is almost empty. Crucially, the input fields for ‘Client ID’ and ‘Client Secret’ are completely missing, and the ‘Sign in with Google’ button is also not displayed. Instead, I only see a generic “Please check the errors below” message, with no way to proceed.

I understand that in modern self-hosted versions, the fields are supposed to be hidden in favor of a “Sign in” button when environment variables are used. However, I’m getting neither.

Any help or ideas would be greatly appreciated!

Thank you.

Hey, are you using docker? Can you post the command you use to start he container if so?

Hi @krisn0x,

Yes, I’m using Docker. My environment consists of Traefik and Portainer, which are also running as Docker stacks.

I deployed the n8n stack using a custom script (‘Orion’) from my terminal, not directly through the Portainer UI.

My troubleshooting process was as follows:

  1. After the initial deployment via my script, I noticed the input fields for Client ID/Secret were missing in the n8n credentials UI.

  2. To fix this, I went into the Portainer UI, opened the n8n stack editor, and added the OAUTH_GOOGLE_CLIENT_ID and OAUTH_GOOGLE_CLIENT_SECRET environment variables.

  3. I then redeployed the stack using Portainer.

The container is now running successfully, but the original issue persists: The UI still shows no input fields and no “Sign in with Google” button.

This is often caused by no persistent volume in mapped to the container, where n8n can save it’s DB. Can you check that a volume is defined in your dockerfile like so:

 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n

Hi @krisn0x, thanks for the suggestion!

That’s a great point. I’ve double-checked my docker-compose.yml file, and it does have a persistent named volume mapped to /home/node/.n8n.

Here are the relevant sections from the compose file I am using for the deployment:

services:
n8n:

… image, ports, environment, labels …

volumes:

  • n8n_data:/home/node/.n8n

volumes:
n8n_data:

So it seems the volume is configured correctly as you suggested.

Given this, could there be another reason why the UI isn’t reflecting the environment variables, even with persistence enabled?

Thanks again for your help.

Hey @heivwendell

please see if you have N8N_DEFAULT_LOCALE env variable specified in your environment. There is a known issue, where having this env var causes some fields to disappear. If you do have that specified, please remove it and restart your instance.

Thanks! Worked here

1 Like

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