The API_ID is required alongside API_KEY to authenticate with the Wyze API and bypass two-factor authentication (2FA). As of April 2024, Wyze deprecated 2FA login methods, making API Key/ID the recommended authentication method for WyzeBridge.
Using API_ID and API_KEY eliminates the need for email/password login and avoids 2FA prompts.
Generate both API_ID and API_KEY from the Wyze Developer Console.
environment:
- WYZE_EMAIL=your_email
- WYZE_PASSWORD=your_password
- API_ID=your_api_id
- API_KEY=your_api_keyDefine secrets in your docker-compose.yml:
secrets:
- API_ID
- API_KEYEnsure the secret files (wyze_api_id.txt, wyze_api_key.txt) are correctly mounted under /run/secrets/.
Important: Ensure secret names in docker-compose.yml match exactly (API_ID, not WYZE_API_ID or similar). Mismatched names are a common cause of credentials not being read.
version: '3.8'
services:
wyze-bridge:
image: idisposablegithub365/wyze-bridge:latest
container_name: wyze-bridge
restart: unless-stopped
ports:
- "5000:5000"
- "8554:8554"
secrets:
- WYZE_EMAIL
- WYZE_PASSWORD
- API_ID
- API_KEY
environment:
- WB_AUTH=True
secrets:
WYZE_EMAIL:
file: ./secrets/wyze_email.txt
WYZE_PASSWORD:
file: ./secrets/wyze_password.txt
API_ID:
file: ./secrets/wyze_api_id.txt
API_KEY:
file: ./secrets/wyze_api_key.txtEnsure secret files are readable (e.g., chmod 600).
Do not set WYZE_EMAIL=/run/secrets/WYZE_EMAIL; the container automatically reads them from /run/secrets/ when defined in secrets.
After starting, check logs with docker logs wyze-bridge for authentication success.
Place the actual API_KEY value inside the secret file, not in the docker-compose.yml.
-
Create a file (e.g.,
./secrets/wyze_api_key.txt) -
Put only the API key inside:
your_actual_api_key_here -
Ensure docker-compose.yml references it:
secrets: API_KEY: file: ./secrets/wyze_api_key.txt
The container reads /run/secrets/API_KEY automatically.
The .secrets folder is not a standard or required name—you can name it anything (e.g., secrets, .secrets, config, etc.).
Place it in your project directory (e.g., alongside docker-compose.yml).
your-project/
├── docker-compose.yml
└── .secrets/
├── wyze_email.txt
├── wyze_password.txt
├── wyze_api_id.txt
└── wyze_api_key.txt
secrets:
API_KEY:
file: ./.secrets/wyze_api_key.txtDocker mounts the file to /run/secrets/API_KEY automatically.
Ensure the folder and files are readable and paths are correct.
- Secret names must match exactly in both the service's
secrets:list and the root-levelsecrets:definitions - Check file paths - ensure secret files exist at the specified locations
- Verify permissions - secret files should be readable by the Docker daemon
- Review logs - use
docker logs wyze-bridgeto check for authentication errors