Getting started
What Bekci is, what you need, and which install path fits you. Decide in a few minutes and continue with the right guide.
Bekci watches your websites, APIs and servers from a single panel and tells you right away when something goes wrong. It runs on your own server as a single Docker image: the interface, the check engine, the database and the server agent binaries all ship in the same image.
These docs are written so that you can install Bekci end to end on your own, even if you are not very familiar with Linux and Docker. Every guide is a list of numbered steps, and each step ends with a “What you should see” box that tells you whether you are on track.
What you need#
| Minimum | Recommended | |
|---|---|---|
| CPU | 1 vCPU | 1–2 vCPU |
| Memory (RAM) | 512 MB | 1 GB |
| Disk | 10 GB | 10 GB or more |
| CPU architecture | amd64 (x86_64) or arm64 (aarch64) | |
| Operating system | Any Linux distribution that can run Docker | A current Ubuntu LTS or Debian release |
- Docker: Bekci ships as a Docker image. If Docker isn't installed yet, the first step of the Docker guide shows you how.
- A domain (optional): to open the panel at a secure address such as
https://bekci.example.comyou need a domain (or subdomain). You don't need one to try Bekci out. - Memory use: Bekci itself uses about 15 MB of RAM with 10 monitors and 3 servers. Add roughly 200 MB if you choose the image with embedded PostgreSQL.
Which install path fits you?#
Find the row closest to your situation and open that guide. If you are unsure: if you have an empty server and a domain, choose the Caddy install. It gives you a secure (HTTPS), permanent setup with the least effort.
| Your situation | Guide | Time |
|---|---|---|
| I just want to try it; I have a server with Docker | Docker (one command) | 3 min |
| One server with Docker; I want the settings in a file | Docker Compose | 5 min |
| An empty server and a domain; I want HTTPS | HTTPS install (Caddy) — recommended | 10 min |
| My server runs Coolify | Coolify | 5 min |
| My server already runs Nginx, Traefik, Apache or Caddy | Behind a reverse proxy | 10 min |
Which database?#
For most installs there is nothing to decide: Bekci uses SQLite by default. It needs no extra service, is the lightest option and stays fast with hundreds of monitors.
| Option | How | When |
|---|---|---|
| SQLite (default) | The kadirsungurlu/bekci:latest image, nothing else | Most installs |
| Embedded PostgreSQL | The kadirsungurlu/bekci:postgres image; PostgreSQL 18 runs inside the same container | You want PostgreSQL but don't want to run a separate database |
| External PostgreSQL | The latest image + the DATABASE_URL environment variable | You already run a PostgreSQL server |
A few terms#
Terms you will come across while using Bekci:
| Term | Meaning |
|---|---|
| Monitor | A target checked at regular intervals: a website, an API, a port, a database, a cron job… |
| Incident | A period during which a monitor is down, recorded with its start, end and cause. |
| Status page | A public page showing your customers the state of your services. |
| Server agent | A small program installed on a server you want to watch; it sends CPU, RAM, disk and network metrics. |
| Check location | A copy of Bekci that checks your monitors from another location (e.g. another city). |
BASE_URL | The address the panel is reached at from outside. Links in notifications and agent install commands use it. |
Help#
If you get stuck, start with Troubleshooting. If something in the docs is missing or wrong, or you found a bug, report it on GitHub. Bekci is open source (AGPL-3.0); the source code is on GitHub.
Something missing or wrong on this page? Report it on GitHub or email [email protected]