18 monitor types
HTTP(S) with custom headers, body, auth, mTLS and proxies, plus keyword and JSON query checks. SSL expiry warnings, retries and maintenance windows.
- HTTP(S)
- TCP
- Ping
- DNS
- gRPC
- WebSocket
- PostgreSQL
- MySQL
- Redis
- Docker
- Push
- +7
Self-hosted · single Docker image · free
Bekci watches your websites, APIs and servers from a single dashboard and tells you the moment something breaks. Uptime checks, server metrics, status pages and alerts — all in about 15 MB of RAM.
$ docker run -d --name bekci -p 8080:8080 -v bekci-data:/data kadirsungurlu/bekci
Then open http://your-server:8080 and create the first admin account.
The interface is available in English and Turkish — each user picks their own language.
A UI as simple as UptimeRobot's, built to stay fast with hundreds of monitors.
HTTP(S) with custom headers, body, auth, mTLS and proxies, plus keyword and JSON query checks. SSL expiry warnings, retries and maintenance windows.
CPU, RAM, per-mount disk usage, swap, load, temperature, network and Docker containers. Agents for Linux and Windows; alerts use window averages and hysteresis, so they don't flap.
Reach the right people the moment something goes down. Send a test notification to any channel with one click.
Public status pages with collapsible groups, 90-day history, recent incidents, password protection, custom domains and badges.
Check monitors from several locations and pick the outage rule yourself: any, majority or all.
Admin, editor and viewer roles, plus client accounts that only see the monitors and servers assigned to them. Two-factor auth, API keys and an audit log.
Install it as a PWA and get a live-updating dashboard on your home screen. No app store required.
Import from an Uptime Kuma backup or straight from your UptimeRobot account. Export/import and nightly backups included.
Dark and light themes, desktop and phone. Click any screenshot to enlarge it. Screenshots show the Turkish UI; English is one click away in your account settings.
Screenshots were taken from a demo instance running on fictional data.
Instead of running one tool for your sites and another for your servers, get both in one dashboard, one image, on your own hardware.
| Feature | Bekciself-hosted | UptimeRobothosted (SaaS) | Uptime Kumaself-hosted | Beszelself-hosted |
|---|---|---|---|---|
| Your data stays on your server | Yes | No | Yes | Yes |
| Website and service checks (HTTP, TCP, DNS…) | Yes | Yes | Yes | No |
| Server resource monitoring (CPU, RAM, disk, network) | Yes | No | No | Yes |
| Public status pages | Yes | Yes | Yes | No |
| Checks from multiple locations | Via your own check locations | Yes | No | No |
| Price | Free | Free plan, paid plans | Free, open source | Free, open source |
Your data stays on your own server and there are no plan limits. Import your monitors straight from your account.
The monitor types you know, plus server metrics, client accounts and remote check locations. Bring your Kuma backup along.
Keep your server metrics and add your websites, APIs and status pages to the same dashboard.
This table is a high-level summary of each product's core features (September 2026). Uptime Kuma and Beszel are mature, well-loved open-source projects; check their own docs for current details.
The agent runs on every server you monitor, so it's designed to run with minimal privileges and never change itself behind your back.
ps); it lives only in a config file with 0600 permissions.--cap-drop ALL), no-new-privileges, a 256 MB memory cap and a process limit.sh <<'UPTIME_KURULUM'
set -e
# the token lives in a root-only file
install -m 600 /dev/null /etc/uptime-agent.env
cat > /etc/uptime-agent.env <<'UPTIME_ENV'
PROBE_SERVER=https://bekci.example.com
PROBE_TOKEN=upr_…
UPTIME_ENV
# hardened container; binary verified via SHA-256
docker run -d --name uptime-agent \
--cap-drop ALL --security-opt no-new-privileges \
--memory 256m --pids-limit 200 \
--env-file /etc/uptime-agent.env …
UPTIME_KURULUM
Runs on any Linux server with Docker: 1 vCPU, 512 MB of RAM (1 GB recommended) and 10 GB of disk are plenty. Try it with one command, then follow the guide that fits you step by step.
Yes. Each user chooses English or Turkish in their account settings; the login page follows the browser language. Status pages and notifications have their own language setting, so a Turkish team can run an English status page for international customers.
SQLite by default — no extra services, and the lightest option. If you'd rather use PostgreSQL, point DATABASE_URL at your own server or run the kadirsungurlu/bekci:postgres image with embedded PostgreSQL 18 (about 200 MB of extra RAM).
Data can't be moved between the two images, so pick one up front.
At least 1 vCPU, 512 MB of RAM (1 GB recommended) and 10 GB of disk. The image is built for linux/amd64 and linux/arm64. Bekci itself uses around 15 MB of RAM with 10 monitors and 3 servers.
Yes. The server agent runs on Linux (amd64, arm64) and Windows (amd64). On Windows, paste the command from the dashboard into PowerShell opened with Run as administrator; the agent installs as a Windows service that starts automatically.
On Windows, load average is approximated, and temperature and Docker containers aren't collected. Bekci itself (the dashboard) runs on Linux with Docker.
Entirely on your server: monitors, measurements, incidents and users live in the SQLite database on the /data volume (or in your own PostgreSQL). With SQLite, a backup is written to /data/backups/ every night — we recommend copying that folder off the server too.
Take a backup, then pull the new image and recreate the container. With Compose:
docker compose pull && docker compose up -dIf a new version changes the database schema (SQLite), Bekci takes an automatic backup first and won't migrate if that backup fails. To pin a version or roll back, use version tags such as kadirsungurlu/bekci:1.0.0. Details: Updates, backups and rollback.
There's no app-store app, and you won't miss it. Bekci is a PWA: on iPhone, open it in Safari → Share → Add to Home Screen; on Android, use Chrome → Install app. It launches like a native app and updates live.
Install it with one command and add your first monitor in under a minute.