This fork of Monocle Gateway is the 32-bit (ARMv7 and ARMv8) version which builds into a Docker image running Debian:Buster-slim as its base file system. It has been tested on a Raspberry Pi 4 running the Raspbian and Raspbian Lite OS.
To build the image:
- Save the Dockerfile to your system.
- While in the directory containing Dockerfile run command "docker build -t <NAME>:<TAG>", substituting your desired <NAME> and <TAG>.
The Monocle Gateway service is a small service that runs inside your local/private network to facilitate discovery, secure communication and automation between your IP cameras and the Monocle cloud service/platform.
More information about the Monocle IP camera cloud service/platform can be found here:
More information about the Monocle Gateway service can be found here:
This is the official Docker image for the Monocle Gateway service.
The following examples assume that you have created a /etc/monocle
directory on your host container which Docker will mount as a path inside the newly created container instance. This allows you to place important/required configuration files intended for the Monocle Gateway service in a location outside the container instance such that it is durable and persists external to the container instance. This allows you to easily upgrade and destroy/re-create Monocle Gateway container instances without having to manually configure each new/upgraded instance.
Prior to launching a Monocle Gateway instance, you should have acquired a monocle.token
file containing your Monocle API
access token. You must save the monocle.token
file to the aforementioned /etc/monocle
directory on your host container.
See: http://monoclecam.com/apitoken
This project provides examples of running the Monocle Gateway container using the following container networking modes/drivers.
- Bridge networking
- Bridge networking with static routing
- Host networking (PREFERRED)
- Macvlan networking
It is important to understand the networking requirements of Monocle Gateway and to make the appropriate decision on which networking mode will work for your environment. On startup the Monocle Gateway service attempts to auto-detect the server's IP address. It then sends this private IP address to the Monocle cloud platform to create a unique DNS record for this Monocle Gateway instance. It is important that the IP address that gets detected and registered is the correct local/private IP address on your network that Alexa devices can access. Additionally, the Monocle Gateway service listens on TCP port 443 for secure communications with the Alexa devices. Unfortunately only TCP port 443 can be used due to fixed requirements defined by Amazon for the Alexa Camera Controller interfaces. The Monocle Gateway service must also be able to communicate out from the container to the various IP cameras on your private/local network. Finally, the Monocle Gateway service supports an internal RTSP proxy server that can dynamically assign and listen on various UDP inbound ports for IP camera streams for certain stream configurations.
>> More details on the various networking modes for the Monocle Gateway Docker container.