Your sovereign personal cloud in minutes.
| Path | Time | Best For |
|---|---|---|
| Local Testing | 2 min | Trying PC2 on your computer |
| VPS Deployment | 15 min | Always-on cloud server |
| ARM Devices | 20 min | Raspberry Pi, Jetson Nano |
Perfect for: Developers, curious users, quick evaluation
Open Terminal and paste this single command:
curl -fsSL https://raw.githubusercontent.com/Elacity/pc2.net/main/scripts/start-local.sh | bashThat's it! The script automatically:
- Installs Node.js if needed (via nvm)
- Installs PM2 process manager (enables auto-restart)
- Downloads PC2
- Installs all dependencies
- Builds and starts the server with PM2
Windows runs PC2 via WSL2 (Windows Subsystem for Linux). We have a dedicated installer that handles WSL-specific setup (systemd, node-pty compilation, PM2 persistence).
Step 1: Install WSL2 (One-Time Only)
Open PowerShell as Administrator and run:
wsl --installRestart your computer when prompted.
Step 2: Install PC2
Open Ubuntu from your Start menu, then paste:
curl -fsSL https://raw.githubusercontent.com/Elacity/pc2.net/main/scripts/install-wsl.sh | bashThe script validates your WSL environment, offers to enable systemd, installs all dependencies, and starts PC2.
Step 3: Open PC2
Open your Windows browser to http://localhost:4200
For detailed WSL configuration, troubleshooting, and systemd setup, see the WSL Guide.
- You'll see the ElastOS banner
- Dependencies install (2-5 minutes first time)
- Server starts and shows:
PC2 Node running on http://localhost:4200
- Open your browser (Chrome, Safari, Firefox)
- Go to:
http://localhost:4200 - Connect your wallet to claim your personal cloud
- Done! You're the owner of this PC2 node.
PC2 runs with PM2 process manager, which keeps the server running in the background:
# View live logs
pm2 logs pc2
# Stop PC2
pm2 stop pc2
# Start PC2 (if stopped)
pm2 start pc2
# Restart PC2
pm2 restart pc2
# Check status
pm2 status
# Restart from scratch
pm2 delete pc2
rm -rf ~/pc2.net
# Then run the one-liner again
# Development mode (hot reload, without pm2)
cd ~/pc2.net/pc2-node && npm run devNote: You can also restart PC2 from the UI via the user dropdown menu (click your avatar > Restart PC2).
Perfect for: Always-on access, production use
| Provider | Price | RAM | Link |
|---|---|---|---|
| Contabo | $5.99/mo | 4GB | contabo.com |
| DigitalOcean | $6/mo | 1GB | digitalocean.com |
| Vultr | $6/mo | 1GB | vultr.com |
| Hetzner | €4.15/mo | 2GB | hetzner.com |
Requirements: Ubuntu 22.04, 2GB RAM, 20GB disk
ssh root@your-server-ipcurl -sSL https://raw.githubusercontent.com/Elacity/pc2.net/main/scripts/install-pc2.sh | bashOpen in browser: http://your-server-ip:4100
Register a username for username.ela.city access:
- Open Settings → PC2
- Enter a username
- Click "Register"
Now accessible at: https://username.ela.city
# View logs
cd ~/pc2 && docker compose logs -f
# Stop PC2
docker compose down
# Restart PC2
docker compose restart
# Update PC2
docker compose pull && docker compose up -dPerfect for: Raspberry Pi 4/5, Jetson Orin Nano, home servers
- Raspberry Pi 4/5 (4GB+ RAM) or Jetson Orin Nano
- Raspberry Pi OS or Ubuntu 22.04
- Internet connection
curl -sSL https://raw.githubusercontent.com/Elacity/pc2.net/main/scripts/install-arm.sh | bash- Node.js 20 + PM2 process manager
- Build tools
- WireGuard (kernel module on Pi, wireguard-go on Jetson -- automatic)
- PC2 from source, built and running
That's it -- one command. The script handles everything including WireGuard setup. PC2 runs via PM2 (survives SSH disconnect and reboots).
- Open
http://<device-ip>:4200in your browser (the IP is shown after install) - Login with your wallet (MetaMask, WalletConnect, etc.)
- Choose your domain name in the setup wizard
- PC2 automatically activates WireGuard and your domain goes live at
https://yourname.ela.city
Page loads are ~1.5 seconds from anywhere. If WireGuard isn't available, PC2 falls back to Boson relay (slower but works everywhere).
# View logs
pm2 logs pc2
# Stop PC2
pm2 stop pc2
# Start PC2
pm2 start pc2
# Restart PC2
pm2 restart pc2
# Check status
pm2 status
# Check WireGuard tunnel
sudo wg show wg0- Click "Login with Wallet"
- Connect MetaMask, WalletConnect, or 50+ other methods
- You're now the owner of this PC2 node
- Files: Upload, organize, and access your files
- AI Assistant: Chat with AI (Settings → AI to configure)
- Apps: Run web apps in your personal cloud
- Settings: Customize your experience
- GitHub: github.com/Elacity/pc2.net/issues
- Documentation: docs.ela.city
# Find and kill the process
lsof -ti:4200 | xargs kill -9# Install Node.js 20
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt-get install -y nodejs# Clean and rebuild
cd pc2-node
npm run clean
npm run build- Check firewall:
sudo ufw allow 4200 - Use your local IP, not
localhost - For remote access, enable Active Proxy in Settings
PC2 checks for updates automatically. When available:
- Click your avatar in the top-right corner
- You'll see "Update Available" in the dropdown (or go to Settings → System)
- Click "Update Now" to see version details and release notes
- Click "Install Update" to apply
PC2 restarts automatically after updates (when running with PM2 or systemctl).
Your data is always safe during updates.
To restart the server from the UI:
- Click your avatar in the top-right corner
- Click "Restart PC2"
- Confirm in the dialog
If running with PM2 (local install script) or systemctl (VPS), the server restarts automatically. If running directly via npm start (dev mode), you'll see instructions to restart manually.