CoolFace
Apppublic

N8nZero/my-shipping-bot

sourceHugging Facemitupdated 5mo agoView on Hugging Face
0likes
App README

Hosting n8n using huggingface space

If you don't have a cloud instance or domain, self hosting n8n may be a bit difficult. This repository is a template for hosting n8n using huggingface space.

Using Supabase for database

According to huggingface space documentation, Space will "go to sleep" and stop executing after a period of time if unused. To avoid this, we can use Supabase for the database.

  1. 1.Sign up for a free account at <https://supabase.com/dashboard/sign-up>
  2. 2.Create a new project and fill the form. Save the database password for later use.

supabase create project supabase project setting

  1. 1.View the database connection info by click the Connect button on the top left nav bar.

supabase project

  1. 1.Select SQLAlchemy as Connection String and find the Transaction pooler section.

supabase connection supabase connection transaction pooler

  1. 1.Save the connection info for later use: host, port, user, dbname.

Deploying n8n using huggingface space

Huggingface space provide a free tier with 16GB RAM, 2 CPU cores and 50GB of (not persistent) disk space. This is enough for hosting n8n.

**Hardware****GPU Memory****CPU****Memory****Disk****Hourly Price**
CPU Basic-2 vCPU16 GB50 GBFree!

Using this space to duplicate and deploy n8n in the easy way.

  1. 1.Sign up for a free account at <https://huggingface.co/join> and pick a profile name. tomowang is the profile in <https://huggingface.co/tomowang> as an example. Remember the profile name for later use.
  1. 1.Access <https://huggingface.co/spaces/tomowang/n8n> and click the menu drop down in top right corner and select Duplicate this space.

hf duplicate space

  1. 1.Fill or change the variable and secrets in pop-up form and click Duplicate.

hf space env

**Variable****Value**
DB_POSTGRESDB_PASSWORDsupabase db password
DB_POSTGRESDB_USERsupabase db connection user
DB_POSTGRESDB_HOSTsupabase db connection host
DB_POSTGRESDB_PORT6543
N8N_ENCRYPTION_KEYRandom string. Use openssl rand -base64 32 to generate
WEBHOOK_URLExample https://<profile>-n8n.hf.space/
N8N_EDITOR_BASE_URLExample https://<profile>-n8n.hf.space/
GENERIC_TIMEZONEConfig by requirement
TZConfig by requirement
  1. 1.Click Duplicate Space and wait for the deployment to finish. You can find the logs as following

hf space deploy start

  1. 1.Once the deployment is finished, you can find the URL as configured in the N8N_EDITOR_BASE_URL variable.

hf space deploy done

Now you can access n8n using the URL.

n8n use helmet for security headers. In production mode, it will set X-Frame-Options to sameorigin, which causes the n8n site to be blocked by the iframe in the Huggingface Space (code <https://github.com/n8n-io/n8n/blob/master/packages/cli/src/server.ts#L401-L402>).