Raspberry Pi
Run PC2 on your own Raspberry Pi for maximum sovereignty.
⚠️
Coming Soon: Pre-built Raspberry Pi images are in development. For now, follow the manual installation below.
Hardware Requirements
| Component | Minimum | Recommended |
|---|---|---|
| Model | Raspberry Pi 4 (4GB) | Raspberry Pi 5 (8GB) |
| Storage | 32GB microSD | 128GB+ SSD via USB |
| Power | Official 3A PSU | Official 5A PSU (Pi 5) |
| Network | WiFi | Ethernet (recommended) |
| Cooling | Passive heatsink | Active fan/case |
Manual Installation
1. Flash Raspberry Pi OS
- Download Raspberry Pi Imager
- Select Raspberry Pi OS Lite (64-bit)
- Configure WiFi and SSH in settings
- Flash to your SD card
2. Boot and Connect
# Find your Pi's IP (check router or use)
ping raspberrypi.local
# SSH in
ssh pi@raspberrypi.local3. Install Node.js
# Update system
sudo apt update && sudo apt upgrade -y
# Install Node.js 20
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# Verify
node --version4. Install PC2
# Clone repository
git clone https://github.com/Elacity/pc2.net
cd pc2.net
# Install dependencies
npm install
# Build
cd pc2-node && npm run build && cd ..5. Create Service
sudo cat > /etc/systemd/system/pc2-node.service << 'EOF'
[Unit]
Description=PC2 Node
After=network.target
[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi/pc2.net/pc2-node
ExecStart=/usr/bin/node dist/index.js
Restart=on-failure
Environment=PORT=4200
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable pc2-node
sudo systemctl start pc2-node6. Access Your Cloud
Open http://raspberrypi.local:4200 in your browser.
Performance Tips
Use SSD Storage
SD cards are slow. For better performance:
- Get a USB 3.0 SSD enclosure
- Boot from SSD (use Raspberry Pi Imager)
- Much faster file operations
Enable Swap
sudo dphys-swapfile swapoff
sudo sed -i 's/CONF_SWAPSIZE=100/CONF_SWAPSIZE=2048/' /etc/dphys-swapfile
sudo dphys-swapfile setup
sudo dphys-swapfile swaponOverclock (Pi 4)
Add to /boot/config.txt:
over_voltage=6
arm_freq=2000
gpu_freq=750⚠️
Overclocking requires good cooling. Monitor temperature with vcgencmd measure_temp.
Remote Access
Option A: *.ela.city (Recommended)
Register for free HTTPS subdomain:
curl -X POST https://69.164.241.210/api/gateway/register \
-H "Content-Type: application/json" \
-d '{"subdomain": "myhome", "endpoint": "http://YOUR_PUBLIC_IP:4200"}'This requires port forwarding on your router (port 4200 → Pi’s local IP).
Option B: Tailscale
For private access without port forwarding:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale upAccess via Tailscale IP from any device.
Power Outage Protection
UPS (Recommended)
Use a small UPS to protect against power outages.
Auto-Recovery
The systemd service automatically restarts PC2 after power loss.
Your home. Your cloud. Your sovereignty.