Used to check for browser translation.
用于检测浏览器翻译。
ブラウザの翻訳を検出する

Setup on Ubuntu + FNM

Product / Blocklet Server
Ubuntu
FNM
wangshijun
2024-01-02 10:35
· edited

Ubuntu is a popular Linux distribution loved by the developer community, Blocklet Server can run on it with the following steps.


Run as root user with Nginx#

Following are the steps to setup your blocklet server on Ubuntu as root (not recommended):

Setup Node.js with fnm#

fnm is another awesome Node.js version manager, just like nvm.

root@fnm:~$ curl -fsSL https://fnm.vercel.app/install | bash
root@fnm:~$ source /root/.bashrc
root@fnm:~$ fnm install v18

Setup nginx latest version#

Please refer to the nginx official documentation to get the latest version of nginx on Ubuntu, otherwise, your nginx may not work for blocklet server.

Verify your environment#

root@fnm:~$ node --version // v18.19.0, or above version
root@fnm:~$ nginx -version // nginx version: nginx/1.24.0

Install blocklet server#

root@fnm:~$ npm install -g @blocklet/cli

Get your server up and running#

root@fnm:~$ blocklet server init -f
root@fnm:~$ blocklet server start

Run as non-root user with Nginx#

If you want to run your blocklet server as non-root (recommended), refer to the following steps:

Setup Node.js with fnm#

Since fnm installs node.js on a per-user basis, if you have done this as root, you should do it again as ubuntu

ubuntu@fnm:~$ curl -fsSL https://fnm.vercel.app/install | bash
ubuntu@fnm:~$ source /root/.bashrc
ubuntu@fnm:~$ fnm install v18

Setup nginx latest version#

Just like the root user instructions, you must complete this step as the root user.

Setup permissions for node.js and nginx#

If 80/443 ports are available for blocklet server, all access URLs are clean without annoying ports, however, non-root users on ubuntu can not listen on 80/443 ports by default, but you allow nginx to listen on 80/443 port with following commands:

ubuntu@fnm:~$ sudo apt-get install libcap2-bin
ubuntu@fnm:~$ sudo setcap cap_net_bind_service=+ep /usr/sbin/nginx

Verify your environment#

ubuntu@fnm:~$ node --version // v18.19.0, or above version
ubuntu@fnm:~$ nginx -version // nginx version: nginx/1.24.0

Install blocklet server#

ubuntu@fnm:~$ npm install -g @blocklet/cli

Get your server up and running#

ubuntu@fnm:~$ blocklet server init -f
ubuntu@fnm:~$ blocklet server start

Run as non-root user without Nginx#

It's recommended that you use nginx as the routing engine for blocklet server when running it for production purposes, however you can run blocklet-server as non-root user without nginx if you want to evaluate it.

Setup Node.js with fnm#

Since fnm installs node.js on a per-user basis, if you have done this as root, you should do it again as ubuntu

ubuntu@fnm:~$ curl -fsSL https://fnm.vercel.app/install | bash
ubuntu@fnm:~$ source /root/.bashrc
ubuntu@fnm:~$ fnm install v18

Setup permissions for node.js#

If 80/443 ports are available for blocklet server, all access URLs are clean without annoying ports, however, non-root users on ubuntu can not listen on 80/443 ports by default, but you allow node.js to listen on 80/443 ports with following commands:

ubuntu@fnm:~$ sudo apt-get install libcap2-bin
ubuntu@fnm:~$ sudo setcap cap_net_bind_service=+ep `which node`

Verify your environment#

ubuntu@fnm:~$ node --version // v18.19.0, or above version

Install blocklet server#

ubuntu@fnm:~$ npm install -g @blocklet/cli

Get your server up and running#

ubuntu@fnm:~$ blocklet server init -f
ubuntu@fnm:~$ blocklet server start
Sticker