How to Install Puter on CentOS Stream 8

Puter is an advanced open-source desktop environment in the browser, designed to be feature-rich, exceptionally fast, and highly extensible. It can be used to build remote desktop environments or serve as an interface for cloud storage services, remote servers, web hosting platforms, and more.

Update the System

First, check for the update to keep the server up to date.

yum update -y

Install Node.js

First, we need to install Node.js on our system. CentOS/RHEL systems provide Node.js as a module via the yum package manager. Follow these commands to install Node.js Latest Version:

yum module list nodejs

Output:

[root@vps ~]# yum module list nodejs
Last metadata expiration check: 0:21:43 ago on Wed 27 Mar 2024 09:25:55 PM UTC.
CentOS Stream 8 - AppStream
Name                     Stream                   Profiles                                                    Summary                             
nodejs                   18                       common [d], development, minimal, s2i                       Javascript runtime                  
nodejs                   20 [e]                   common [d] [i], development, minimal, s2i                   Javascript runtime                  

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[root@vps ~]# 

This command will list the available Node.js streams. Choose the appropriate stream, for example, nodejs:20, and install it:

yum module install nodejs:20

Verify the installation by checking the Node.js version:

node -v

Output:

[root@vps ~]# node -v
v20.11.0
[root@vps ~]#

Clone Puter Repository

Install Git if not already installed,

dnf install git -y

Now that Node.js is installed, let's proceed to clone the Puter repository from GitHub and navigate into the cloned directory,

git clone https://github.com/HeyPuter/puter

Output:

[root@vps ~]# git clone https://github.com/HeyPuter/puter
Cloning into 'puter'...
remote: Enumerating objects: 1713, done.
remote: Counting objects: 100% (874/874), done.
remote: Compressing objects: 100% (333/333), done.
remote: Total 1713 (delta 681), reused 617 (delta 540), pack-reused 839
Receiving objects: 100% (1713/1713), 3.80 MiB | 18.73 MiB/s, done.
Resolving deltas: 100% (1103/1103), done.
[root@vps ~]# 

Go to the puter directory,

cd puter

Install Puter Dependencies

Inside the puter directory, install the required dependencies using npm,

npm install

Output:

[root@vps puter]# npm install

added 219 packages, and audited 220 packages in 2s

33 packages are looking for funding
  run `npm fund` for details

4 moderate severity vulnerabilities

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
[root@vps puter]#

Run Puter Application

After installing dependencies, you can start the Puter application,

npm start

Output:

[root@vps puter]# npm start

> puter.com@1.0.0 start
> nodemon --exec "node dev-server.js"

[nodemon] 2.0.22
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,json,mjs,jsx,svg,css
[nodemon] starting `node dev-server.js`

-----------------------------------------------------------

Puter is now live at:  http://localhost:4000

-----------------------------------------------------------
[root@vps puter]#

Configure Firewall

Ensure that the required port (default: 4000) is open in your firewall to allow external access to the Puter application. Check the firewall status,

firewall-cmd --list-all

Output:

[root@vps puter]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
[root@vps puter]# 

If the port is not open, add it to the firewall rules,

firewall-cmd --zone=public --add-port=4000/tcp --permanent

Reload the firewall to apply changes,

firewall-cmd --reload

Output:

[root@vps puter]# firewall-cmd --reload
success
[root@vps puter]# 

Access Puter Application

Now, you can access the Puter application using a web browser. Open your browser and navigate to http://your-server-ip:4000.

image

Congratulations! You have successfully installed and run the Puter application on your CentOS Stream 8 system using Node.js. You can now utilize Puter for various computational tasks as needed.


CrownCloud - Get a SSD powered KVM VPS at $4.5/month!
Use the code WELCOME for 10% off!

1 GB RAM / 25 GB SSD / 1 CPU Core / 1 TB Bandwidth per month

Available Locations: LAX | MIA | ATL | FRA | AMS