This documentation is under development. Expect changes!
Cup
Cup is a monitoring solution for tracking container updates. This guide will help you set up Cup in your homelab.
Setup Directory Structure
Section titled “Setup Directory Structure”Create a folder to store all Cup configuration files:
mkdir cupcd cupConfiguration Files
Section titled “Configuration Files”1. Docker Compose Configuration
Section titled “1. Docker Compose Configuration”Create a compose.yaml file with the following content:
services: cup: command: '-c /config/cup.json serve -p 9000' image: ghcr.io/sergi0g/cup volumes: - '/var/run/docker.sock:/var/run/docker.sock' - ./cup.json:/config/cup.json networks: - proxy-net labels: traefik.enable: true traefik.http.routers.cup.entrypoints: web,websecure traefik.http.routers.cup.tls: true traefik.http.routers.cup.tls.certresolver: production traefik.http.routers.cup.rule: Host(`cup.example.com`) traefik.http.services.cup.loadbalancer.server.port: 9000
networks: proxy-net: name: proxy-network external: true4 collapsed lines
... traefik.http.routers.cup.entrypoints: web,websecure traefik.http.routers.cup.tls: true traefik.http.routers.cup.tls.certresolver: production traefik.http.routers.cup.rule: Host(`cup.example.com`)4 collapsed lines
traefik.http.services.cup.loadbalancer.server.port: 9000
networks:...2. Cup Configuration
Section titled “2. Cup Configuration”Create a cup.json file with the following content:
{ "$schema": "https://raw.githubusercontent.com/sergi0g/cup/main/cup.schema.json", "version": 3, "theme": "blue", "refresh_interval": "0 0 */12 * * *"}Deployment
Section titled “Deployment”Your final folder structure should look like this:
Directorycup/
- …
- compose.yaml
- cup.json
Once all configuration files are in place, start Cup with the following command:
docker compose up -dAccessing the Dashboard
Section titled “Accessing the Dashboard”After a few seconds, you should be able to access the Cup dashboard at:
https://cup.example.comMake sure to replace cup.example.com with your actual domain configured in compose.yaml.