Welcome
Getting Started
How to Guides
Application vs Blocklet
Create Blocklet
Compose Blocklets
Develop Blocklet
User and Passport
Communicate with DID Wallet
Blocklet Storage
Using Blocklet Preferences
Build blocklet for profit [deprecated]
Bundle your blocklet
Manage Blocklet Versions
Publish your blocklet to the world
Deploy your blocklet
Read/Write blockchain in blocklet
Operation your blocklet
Reference Guides
Conceptual Guides
Frequently Asked Questions
Setup on Ubuntu + FNM
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