Skip to content

Latest commit

ย 

History

History
372 lines (270 loc) ยท 9.97 KB

File metadata and controls

372 lines (270 loc) ยท 9.97 KB

โ˜๏ธ PC2.NET

Your Sovereign Cloud. Your Hardware. Your Rules.

A Web3 desktop operating system that runs entirely on YOUR hardware.
Login with your blockchain wallet. Own your data. Control your computation.

Quick Start ยท Vision ยท Features ยท Installation ยท Roadmap

License Node.js Status


๐ŸŒ The Vision

"Stop renting your digital life. Start owning it."

Every file you upload, every calculation you run, every AI conversation you haveโ€”it all lives on someone else's server. You're paying rent for your own digital life. You're trusting strangers with your most private data.

PC2 changes that.

PC2 is the cloud that lives in YOUR house. Not a subscription. Not a service. Ownership.

  • ๐Ÿ  Your Hardware - Runs on Raspberry Pi, Mac, Linux, or VPS
  • ๐Ÿ” Your Identity - Login with your blockchain wallet, no passwords
  • ๐Ÿ“ Your Files - Stored on IPFS, encrypted with your keys
  • ๐Ÿงฎ Your Computation - WASM binaries execute on YOUR node, not the browser
  • ๐ŸŒ Access Anywhere - Open any browser, connect your wallet, see your desktop

Built on Puter - The beautiful, Puter-compatible interface you know, with sovereign infrastructure you own.


โšก Quick Start

From Source (Recommended for Developers)

# Clone the repository
git clone https://github.com/Elacity/pc2.net
cd pc2.net

# Install dependencies
npm install

# Start the server
npm start

โ†’ Open your browser at http://localhost:4202

Docker

docker run -p 4202:4202 ghcr.io/elacity/pc2:latest

Raspberry Pi Image (Coming Soon)

Download the pre-built image, flash to SD card, and boot.


โœจ Features

Core Platform

  • โœ… Beautiful Desktop UI - Full-featured desktop environment in the browser
  • โœ… Wallet Authentication - Login with MetaMask, WalletConnect, or social login via Particle Network
  • โœ… IPFS Storage - Decentralized file storage on your node
  • โœ… Real-time Sync - WebSocket-powered live updates across tabs and devices
  • โœ… Built-in Apps - File manager, text editor, image viewer, video player, and more

Privacy & Sovereignty

  • โœ… Self-Hosted - Everything runs on YOUR hardware
  • โœ… No External Dependencies - 100% offline-capable after initial setup
  • โœ… Wallet-Scoped Data - Each wallet has isolated, encrypted storage
  • โœ… Session Persistence - Your session survives page refreshes and device switches

Advanced Capabilities

  • โœ… WASM Execution - Run WebAssembly binaries directly on your node (not in browser!)
  • โœ… AI Chat Integration - Local AI via Ollama, or cloud providers (OpenAI, Claude, Gemini, xAI)
  • โœ… Backup & Restore - One-click backup to external storage, restore to any node
  • โœ… Auto-Update System - macOS-style one-click updates with progress UI
  • โœ… Access Control - Wallet-based permissions for multi-user nodes
  • โœ… Extension System - Add custom functionality via Puter-compatible extensions

๐ŸŽฏ Why PC2?

Traditional Cloud PC2
โŒ Data stored on company servers โœ… Data stored on YOUR hardware
โŒ Pay monthly subscriptions forever โœ… Buy hardware once, own forever
โŒ Companies can read/scan your files โœ… Files encrypted with YOUR keys
โŒ Can be locked out at any time โœ… Your keys = your access, always
โŒ Computation happens in their cloud โœ… WASM runs on YOUR node
โŒ Identity tied to email/password โœ… Wallet IS your identity

Cost Comparison

Service Year 1 Year 2+
Google Drive (2TB) $120 $120/year forever
Dropbox Plus $144 $144/year forever
PC2 (Raspberry Pi) $130 (one-time hardware) $24/year (electricity only)

ROI: Break even at 15 months, save $96/year thereafter.


๐Ÿ–ฅ๏ธ Installation

System Requirements

Component Minimum Recommended
OS Linux, macOS, Windows Linux (Raspberry Pi OS, Ubuntu)
Node.js 20.19+ 22.15+ LTS
RAM 2GB 4GB
Storage 10GB 128GB+

Local Development Setup (Step-by-Step)

This is the recommended way to run PC2 locally for development.

Prerequisites

  1. Git
  2. Node.js 22.15+ (recommended via nvm)
  3. npm (bundled with Node)
  4. Native build tools (required by native modules such as better-sqlite3 and node-datachannel)
    • macOS: install Xcode Command Line Tools (xcode-select --install)
    • Ubuntu/Debian: install build-essential python3 make g++
  5. Optional: canvas system dependencies, if you need PDF/text thumbnails

1) Clone repository

git clone https://github.com/Elacity/pc2.net
cd pc2.net

2) Select Node.js version

# If using nvm
nvm install 22.15.0
nvm use 22.15.0

# Verify
node -v
npm -v

3) Install dependencies (root + pc2-node)

# Root dependencies
npm install

# pc2-node dependencies
cd pc2-node
npm install
cd ..

4) Build pc2-node

cd pc2-node
npm run build
cd ..

5) Start PC2 locally

npm run start:pc2

Open: http://localhost:4200

6) Development run modes

# Starts pc2-node (PORT=4200)
npm run dev:pc2

# Backend TS watch mode (from pc2-node/)
cd pc2-node
npm run dev

Native module troubleshooting

If startup fails with errors like:

  • Cannot find module .../node_datachannel.node
  • Could not locate the bindings file ... better_sqlite3.node

rebuild native dependencies using the same Node version you run:

cd pc2-node
npm rebuild node-datachannel better-sqlite3

Method 2: Docker

mkdir -p pc2/config pc2/data
docker run -d \
  --name pc2 \
  -p 4202:4202 \
  -v $(pwd)/pc2/config:/etc/pc2 \
  -v $(pwd)/pc2/data:/var/pc2 \
  ghcr.io/elacity/pc2:latest

Method 3: Raspberry Pi

  1. Download PC2 OS image (coming soon)
  2. Flash to SD card using Raspberry Pi Imager
  3. Insert SD card and boot
  4. Open browser to http://pc2.local
  5. Connect wallet and done!

๐Ÿ”ง Configuration

Configuration is stored in volatile/config/config.json:

{
  "env": "dev",
  "http_port": 4202,
  "domain": "localhost",
  "pc2_enabled": true
}

Environment Variables

Variable Description Default
PORT HTTP server port 4100
CONFIG_PATH Path to config directory ./volatile/config

๐Ÿ›ฃ๏ธ Roadmap

โœ… Phase 1: Foundation (Complete)

  • Desktop UI with file operations
  • Wallet-based authentication
  • IPFS storage integration
  • Real-time WebSocket sync

โœ… Phase 2: Core Platform (Complete)

  • SQLite persistence
  • Session management
  • App ecosystem (viewer, editor, player)
  • Backup & restore system

โœ… Phase 2.6: WASM Integration (Complete)

  • WASM runtime service
  • Calculator demo app (runs on YOUR node!)
  • File processor demo app
  • WASI file I/O support

โœ… Phase 3: Packaging & Distribution (Complete)

  • Docker image with multi-platform builds
  • First-run setup wizard
  • Node identity generation (DID)
  • Auto-update system (macOS-style)

โœ… Phase 4: Network & Security (Complete)

  • NAT traversal via Boson Active Proxy
  • Super Node infrastructure
  • Web gateway with wildcard SSL (*.ela.city)
  • Access control (wallet-based permissions)

๐Ÿšง Phase 5: Production Hardening (In Progress)

  • End-to-end testing
  • DHT-based username registry
  • Super node failover
  • Performance optimization

๐Ÿ“‹ Phase 6: dDRM & Marketplace (Future)

  • Decentralized Digital Rights Management
  • WASMER runtime for encrypted binaries
  • P2P content marketplace
  • AI agent economy

๐Ÿค Contributing

We welcome contributions! PC2 is built on Puter and extends it with sovereign, self-hosted capabilities.

# Fork the repository
git clone https://github.com/YOUR_USERNAME/pc2.net
cd pc2.net

# Create a feature branch
git checkout -b feature/your-feature

# Make changes and commit
git commit -m "Add your feature"

# Push and create a Pull Request
git push origin feature/your-feature

๐Ÿ“š Documentation


๐Ÿ—๏ธ Built With


๐Ÿ”— Links


๐Ÿ“„ License

This project is licensed under AGPL-3.0.

Built with โค๏ธ by the Elacity team for the Elastos ecosystem.


"You're not renting your digital life. You're owning it."
PC2 - The cloud that lives in your house.