SYMS OS Logo

Setup Guide

← Back to Home

🚀 SYMS OS Edge - Setup Guide

Complete step-by-step guide for deploying SYMS OS Edge Node on Raspberry Pi, PC, or Mac.

💻 Hardware Requirements

Minimum Requirements

Recommended Requirements

💡 Tip: For production deployments, use industrial-grade SD cards or external SSDs. They provide better reliability and longer lifespan in continuous operation.

Optional Accessories

⚙️ Software Prerequisites

Development Machine

Software Purpose Download
Git Version control git-scm.com
Docker Desktop Container runtime docker.com
VS Code Code editor (recommended) code.visualstudio.com
SSH Client Remote access Built-in (Windows/Linux/Mac)

Raspberry Pi

🔧 Initial Pi Setup

Step 1: Flash SD Card

Using Raspberry Pi Imager:
  1. Download and install Raspberry Pi Imager
  2. Insert microSD card into your computer
  3. Click Choose OS → Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit)
  4. Click Choose Storage → Select your microSD card
  5. Click Settings (⚙️) and configure:
    • ✅ Set hostname: syms-edge-01
    • ✅ Enable SSH (use password authentication)
    • ✅ Set username: pi
    • ✅ Set password: (choose a strong password)
    • ✅ Configure wireless LAN (optional)
    • ✅ Set locale settings (timezone, keyboard)
  6. Click Write and wait for completion

Step 2: First Boot

  1. Insert SD card into Raspberry Pi
  2. Connect Ethernet cable (recommended for initial setup)
  3. Power on the Pi
  4. Wait 2-3 minutes for first boot initialization

Step 3: Find Pi IP Address

Option 1: From your router

Check DHCP leases for hostname syms-edge-01

Option 2: Network scan (Linux/Mac/Windows with nmap)
nmap -sn 192.168.1.0/24
Option 3: Direct connection (if mDNS works)
ssh [email protected]

Step 4: Initial SSH Connection

# Connect via IP address
ssh [email protected]

# Or via hostname
ssh [email protected]

# Default password: (what you set in Raspberry Pi Imager)

🌐 Network Configuration

Static IP Configuration (Recommended for Production)

# Edit dhcpcd.conf
sudo nano /etc/dhcpcd.conf

# Add these lines (adjust for your network):
interface eth0
static ip_address=192.168.1.100/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4

# Save and reboot
sudo reboot

Wi-Fi Hotspot Mode (Optional)

Transform your Pi into a Wi-Fi access point for student devices:

# Install required packages
sudo apt update
sudo apt install hostapd dnsmasq

# Configure hostapd
sudo nano /etc/hostapd/hostapd.conf

# Add configuration:
interface=wlan0
driver=nl80211
ssid=SYMS-Education
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=YourSecurePassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

🐳 Docker Deployment

Quick Start (Recommended)

# Clone repository
git clone https://github.com/lvmre/syms-os-edge.git
cd syms-os-edge

# Copy environment template
cp .env.example .env

# Edit configuration
nano .env

# Start services
docker-compose up -d

# Check status
docker-compose ps
🎯 Success! SYMS OS Edge is now running. Access the admin dashboard at http://<pi-ip>:3000

Environment Configuration

Key settings in .env file:

Variable Description Example
NODE_ENV Environment mode production
POSTGRES_PASSWORD Database password (generate strong password)
JWT_SECRET Authentication secret (generate random string)
CONTENT_STORAGE Content library path /mnt/content

✅ Verification

Check Service Status

# View all containers
docker-compose ps

# Check logs
docker-compose logs -f

# Test API gateway
curl http://localhost:8080/health

# Test admin dashboard
curl http://localhost:3000

Access Web Interfaces

Default Credentials

⚠️ Important: Change these credentials immediately after first login!
  • Admin Dashboard: [email protected] / changeme123
  • Grafana: admin / admin
  • PostgreSQL: postgres / (check .env file)

🔍 Troubleshooting

Common Issues

1. Cannot connect via SSH

2. Docker services won't start

# Check Docker installation
docker --version

# View detailed logs
docker-compose logs --tail=50

# Restart services
docker-compose restart

3. Out of disk space

# Check disk usage
df -h

# Clean Docker images
docker system prune -a

# Clear logs
sudo journalctl --vacuum-time=7d

4. Performance issues

Getting Help

🎓 Next Steps: Read the Developer Guide to learn about customization, content management, and fleet deployment strategies.