Statuz — effortlessly track uptime, incidents, and maintenance across your services.
Find a file
2025-11-18 15:58:49 +01:00
cmd add frontend 2025-11-18 15:55:49 +01:00
db add monitor loading via db (postgres) 2025-11-17 22:17:38 +01:00
internal add InsertMonitorCheck via result channel 2025-11-18 06:55:39 +01:00
logger add monitor loading via db (postgres) 2025-11-17 22:17:38 +01:00
monitors add InsertMonitorCheck via result channel 2025-11-18 06:55:39 +01:00
scheduler feat: add sqlc and goose for sql management 2025-11-17 06:58:43 +01:00
sql/postgres add InsertMonitorCheck via result channel 2025-11-18 06:55:39 +01:00
utils move to git.drinkuth.online 2025-11-15 16:41:43 +01:00
.gitignore remove tmp 2025-11-18 15:58:49 +01:00
config.yml.example remove migrations from gitignore 2025-11-17 17:30:19 +01:00
go.mod add frontend 2025-11-18 15:56:18 +01:00
go.sum add frontend 2025-11-18 15:56:18 +01:00
LICENSE move to git.drinkuth.online 2025-11-15 16:41:43 +01:00
README.md feat: add quick start for sqlgen to readme 2025-11-17 07:06:45 +01:00
ROADMAP.md move to git.drinkuth.online 2025-11-15 16:41:43 +01:00

🟢 Statuz

Selfhosted status and incident management for everything that matters.

Statuz is a lightweight, opensource platform for monitoring your services, tracking incidents, and keeping your users informed — all in realtime, with a simple, efficient Go backend and a clean modern UI.


🚀 Quick Start

sqlgen is the unified CLI for managing all of Statuz's database tasks (SQL code generation + migrations).

# 1⃣ Generate strongly-typed SQL code via sqlc
go run ./cmd/sqlgen generate

# 2⃣ Apply migrations (reads config.yml for DSN and driver)
go run ./cmd/sqlgen migrate --action up

# 3⃣ Create a new migration
go run ./cmd/sqlgen migrate --action create --name add_users_table

📦 Supports multiple backends (Postgres, LibSQL/SQLite)
🛠 Uses shared configuration from config.yml
🧩 Migrations and queries live under sql/<driver>/


Features

Statuz is built with performance, simplicity, and transparency in mind.

🚀 Core Features

  • Modern Go backend using lightweight concurrency
  • Multiple check types — HTTP(S), TCP, and more coming soon
  • Realtime updates via channels and event broadcasting
  • Persistent incident tracking (automatic and manual)
  • Planned maintenance scheduling
  • Simple configuration (YAML or environment variables)

🧠 Architecture Highlights

  • Goroutinebased monitors for efficient parallel checks
  • Channeldriven events for predictable and decoupled updates
  • APIfirst design — everything accessible via REST endpoints
  • Extensible — easily add custom checks or notification integrations

💬 Notifications & Integrations

  • User subscription system for service updates
  • Notification channels (planned): Email, Webhooks, Slack, Discord
  • Custom webhook support for external tools

🧭 Frontend & UI

  • Minimal and responsive web dashboard
  • Live visual status indicators and history
  • Built with either Svelte or htmx (TBD)
  • Authentication for administrative view

🐳 Deployment

  • Single static Go binary — no dependency mess
  • Official Docker and Compose setup planned
  • Portable configuration for any environment

🧰 Tech Stack

  • Language: Go
  • Frontend (planned): Svelte or htmx
  • Database: SQLite or Postgres (through Interface based adapters)
  • Architecture: Concurrent monitors, channelbased messaging, minimal REST API
  • License: MIT

❤️ Philosophy

Statuz was built out of a need for a simple, fast, and selfhosted alternative to heavy JSbased monitoring dashboards. It aims to be clear, reliable, and hackable — a tool that just runs and works the way you expect.



Statuz is under active development — ideas, feedback, and contributions are always welcome.