bmallenxs/statusContainer image for a small live status page built with Go and Gin.
The app reads config.yaml, serves a web UI, exposes /api/status, and pushes live service updates over WebSockets.
Pull the image:
docker pull bmallenxs/status:latest
Run with the bundled config:
docker run --rm -p 8080:8080 bmallenxs/status:latest
Open:
http://localhost:8080
config.yamlMount a config file into the container:
docker run --rm \
-p 8080:8080 \
-v "$(pwd)/config.yaml:/app/config.yaml:ro" \
bmallenxs/status:latest
If you provide a certificate and key, the container can serve HTTPS directly.
docker run --rm \
-p 8443:8443 \
-e ADDR=:8443 \
-e TLS_CERT_FILE=/certs/server.crt \
-e TLS_KEY_FILE=/certs/server.key \
-v "$(pwd)/config.yaml:/app/config.yaml:ro" \
-v "$(pwd)/certs:/certs:ro" \
bmallenxs/status:latest
Open:
https://localhost:8443
ADDR
: Full listen address inside the container. Default: :8080
PORT
: Port-only fallback if ADDR is not set
CONFIG_PATH
: Config file path. Default: /app/config.yaml
THEME
: UI theme. Supported values: dark or light. Default: dark
TLS_CERT_FILE
: Optional PEM certificate file path for HTTPS
TLS_KEY_FILE
: Optional PEM private key file path for HTTPS
Notes:
TLS_CERT_FILE and TLS_KEY_FILE to enable HTTPS.config.yamlmonitors:
- name: GitHub
url: https://github.com
category: Developer Tools
- name: Cloudflare DNS
url: dns://cloudflare.com
category: DNS
- name: Google TLS
url: tls://www.google.com:443
category: TLS
- name: Google Ping
url: ping://8.8.8.8
category: Network
https:// and http://
: HTTP GET check, healthy on 2xx and 3xx
dns://
: DNS resolution check
tls://
: TLS handshake plus certificate validation and expiry reporting
ping://
: TCP reachability check. This is not ICMP ping.
The image exposes:
8080/tcp
If you change ADDR, publish the matching container port.
/
: Browser UI
/api/status
: JSON snapshot
/ws
: WebSocket stream of live service_update messages