mirror of
https://github.com/fankes/beszel.git
synced 2025-10-19 17:59:28 +08:00
78 lines
2.4 KiB
Markdown
78 lines
2.4 KiB
Markdown
# Beszel
|
|
|
|
A lightweight resource monitoring hub with historical data, docker stats, and alerts.
|
|
|
|
<table width="100%">
|
|
<tbody>
|
|
<tr>
|
|
<td width="50%"><img src="https://henrygd-assets.b-cdn.net/social-image-server/before-capture.png" alt="example of turso.tech/pricing link which is missing an og:image as of may 11 2024"/></td>
|
|
<td width="50%"><img src="https://henrygd-assets.b-cdn.net/social-image-server/after-capture.webp" alt="example of turso.tech/pricing link using an image generated by the server as it's og:image"/></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
## Introduction
|
|
|
|
Beszel has two components: the hub and the agent.
|
|
|
|
The hub is a web application built on top of [PocketBase](https://pocketbase.io/) that provides a dashboard to view and manage your connected systems.
|
|
|
|
The agent runs on each system you want to monitor. It provides a minimal SSH server through which it communicates system information to the hub.
|
|
|
|
## Installation
|
|
|
|
The hub and agent are distributed as single binary files, as well as docker images.
|
|
|
|
> **Note**: The docker version does not support disk I/O stats, so use the binary version if that's important to you.
|
|
|
|
### Docker
|
|
|
|
### Binary
|
|
|
|
## OAuth / OIDC integration
|
|
|
|
Beszel supports OpenID Connect and many OAuth2 authentication providers (see list below). To enable this, you will need to:
|
|
|
|
1. Create an OAuth2 application using your provider of choice. The redirect / callback URL should be `<your-beszel-url>/api/oauth2-redirect`.
|
|
2. When you have the client ID and secret, go to the "Auth providers" page and enable your provider.
|
|
|
|
<details>
|
|
<summary>Supported provider list</summary>
|
|
|
|
- Apple
|
|
- Bitbucket
|
|
- Discord
|
|
- Facebook
|
|
- Gitea
|
|
- Gitee
|
|
- GitHub
|
|
- GitLab
|
|
- Google
|
|
- Instagram
|
|
- Kakao
|
|
- LiveChat
|
|
- mailcow
|
|
- Microsoft
|
|
- OpenID Connect
|
|
- Patreon (v2)
|
|
- Planning Center
|
|
- Spotify
|
|
- Strava
|
|
- Twitch
|
|
- Twitter
|
|
- VK
|
|
- Yandex
|
|
</details>
|
|
|
|
## API
|
|
|
|
Because Beszel is built on top of PocketBase, you can use the normal PocketBase API to read or update your data in your own applications.
|
|
|
|
## Security
|
|
|
|
The hub and agent communicate over SSH, so they do not need to be exposed to the internet.
|
|
|
|
When the hub is started for the first time, it generates an ED25519 key pair.
|
|
|
|
The agent's SSH server is configured to only accept connections using this key. It also does not provide a pty or accept any input, so it is not possible to execute commands on the agent.
|