Localhost Live Cloud is an open-source web hosting platform designed to transform spare computers into cloud infrastructure, enabling anyone to host their creations. This application relies heavily on Linux-based operating systems.
The platform uses React for the frontend and Rust's Actix Web for the backend. Cloudflared is used as the DNS provider, offering users a public domain free of cost. Each user gets their own container, similar to AWS, allowing multiple computers to work together as a distributed cloud.
The aim of this project is to connect old, unused computers and create a collaborative cloud environment.
You can use any Linux distribution, but Ubuntu or Debian is recommended.
Run the following command in your terminal to install Rust:
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shInstall Node.js and npm by running these commands:
$ sudo apt install node
$ sudo apt install npm-
Ensure the
/etc/apt/keyringsdirectory exists and download the required key:sudo mkdir -p /etc/apt/keyrings wget -qO - https://pkgs.zabbly.com/key.asc | sudo tee /etc/apt/keyrings/zabbly.ascIf
wgetis not installed:sudo apt install wget
-
Create the source file and edit it with Nano text editor:
sudo nano /etc/apt/sources.list.d/zabbly-incus-stable.sources
In the editor, paste the following:
Enabled: yes Types: deb URIs: https://pkgs.zabbly.com/incus/stable Suites: jammy Components: main Architectures: amd64 Signed-By: /etc/apt/keyrings/zabbly.asc -
Update your APT repository:
sudo apt update
-
Install Incus:
sudo apt install incus
-
Allow the user to run
sudo incuswithout a password:sudo visudo
Add the following line, replacing
<your_username>with your actual username:<your_username> ALL=(ALL) NOPASSWD: /usr/bin/incus -
Grant sudo privileges for Incus:
sudo gpasswd --add $USER incus-admin
Simply run:
$ sudo apt update
$ sudo apt install incus$ sudo sudo incus admin init$ sudo incus storage create server-storage dir$ sudo incus network incus server-network$ git clone https://github.com/TheLocalhostLive/Localhost_Live_Cloud.git$ cd llc_frontend
$ npm run dev$ cd llc_backend
$ cargo run