How to Install Puter on AlmaLinux 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:08:21 ago on Tuesday 26 March 2024 10:07:30 PM UTC.
AlmaLinux 8 - AppStream
Name                      Stream                    Profiles                                                 Summary                              
nodejs                    10 [d]                    common [d], development, minimal, s2i                    Javascript runtime                   
nodejs                    12                        common [d], development, minimal, s2i                    Javascript runtime                   
nodejs                    14                        common [d], development, minimal, s2i                    Javascript runtime                   
nodejs                    16                        common [d], development, minimal, s2i                    Javascript runtime                   
nodejs                    18                        common [d], development, minimal, s2i                    Javascript runtime                   
nodejs                    20 [e]                    common [d], 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 AlmaLinux 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