ring-mqtt

ring-mqtt

Docker app from digiblur's Repository

Overview

Interact with Ring Inc products (cameras/alarms/smart lighting) via MQTT - See the project page for token auth procedure - https://github.com/tsightler/ring-mqtt#authentication

ring-mqtt-logo

About

Ring LLC sells security related products such as video doorbells, security cameras, alarm systems and smart lighting devices. The ring-mqtt project uses the Ring API (the same one used by Ring official apps) to act as a bridge between these devices and an local MQTT broker, thus allowing any automation tools that can leverage the open standards based MQTT protocol to effectively integrate with these devices. The project also supports video streaming by providing an RTSP gateway service that allows any media client supporting the RTSP protocol to connect to a Ring camera livestream or to play back recorded events (Ring Protect subscription required for event recording playback). Please review the full list of supported devices and features for more information on current capabilities.

IMPORTANT NOTE - Please read

Ring devices are sold as cloud based devices and this project uses the same cloud based API used by the Ring apps, it does not enable local control of Ring devices as there is no known facility to do so. While using this project does not technically require a Ring Protect subscription, many capabilities are not possible without a subscription and this project is not intended as a way to bypass this requirement. If you don't like cloud powered devices my suggestion is to not purchase them.

Also, this project does not turn Ring video doorbells/cameras into 24x7/continuous streaming CCTV cameras as these devices are designed for event based streaming/recording or for light interactive viewing, such as answering the a doorbell ding, or checking on a motion event. Even when using this project, all streaming still goes through Ring cloud servers and is not local. Attempting to leverage this project for continuous streaming is not a supported use case and attempts to do so will almost certainly end in disappointment, this includes use with NVR tools like Frigate, Zoneminder or others.

If this advice is ignored, please note that there are significant functional side effects to doing so, most notably loss of motion/ding events while streaming (Ring cameras will only send alerts when they are not actively streaming/recording), quickly drained batteries, and potential device overheating or even early device failure as Ring cameras simply aren't designed for continuous operation. While you are of course welcome to use this project however you like, questions about use of tools that require continuous streaming will be locked and deleted.

Installation and Configuration

Please refer to the ring-mqtt project wiki for complete documentation on the various installation methods and configuration options.

Install ring-mqtt on Unraid in a few clicks.

Find ring-mqtt in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for ring-mqtt Review the template variables and paths Click Install

Download Statistics

4,460,435
Total Downloads
58,007
This Month
71,740
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Details

Repository
tsightler/ring-mqtt
Last Updated2026-03-09
First Seen2021-09-05

Runtime arguments

Network
bridge
Privileged
false
Extra Params
--restart unless-stopped

Template configuration

DataPathPathrw

Data Path

Target
/data
Default
/mnt/user/appdata/ring-mqtt
Value
/mnt/user/appdata/ring-mqtt
RINGTOKENVariable

Container Variable: RINGTOKEN

MQTTHOSTVariable

Container Variable: MQTTHOST

MQTTPORTVariable

Container Variable: MQTTPORT

Default
1883
Value
1883
MQTTUSERVariable

Container Variable: MQTTUSER

MQTTPASSWORDVariable

Container Variable: MQTTPASSWORD

ENABLECAMERASVariable

Container Variable: ENABLECAMERAS

Default
false
Value
false
SNAPSHOTMODEVariable

Container Variable: SNAPSHOTMODE

Default
disabled
Value
disabled
ENABLEMODESVariable

Container Variable: ENABLEMODES

Default
false
Value
false
ENABLEPANICVariable

Container Variable: ENABLEPANIC

Default
false
Value
false
BEAMDURATIONVariable

Container Variable: BEAMDURATION

Default
0
Value
0
DISARMCODEVariable

Container Variable: DISARMCODE

RINGLOCATIONIDSVariable

Container Variable: RINGLOCATIONIDS