You must setup Podman, Lighttpd and Cloudflared first.

Steps

  1. create uptime-kuma directory in $HOME/podman
    mkdir -p ~/podman/uptime-kuma && cd ~/podman/uptime-kuma
    
  2. copy from compose.yml
    nano compose.yml
    
  3. copy from uptime-kuma.conf
    nano ~/lighttpd/conf.d/uptime-kuma.conf
    
  4. restart lighttpd
    systemctl --user restart lighttpd
    
  5. start uptime-kuma
    podman-compose -f ~/podman/uptime-kuma/compose.yml systemd -a register
    systemctl --user enable --now podman-compose@uptime-kuma
    

compose.yml

version: "3"
services:
  uptime-kuma:
    image: docker.io/louislam/uptime-kuma:latest
    container_name: uptime-kuma
    networks:
      - traefik
    ports:
      - "127.0.0.1:1342:3001"
    volumes:
      - ./data:/app/data
    restart: unless-stopped
    labels:
      - "io.containers.autoupdate=registry"
networks:
  traefik:
    external: true

uptime-kuma.conf

$HTTP["host"] == "uptime-kuma.example.com" {
    proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "1342" ) ) )
    proxy.header = ( "upgrade" => "enable" )
}