banner
胡鹤仙的Blockchain Blog

胡鹤仙的Blockchain Blog

twitter
github
telegram
medium

Daily Skill: Deploying n8n Service with Zeabur

There are two tools mentioned in the title, let me introduce them briefly.

Zeabur is a service deployment platform developed by Chinese developers. Regardless of the programming language or development framework used, you can deploy it with just a few simple buttons. Common platforms like Ghost, Halo, Umami, and even WordPress can be deployed.

n8n is an open-source workflow automation tool, similar to IFTTT. iOS users should find it easier to understand, as it is like shortcuts that trigger certain actions based on certain conditions.

cover.webp

"Cyber Space"#

Because I consume information every day, such as articles, music, videos, and various tools and software, they are scattered across different platforms, making it difficult to manage. If I can forward them to one place and categorize them with tags, it will be more convenient for future retrieval. So I chose to use n8n to forward the articles I read, the videos I liked or donated to, the music I like to listen to, the books I have read, the movies I have watched, and various tools I have collected to a Telegram channel. Different types of content are labeled with different tags, and I can quickly and conveniently find them through tag indexing. This is my "Cyber Space".

So far, I have seen three people doing this: @novoreorx, @rayepeng_, and @pseudo_yu. Their blogs also have detailed introductions and tutorials, and I referred to their content a lot during the deployment process.

How to deploy n8n#

n8n requires a database. According to the Zeabur official documentation, I chose to use PostgreSQL. So install the PostgreSQL client in advance. I used PostgreSQL 15, which can be downloaded from the official website. The purpose of this step is to connect to the PostgreSQL installed by Zeabur and create a new database named "n8n".

Install PostgreSQL#

There is a Marketplace in Zeabur, search for PostgreSQL and you can deploy the service with one click.

image

After deploying the database, you can see the relevant information of the database in the "connect" section. You will need the Host, Port, and Username.

image

Then open the installed PostgreSQL 15 client, right-click on the top left corner of "Server", Register→Server, enter the Host, Port, and Username mentioned above, and click Save to save.

image

image

The Server I just created is named "n8n". Then right-click on the Database under "n8n", click Create Database, and create a database named "n8n". This is a very important step, and the name must be "n8n".

image

image

That's it for the PostgreSQL settings.

As for the cost of Zeabur, don't worry, they provide a free plan with a monthly free quota of $5, which I think should be enough.

Install n8n#

You can also find n8n in the Marketplace and click to deploy it.

image

Open n8n, and there will be settings for environment variables on the right side. You don't need to modify them, but you need to add two more variable rules, otherwise there will be errors when creating credentials using n8n.

According to the environment variables I provided, change the custom domain to your own, and then copy and paste all of them.

DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
PASSWORD=78nJ3L6u9Oh2
DB_POSTGRESDB_USER=${POSTGRES_USERNAME}
DB_POSTGRESDB_HOST=${POSTGRES_HOST}
DB_POSTGRESDB_DATABASE=n8n
WEBHOOK_URL=https://yourdomain
VUE_APP_URL_BASE_API=https://yourdomain
DB_TYPE=postgresdb
DB_POSTGRESDB_PORT=${POSTGRES_PORT}
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=72
EXECUTIONS_DATA_SAVE_ON_ERROR=all
EXECUTIONS_DATA_SAVE_ON_SUCCESS=none
EXECUTIONS_DATA_SAVE_ON_PROGRESS=false
EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=false

image

The last step is to bind a custom domain in Zeabur, which must be consistent with the environment variables mentioned above. Please refer to the Zeabur documentation for specific binding methods.

How to use n8n#

I haven't fully understood this aspect myself, and all the workflows are based on the code shared by @novoreorx and @pseudo_yu on GitHub. I imported them with one click and created my own credentials, modifying the information to my own, and then they can be run.

Configuring YouTube is a bit tricky, as you need to apply for the official API. However, it is quite simple to follow the official documentation and video. As for Bilibili, Netease Cloud Music, Raindrop, and GitHub activities, you only need to use RSShub to generate the corresponding RSS links. Let me say that RSS is awesome, RSShub is awesome, and DIYgod is awesome.

I uploaded my workflows to GitHub, just upload these .json files to n8n.

image

YouTube uses Google's official API, just follow the documentation. I use Raindrop as a bookmarking tool, both for collecting tools and articles, so I created two collections named "article" and "tool" and enabled the sharing function to get their RSS addresses. GitHub and Douban have official RSS addresses, just use them directly. Netease Cloud Music and Bilibili need to use RSShub to generate RSS addresses. I originally wanted to add Twitter, but its API has been messed up by Musk, so I gave up.

References#


The above is the entire process of deploying n8n using Zeabur. Although it is not as fast and convenient as deploying with Docker, it is still worth trying. Also, feel free to follow my Telegram personal channel to see the content I am interested in, maybe we have something in common.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.