Self-Hosting Setup
Run Webcam.org Hub on your own hardware in under 15 minutes
System Requirements
Minimum
- • Raspberry Pi 3B+ or better
- • 1GB RAM
- • 8GB storage
- • Debian/Ubuntu Linux
Recommended
- • Raspberry Pi 4 (4GB+)
- • NAS or dedicated server
- • 500GB+ for recordings
- • Gigabit ethernet
Quick Start (One-Line Install)
curl -sSL https://get.webcam.org | sudo bashThis script installs the Hub, sets up systemd, and configures Nginx. It is safe to run on Raspberry Pi OS, Ubuntu, or Debian.
Manual Installation
1. Install Dependencies
sudo apt update
sudo apt install -y python3 python3-pip nginx postgresql ffmpeg2. Clone and Install Hub
git clone https://github.com/webcam-org/hub.git /opt/webcam-hub
cd /opt/webcam-hub
pip3 install -r requirements.txt3. Configure Database
sudo -u postgres psql -c "CREATE DATABASE webcam_hub;"
python3 manage.py migrate4. Set Up systemd Service
sudo cp systemd/webcam-hub.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now webcam-hubThe Hub will now run on port 8423 and start automatically on boot.
5. Configure Nginx (Optional)
sudo cp nginx/webcam-hub.conf /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-available/webcam-hub.conf /etc/nginx/sites-enabled/
sudo systemctl reload nginxThis proxies the Hub through Nginx and enables HTTPS (if you have a domain and SSL cert).
Next Steps
- Access the Hub at
http://your-server-ip:8423 - Create an admin account
- Add your first camera (ONVIF or RTSP)
- Download the mobile app
- Configure motion detection and notifications
Troubleshooting
Hub service will not start
Check logs with:
sudo journalctl -u webcam-hub -n 50Common issues: missing Python dependencies, database not initialized, port 8423 already in use.
Cannot discover cameras
Ensure your cameras support ONVIF or RTSP. Check that they are on the same network as the Hub. Try adding cameras manually using their IP address and credentials.
Remote access not working
For remote access without port forwarding, consider the Basic Relay service. Otherwise, set up port forwarding or a VPN.
Need Help?
Join our community forum or check the GitHub wiki for detailed guides and troubleshooting.