Browse the guides
Monitor everything you run
Install Uptime Kotlin, create monitors for your websites, databases and brokers, set up alerts and publish status pages.
Install it and create your first monitor in a few minutesGet started
- What is Uptime Kotlin?A self-hosted uptime monitor for websites, APIs, databases and message brokers, with alerts and public status pages.
- Install Uptime KotlinRun Uptime Kotlin and PostgreSQL with Docker Compose, then create the first account.
- Create your first monitorWatch a website in two minutes, attach a notification and read the first results.
- Read the dashboardWhat each card of the Uptime Kotlin dashboard shows: monitors up and down, average uptime, response times, failed checks and recent events.
Monitors
- How a monitor worksSchedule, retries, statuses and the settings shared by every type of monitor.
- Monitor a website or an APIHTTP checks with status codes, latency threshold, TLS certificate tracking, headers, authentication, assertions and multi-step scenarios.
- Monitor network servicesCheck TCP ports, ping hosts over ICMP with a packet loss threshold, and query a DNS server for A, AAAA, CNAME, MX or TXT records.
- Monitor databasesPostgreSQL, MySQL and MariaDB, Microsoft SQL Server and Redis checks with a query or a command.
- Monitor mail and message brokersSMTP handshakes, Kafka producers and RabbitMQ management nodes.
- Read a monitor pageUptime, response times, certificate, logs and the actions available on each monitor.
- Follow incidentsFollow ongoing outages, acknowledge them to silence reminders, add notes, review downtime and recovery time, and export the incidents to CSV.
- Schedule a maintenance windowSilence alerts during planned work, once or on a recurring schedule, without losing the checks.
- Publish a status pageShare the health of your services on public pages, grouped and ordered as you like.
Notifications
- How notifications workChannels, default channels, the messages sent on failure and recovery, reminders and tests.
- Send alerts to Slack, Discord or TeamsCreate an incoming webhook in your chat app and paste its URL into Uptime Kotlin.
- Send alerts by emailEmail the alerts through your own SMTP server or a transactional provider: hostname, port 587 with STARTTLS, credentials and recipients.
- Send alerts to TelegramCreate a bot with BotFather and post alerts to a chat, a group, a channel or a forum topic.
- Send alerts to ntfyPush alerts to your phone with ntfy.sh or your own ntfy server.
- Send alerts to GotifyPush Uptime Kotlin alerts to your self-hosted Gotify server: create an application, paste its token and the server URL, then send a test.
- Send alerts to a webhookPost a JSON payload to your own endpoint on failure, recovery and reminder.
Self-hosting
- ConfigurationEnvironment variables of the Uptime Kotlin image, and how to use your own JWT keys.
- Cluster modeSpread the checks over several workers. The job queue lives in PostgreSQL, so no extra service is needed.
- Rotate the master keyReplace ENCRYPTION_MASTER_KEY without losing the stored secrets, and what to do if the key is lost.
- Docker imagesThe two Uptime Kotlin images, the platforms they support, and how to build them yourself.
