How to Install Puter on Ubuntu 20.04

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.

apt update

Install Node.js

First, you need to install Node.js on your system. Add the PPA to the your system by running the following command.

apt-get install curl

Output:

root@vps:~# apt-get install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  amd64-microcode eatmydata intel-microcode iucode-tool libdbus-glib-1-2 libeatmydata1 libevdev2 libimobiledevice6 libplist3 libupower-glib3 libusbmuxd6
  python3-importlib-metadata python3-jinja2 python3-json-pointer python3-jsonpatch python3-jsonschema python3-markupsafe python3-more-itertools python3-pyrsistent
  python3-zipp thermald upower usbmuxd
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libcurl4
The following packages will be upgraded:
  curl libcurl4
2 upgraded, 0 newly installed, 0 to remove and 67 not upgraded.
Need to get 396 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y

Then, run the following command,

curl -fsSL https://deb.nodesource.com/setup_20.x | bash -

Output:

root@vps:~# curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
2024-03-28 19:22:08 - Installing pre-requisites
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu focal-security InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
ca-certificates is already the newest version (20230311ubuntu0.20.04.1).
ca-certificates set to manually installed.
curl is already the newest version (7.68.0-1ubuntu2.22).
gnupg is already the newest version (2.2.19-3ubuntu2.2).
gnupg set to manually installed.
The following packages were automatically installed and are no longer required:
  amd64-microcode eatmydata intel-microcode iucode-tool libdbus-glib-1-2 libeatmydata1 libevdev2 libimobiledevice6 libplist3 libupower-glib3 libusbmuxd6
  python3-importlib-metadata python3-jinja2 python3-json-pointer python3-jsonpatch python3-jsonschema python3-markupsafe python3-more-itertools python3-pyrsistent
  python3-zipp thermald upower usbmuxd
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
  apt-transport-https
0 upgraded, 1 newly installed, 0 to remove and 67 not upgraded.
Need to get 1,704 B of archives.

Installing the latest version of Node.js is now possible by running the following command,

apt-get install nodejs

Output:

root@vps:~# apt-get install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  amd64-microcode eatmydata intel-microcode iucode-tool libdbus-glib-1-2 libeatmydata1 libevdev2 libimobiledevice6 libplist3 libupower-glib3 libusbmuxd6
  python3-importlib-metadata python3-jinja2 python3-json-pointer python3-jsonpatch python3-jsonschema python3-markupsafe python3-more-itertools python3-pyrsistent
  python3-zipp thermald upower usbmuxd
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
  nodejs
0 upgraded, 1 newly installed, 0 to remove and 67 not upgraded.
Need to get 31.6 MB of archives.
After this operation, 196 MB of additional disk space will be used.
Get:1 https://deb.nodesource.com/node_20.x nodistro/main amd64 nodejs amd64 20.12.0-1nodesource1 [31.6 MB]
Fetched 31.6 MB in 1s (24.4 MB/s)
Selecting previously unselected package nodejs.
(Reading database ... 71972 files and directories currently installed.)
Preparing to unpack .../nodejs_20.12.0-1nodesource1_amd64.deb ...
Unpacking nodejs (20.12.0-1nodesource1) ...
Setting up nodejs (20.12.0-1nodesource1) ...
Processing triggers for man-db (2.9.1-1) ...

now let's check the version of the Node.js installed,

node -v

Output:

root@vps:~# node -v
v20.12.0

Clone Puter Repository

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

Install Git if not already installed,

apt install git -y

Once it is installed, run the following command,

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

Output:

root@vps:~# git clone https://github.com/HeyPuter/puter
Cloning into 'puter'...
remote: Enumerating objects: 1746, done.
remote: Counting objects: 100% (868/868), done.
remote: Compressing objects: 100% (357/357), done.
remote: Total 1746 (delta 666), reused 595 (delta 510), pack-reused 878
Receiving objects: 100% (1746/1746), 3.82 MiB | 15.00 MiB/s, done.
Resolving deltas: 100% (1129/1129), done.

Go to the puter directory,

cd puter

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 9s

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.

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

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

Access Puter Application

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

http://your-server-ip:4000

Replace your-server-ip with your actual Server IP address.

image

Congratulations! You have successfully installed and run the Puter application on your Ubuntu 20.04 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