Nightlight GitHub

A self-hosted baby monitor

Baby monitoring on your own server

Watch and listen to your local cameras, save recordings, and review estimated sleep patterns. Nightlight runs on your own hardware and works in your browser.

  • Open source
  • No Nightlight subscription
  • Yours to host
Nightlight's sleeping baby resting beneath a golden crescent moon and stars

Features

What Nightlight does

Live camera views

Watch low-latency live video from your local cameras, grouped by child, with the rooms that matter together in one view.

  • Video and audio together
  • Works with RTSP and ONVIF cameras

Audio and alerts

Listen in while you unwind. The companion mobile apps add background listening, with motion and sound notifications you can configure.

  • Background listening on phones
  • Optional motion and sound alerts

Recordings and sleep

Save a recording, revisit a wake-up, and explore estimated sleep patterns. Review and correct the estimates in the morning.

  • Estimated sleep patterns
  • Recordings stay on your server

Screenshots

Inside the app

The same app on your computer and your phone. Select a screenshot to see it at full size.

Desktop dashboard with camera controls and navigation; the test camera shows no signal.
Mobile camera setup form with RTSP connection details and ONVIF discovery.

Camera dashboardEvery camera in one view, on a computer.

Add a cameraSet up camera connections from your phone.

Settings and appearanceSee the settings screen

Self-hosting

How it works

Nightlight connects to the cameras you already have and brings them into your browser. The core app runs on your network, with your footage and settings stored on your server.

Read the technical overview

Remote access is optional and needs setup. Notification providers may use external services.

Setup

Getting started

You'll need a camera with a local RTSP stream and an always-on computer that runs Docker.

  1. Check your camera

    It needs a local RTSP stream. ONVIF support makes adding it a little easier.

  2. Install Nightlight

    Run the container on a Linux server or Unraid box, with persistent storage for your data.

  3. Configure the app

    Create your account, add children and cameras, then check audio, timezone and any alerts.

Use an always-on Linux server with Docker, on the same network as your cameras; amd64 and arm64 are both supported. Replace /path/to/your/data with a folder for the database and recordings (allow room for video, and back it up), and set PUID and PGID to its owner's IDs, which id your_username shows. You can replace UTC with your timezone, such as Australia/Sydney.

docker run -d \
  --name nightlight \
  --network host \
  --restart unless-stopped \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  --stop-timeout 30 \
  -e PUID=99 \
  -e PGID=100 \
  -e TZ=UTC \
  -v /path/to/your/data:/app/data \
  sauso/nightlight:latest

Host networking serves the web interface on port 4000 of your server. Keep the log limits and 30-second stop timeout: they cap Docker's log growth and give recordings time to finish during shutdown.

Then open http://<server-ip>:4000 from a device on the same network and create the admin account before anyone else can reach it.Full setup guide

Nightlight is on the Community Applications store: open the Apps tab, search "nightlight" and select Install. Check the data directory (default /mnt/user/appdata/nightlight), keep host networking, then select Apply.

To install the template manually instead, run this in the Unraid terminal, then go to Docker → Add Container and pick nightlight from the Template dropdown:

mkdir -p /boot/config/plugins/dockerMan/templates-user
wget -O /boot/config/plugins/dockerMan/templates-user/my-nightlight.xml \
  https://raw.githubusercontent.com/sauso/nightlight/main/unraid-template.xml
Then open http://<server-ip>:4000 from a device on the same network and create the admin account before anyone else can reach it.Full setup guide

Help

Frequently asked questions

Something else on your mind?

Ask on GitHub
What does “self-hosted” mean?

You run Nightlight on your own always-on computer or server using Docker. You manage the installation, storage, updates and backups. This website is an introduction to the app; your camera dashboard runs on your own installation.

Is Nightlight free?

Nightlight is open source under the MIT license, with no Nightlight subscription. You provide the cameras, server and storage. Optional services, such as some notification providers, may have their own costs.

Will it work with my cameras?

Your cameras need to expose a local RTSP stream. ONVIF can help discover stream settings and supported controls. Camera codecs and browser support vary, so check the camera guide and test your setup before depending on it.

Can I use it on my phone?

Yes. Nightlight has a mobile-friendly web interface and can be added to your home screen. Companion Android and iOS apps offer additional native features. Background audio and notifications have platform-specific requirements; see the mobile app guide.

Can I check in away from home?

Local network use is the default. Remote access is possible with additional secure networking setup. Follow the remote access instructions rather than exposing an unconfigured installation to the internet.

Is it a safety or medical device?

No. Nightlight is a convenience tool and is not a substitute for adult supervision. Streams, networks and notifications can fail. Sleep insights are estimates, not medical measurements or advice.

Nightlight is free and open source. If it helps your family, you can support its development.

Donate with PayPal