Nest RTSP Documentation

Docker Compose Installation

Prerequisites

Ensure that you have the following information:

Description Environmental Variable Source Value
Google OAuth Client ID GA_OAUTH_CID Google Cloud Platform Developers Console
Google OAuth Client Secret GA_OAUTH_CS Google Cloud Platform Developers Console
Google SDM Project ID GA_SDM_PID Device Access Console
Google OAuth Redirect URL GA_OAUTH_RDR Hostname which is able to access the machine.
Needs to match one of the Authorized redirect URIs provided to the Google OAuth Consent Screen. (e.g. http://nrtsp.mydomain.local:3000)

Additionally, you can specify the following optional environmental variables per your own specifications. Note: changing these values may cause unintended behavior.

Description Environmental Variable Default
HTTP GUI Port HTTP_PORT
3000
RTSP Port which will be published for clients RTSP_CLIENT_PORT
554
RTSP Port which ffmpeg will stream to RTSP_SERVER_PORT
6554
RTSP RTP Port Start RTSP_RTP_START
10000
RTSP RTP Port Count RTSP_RTP_COUNT
10000
Knex.js Database Connection Configuration DB_CONFIG
"{\"client\":\"better-sqlite3\",\"connection\":{\"filename\":\"{‌{BASE}‌}/nest-rtsp.sqlite\"}}"
Output debug content to console DEBUG
The resolution width to output WebRTC videos in WEBRTC_RESOLUTION_WIDTH
640
The resolution height to output WebRTC videos in WEBRTC_RESOLUTION_HEIGHT
480

Pulling the latest image

The latest stable docker image of Nest RTSP is always accessible at registry.gitlab.jak.guru:5005/jakg/nest-rtsp:stable or jakguru/nest-rtsp:stable. You can pull it using the following command:

docker pull registry.gitlab.jak.guru:5005/jakg/nest-rtsp:stable
docker pull jakguru/nest-rtsp:stable

Deploying Nest RTSP

In order to deploy Nest RTSP via Docker Compose, you will need to a docker compose manifest file. By default, this file is named docker-compose.yaml, however you can call it whatever you'd like as long as you know what you're doing.

The docker-compose.yml file

The following is an example of a dockerfile used to deploy Nest RTSP

version: "3.9" services: nest-rtsp: container_name: nest-rtsp privileged: true restart: unless-stopped image: registry.gitlab.jak.guru:5005/jakg/nest-rtsp:stable network_mode: "host" environment: DEBUG: nest-rtsp:* GA_OAUTH_CID: GA_OAUTH_CS: GA_SDM_PID: GA_OAUTH_RDR:
version: "3.9" services: nest-rtsp: container_name: nest-rtsp privileged: true restart: unless-stopped image: jakguru/nest-rtsp:stable network_mode: "host" environment: DEBUG: nest-rtsp:* GA_OAUTH_CID: GA_OAUTH_CS: GA_SDM_PID: GA_OAUTH_RDR:

Starting the container

In order to start the container, simply run one of the following commands:

docker compose up
Docker Compose V2
docker-compose up
Docker Compose V1
docker compose up -d
Docker Compose V2 Daemonize (run in background)
docker-compose up -d
Docker Compose V1 Daemonize (run in background)

Checking Status

Nest RTSP has now been installed. You can check whether the Nest RTSP has started by running docker ps

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 06ca486a9154 registry.gitlab.jak.guru:5005/jakg/nest-rtsp:stable "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 554/tcp, 554/udp, 10000-20000/tcp, 10000-20000/udp, 0.0.0.0:3000->3000/tcp nest-rtsp
Example Feedback