selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
smart-sec-cam logo

Self-host smart-sec-cam

0.4.3

Privacy-focused multi-camera security with motion detection

BetaOpen SourceGPL-3.0
Updatedlast year
LanguagePython
Setup difficultyAdvanced
Stars
255
RAM
2G
Port
8443 (HTTPS web UI and API)
Requires
Docker, Redis
Docker
ghcr.io/scottbarnesg/smart-sec-cam/sec-cam-server
Install with Docker Compose
Multiple live video feeds on a single UIReplay of recorded videos triggered by motion detection

What is smart-sec-cam?

Smart Sec Cam is a self-hosted security camera platform built for privacy. It uses a Docker-based server that collects video streams from multiple camera devices — USB webcams or Raspberry Pi camera modules — and runs motion detection to record clips automatically. A web interface served over HTTPS lets users watch live feeds and review recorded footage. Communication between cameras, the server, and the browser is encrypted. User authentication is built in, with registration controlled by an environment variable. The server requires Docker; camera nodes need Python 3.7+ with OpenCV and can be managed via systemd. The code is licensed under GPL-3.0 with no commercial tiers or cloud dependencies.

Should you self-host smart-sec-cam?

smart-sec-cam scores 43/100 on selfhost.directory (how scoring works) and ranks #29 of 36 in Video Streaming. It has 255 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is piped (70/100, 10 294 stars). It scores higher overall, so compare the two before you pick. See smart-sec-cam vs piped side by side.

Features

  • Encrypted communication
  • Flexible deployment
  • Integrated authentication
  • Motion Detection
  • Multi-camera Support
  • Systemd service support
  • Web UI for live view and playback

smart-sec-cam README

How to install smart-sec-cam

Install smart-sec-cam with Docker Compose

Docker, Docker Compose
Environment variables
API_URL, ENABLE_REGISTRATION, PYTHONUNBUFFERED
  1. Install Docker following the instructions on their website.
  2. Clone this repository
  3. Generate SSL certificates: ./create-certs.sh. Alternatively, you may place your own certs in the certs dir
  4. Pull and run the docker containers:
docker-compose pull
API_URL=<server-hostname:server-port> docker-compose up -d

For example, if the server was running on the host sec-cam-server and port 8443 (the default), you should use API_URL=sec-cam-server:8443. 5. You should now be able to view the UI at https://<server-hostname>:8443.

Server component only; cameras installed separately

How to configure smart-sec-cam

  • API_URLServer hostname and port for the API (e.g., sec-cam-server:8443)

    Server hostname and port for the API (e.g., sec-cam-server:8443)

  • ENABLE_REGISTRATION0Enable user registration (1=enable, 0=disable)

    Enable user registration (1=enable, 0=disable)

    values: 0,1

  • MOTION_THRESHOLD10000Motion detection sensitivity threshold

    Motion detection sensitivity threshold

  • PYTHONUNBUFFERED1Force Python output to be unbuffered

    Force Python output to be unbuffered

smart-sec-cam releases & version history

More in Video Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…