Uptime Buddy has been renamed to Uptime Mate.
Uptime Mate is an uptime monitoring tool for your Apple Watch, designed to keep you informed about the status of your services. Uptime Mate, requires a lightweight docker backend to run.
With version 1.1.4 of backend and app, the InfoView got reworked.
It will now show some system information about the backend host system. It will also show and warn if backendversion and appversion are not in sync.
Systeminfo |
Systeminfo Details |
Be sure to pull the latest docker image
The current version (1.1.4) in the App Store is compatible with schech1/uptime-buddy-api:latest
For authentication, start the Uptime Mate iOS-App before you deploy the docker-container. On first start, a token will be generated and displayed in the app. Add the token to the docker-compose file or docker-run command. Then deploy the container as described below.
Before deploying the Docker container, open the Uptime Mate companion app on your iPhone. Follow the these steps to configure Uptime Mate:
docker-compose.yml
and deploy it.Uptime Mate requires a running instance of Uptime Kuma!
Be sure to set up Uptime Kuma correctly and provide the address, username and password of your Uptime Kuma instance to the docker compose file.
If you disabled auth in Uptime Kuma, remove the two lines from the compose-file entirely:
- USERNAME=YOUR_UPTIME_KUMA_USERNAME
- PASSWORD=YOUR_UPTIME_KUMA_PASSWORD
Follow the steps below to set up the backend for Uptime Mate.
Create a docker-compose.yml
file with the following content to deploy the backend:
services:
uptime-buddy-api:
image: schech1/uptime-buddy-api:latest
ports:
- "5005:5005"
environment:
- UPTIME_KUMA_URL=YOUR_UPTIME_KUMA_URL # e.g. http://192.168.1.34:3002/
- USERNAME=YOUR_UPTIME_KUMA_USERNAME # Optional: remove line if auth is disabled in Uptime Kuma
- PASSWORD=YOUR_UPTIME_KUMA_PASSWORD # Optional: remove line if auth is disabled in Uptime Kuma
- TOKEN=SECRET_TOKEN # Created by iOS-App
- MFA=true # Is MFA enabled in Uptime Kuma?
Docker image on DockerHub
The docker image supports amd64
and arm64
architecture.
Tested on Raspberry Pi 5 and Intel NUC 10.
Replace the environment variables with your actual Uptime Kuma URL, username, password and the generated token.
Save the docker-compose.yml file.
Run the following command in the directory containing the docker-compose.yml file:
docker-compose up -d
This command will pull the necessary Docker image and start the backend service on port 5005.
Hint: Remove USERNAME
and PASSWORD
, if auth is disabled in Uptime Kuma
docker run -d --name uptime-buddy-api -p 5005:5005 -e UPTIME_KUMA_URL=YOUR_UPTIME_KUMA_URL -e USERNAME=YOUR_UPTIME_KUMA_USERNAME -e PASSWORD=YOUR_UPTIME_KUMA_PASSWORD -e TOKEN=YOUR_TOKEN schech1/uptime-buddy-api:latest
Uptime Mate consists of an iOS app and an Apple Watch app. The iOS app is needed to set up the backend address and token. When the iOS app is installed, the Apple Watch app can be installed via the Watch app of the iPhone.
Uptime Mate comes with Complication and SmartStack support. The current update frequency of the Widgets is 15 minutes. In future versions this will frequency will be individually adjustable, to extend battery life of the Apple Watch.
The following SF Symbols are used to illustrate the monitor type:
Uptime Mate supports different complications on the WatchFace.
Circular |
Corner |
Rectangular Big |
Rectangular Small |
Rectangular Dashed |
Circular Dashed |
Uptime Mate does not save, share or forward any data. The data that is fetched from the backend is only displayed on your device. The Apple Watch or iOS apps do not store any data locally on the devices, except the address of your backend. This is needed to keep setting over reboots.
This project is based on Uptime Kuma and uptime-kuma-api.
Uptime Kuma: A self-hosted monitoring tool to monitor uptime for websites, applications and services.
uptime-kuma-api: A Python API for Uptime Kuma.
Contributions are welcome.
If you enjoy using this app, please consider leaving a Rating on the App Store!
If you encounter any issues or have questions, please open an issue on this GitHub repository.