Before you begin
You need:
- A Docker host that stays on at home, such as a Raspberry Pi, NAS, mini-PC, Home Assistant host, or another always-on computer.
- An IP camera that provides a local RTSP stream and is reachable from that Docker host.
- A compatible Echo Show on the same home network.
- A ViewBridge account.
The gateway is the part that talks to the camera. Camera credentials and normal video stay on the gateway. The portal keeps the gateway and camera metadata needed for setup and Alexa discovery; it does not need the camera password.
Quickstart
1. Create a gateway
Sign in to the ViewBridge portal and choose Create gateway. Give it a name that helps you recognise the computer in your home, then copy the one-time gateway key.
Keep the key private. It connects the local gateway to your ViewBridge account and is different from your Amazon password and your camera password.
2. Find the Docker host’s private IP address
Find the LAN IPv4 address of the computer that will run the container. The example below uses 192.168.1.42; replace it with the address you find.
Use the Docker host’s private address, not the camera’s address, 127.0.0.1, 0.0.0.0, or a public/WAN address. The address must be in a private home-network range such as 192.168.x.x, 10.x.x.x, or 172.16.x.x through 172.31.x.x.
3. Pull and start the gateway
The image is published through GHCR and contains the gateway, MediaMTX, and a baseline configuration. For now, use the short image tag viewbridge-gateway:latest; Docker pulls it when it is not already on the host. The named volumes keep the gateway configuration, certificate, and gateway-local TLS key across container updates. The ACME account key remains in the cloud certificate worker and is never mounted into the gateway.
In PowerShell, replace both placeholder values and run:
$gatewayIp = "192.168.1.42"
$gatewayToken = "<paste-the-one-time-gateway-key>"
docker run -d --name viewbridge-gateway --restart unless-stopped `
-e VIEWBRIDGE_BIND_ADDRESS=$gatewayIp `
-e VIEWBRIDGE_GATEWAY_TOKEN=$gatewayToken `
--read-only --cap-drop ALL --security-opt no-new-privileges:true `
--tmpfs /tmp:size=16m,noexec,nosuid,nodev `
--tmpfs /run/viewbridge:size=16m,noexec,nosuid,nodev,mode=0700,uid=1000,gid=1000 `
-p "${gatewayIp}:443:8322/tcp" `
-p "${gatewayIp}:8443:8443/tcp" `
-p "${gatewayIp}:8189:8189/udp" `
-p "${gatewayIp}:8190:8190/tcp" `
-v viewbridge-config:/etc/viewbridge `
-v viewbridge-data:/data `
viewbridge-gateway:latest
VIEWBRIDGE_BIND_ADDRESS tells Docker and the gateway which local interface to use. VIEWBRIDGE_GATEWAY_TOKEN connects the container to the gateway you created in the portal. The command deliberately does not include optional configuration such as a cloud API URL; the published image supplies the endpoint for its deployment. Other installations can override it as described in Advanced configuration.
WebRTC is enabled by default and is the recommended mode for current Echo devices. Keep all four media port mappings in this command: WebRTC uses 8189/udp and 8190/tcp, while port 443 remains part of the current gateway container for its TLS/direct RTSP listener.
The token appears in the command history and in the Docker environment for this container. Treat the Docker host as trusted and remove the command from shell history if that matters in your environment. You can also omit the token from the command and enter it on the local setup page instead; in that case the gateway waits in setup mode until the key is saved.
Check that the container started:
docker ps --filter name=viewbridge-gateway
docker logs --tail 100 viewbridge-gateway
The first start can take a few minutes while the gateway registers its private address and obtains its certificate.
4. Open the gateway setup page
From a computer or phone on the same home network, open:
https://<gateway-lan-address>:8443/
Use the Docker host’s private address in place of <gateway-lan-address>. If you did not pass VIEWBRIDGE_GATEWAY_TOKEN, paste the one-time gateway key when the page asks for it. A first-visit certificate warning can be expected while the gateway is completing its certificate setup; continue only when you are certain you are using the gateway’s private LAN address.
Keep camera details on the gateway
Add the camera URL, username, and password on this local gateway page. Do not paste them into the portal, Alexa app, a browser URL, or a support request.
5. Add the camera
Choose Add camera and enter:
| Field | What to enter |
|---|---|
| Name | A short name you will say to Alexa, for example Front Door. |
| Path | A stable path such as front-door; use lowercase letters, numbers, and hyphens. |
| Camera URL | The camera’s local RTSP address, including its stream path. |
| Username and password | The camera credentials, entered only on the gateway page. |
| Video | H.264 video. Start with a video-only stream; audio is not required. |
Save the camera and wait for the gateway to restart with the new configuration. You do not need to change router port forwarding. Do not expose the camera’s RTSP port or the gateway to the public Internet.
6. Connect Alexa
In the Alexa app:
- Enable the ViewBridge skill or add-on.
- Complete account linking with the same ViewBridge account that owns the gateway.
- Run device discovery.
- Say “Alexa, show Front Door”, replacing the name with the name you gave your camera.
The camera should appear as a camera device. The Echo and the gateway must be able to reach one another on the home network.
Finish setup
Setup is complete when:
- The gateway is connected in the portal.
- The camera is enabled and reports a healthy configuration.
- The camera appears in Alexa after discovery.
- An Echo Show opens the live picture.
For port mappings, configuration precedence, camera JSON, and non-standard installations, see Advanced configuration.