schech1/uptime-buddy-api

By schech1

Updated 11 months ago

Backend for Uptime Mate Apple Watch App

Image
Networking
API management
Developer tools
0

50K+

schech1/uptime-buddy-api repository overview

Uptime Mate (before Uptime Buddy)

Uptime Buddy has been renamed to Uptime Mate.

Uptime Mate is finally available in the Apple App Store!

App Store

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.

GitHub

Backend Compatibility

Be sure to pull the latest docker image

The current version (1.0.7) in the App Store in compatible with schech1/uptime-buddy-api:latest

Prerequisites in the Uptime Mate iOS-App

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.

Settings on the iOS App

Before deploying the Docker container, open the Uptime Mate companion app on your iPhone. Follow the these steps to configure Uptime Mate:

  • Generate the token
  • Enter your backend address (Address where you host this container, including the port (e.g.http://your-server-ip:5005))
  • Copy the generated token into your docker-compose.yml and deploy it.
  • Send the setting to the Apple Watch. It will display your monitors from Uptime Kuma in the Apple Watch app
  • Check out the Watch Face complications

Installation via Docker

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.

Follow the steps below to set up the backend for Uptime Mate.

Docker Compose

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
      - PASSWORD=YOUR_UPTIME_KUMA_PASSWORD
      - TOKEN=SECRET_TOKEN # Created by iOS-App

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.

Deploying the Backend

Using docker-compose

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.

Using docker run (alternative)
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

The Apple Watch and iOS App

Uptime Mate consists of an iOS app and an Apple Watch app. The iOS app is needed to set up the backend adress 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.

Data Privacy

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.

Bucket list

  • API token for backend authorization
  • UI improvements on iOS app
  • More Symbols for monitor types
  • Nice AppStore page
  • Better looking complications
  • Better user feedback when backend is down

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.

Contributing

Contributions are welcome.

Support

If you encounter any issues or have questions, please open an issue on this GitHub repository.

Tag summary

Content type

Image

Digest

sha256:7aa2066cc

Size

58.6 MB

Last updated

11 months ago

docker pull schech1/uptime-buddy-api:experimental