Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
270 changes: 140 additions & 130 deletions .vitepress/config/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,143 +2,153 @@ import { defineConfig, type DefaultTheme } from "vitepress";
import pkg from "../../package.json";

export const en = defineConfig({
lang: "en-US",
description:
"Lightweight server monitoring with historical data, Docker stats, and alerts.",
themeConfig: {
nav: nav(),
lang: "en-US",
description:
"Lightweight server monitoring with historical data, Docker stats, and alerts.",
themeConfig: {
nav: nav(),

sidebar: {
"/guide/": { base: "/guide/", items: sidebarGuide() },
},
sidebar: {
"/guide/": { base: "/guide/", items: sidebarGuide() },
},

editLink: {
pattern: "https://github.com/henrygd/beszel-docs/edit/main/:path",
text: "Edit this page on GitHub",
},
editLink: {
pattern: "https://github.com/henrygd/beszel-docs/edit/main/:path",
text: "Edit this page on GitHub",
},

footer: {
message: "Released under the MIT License",
},
},
footer: {
message: "Released under the MIT License",
},
},
});

function nav(): DefaultTheme.NavItem[] {
return [
{
text: "Guide",
link: "/guide/what-is-beszel",
activeMatch: "/guide/",
},
{
text: pkg.version,
items: [
{
text: "Releases",
link: "https://github.com/henrygd/beszel/releases",
},
{
text: "New Issue",
link: "https://github.com/henrygd/beszel/issues/new/choose",
},
],
},
];
return [
{
text: "Guide",
link: "/guide/what-is-beszel",
activeMatch: "/guide/",
},
{
text: pkg.version,
items: [
{
text: "Releases",
link: "https://github.com/henrygd/beszel/releases",
},
{
text: "New Issue",
link: "https://github.com/henrygd/beszel/issues/new/choose",
},
],
},
];
}

function sidebarGuide(): DefaultTheme.SidebarItem[] {
return [
{
text: "Introduction",
collapsed: false,
items: [
{ text: "What is Beszel?", link: "what-is-beszel" },
{ text: "Getting Started", link: "getting-started" },
],
},
{
text: "Installation",
collapsed: false,
items: [
{ text: "Hub Installation", link: "hub-installation" },
{ text: "Agent Installation", link: "agent-installation" },
{ text: "Advanced Deployment", link: "advanced-deployment" },
],
},
{
text: "Configuration / Guides",
collapsed: false,
items: [
{ text: "Additional Disks", link: "additional-disks" },
{ text: "Compiling", link: "compiling" },
{ text: "Environment Variables", link: "environment-variables" },
{ text: "GPU Monitoring", link: "gpu" },
{ text: "Healthchecks", link: "healthchecks" },
{
text: "Notifications",
link: "notifications",
collapsed: true,
items: [
{ text: "Generic", link: "/notifications/generic" },
{ text: "Bark", link: "/notifications/bark" },
{ text: "Discord", link: "/notifications/discord" },
{ text: "Gotify", link: "/notifications/gotify" },
{ text: "Google Chat", link: "/notifications/googlechat" },
{ text: "IFTTT", link: "/notifications/ifttt" },
{ text: "Join", link: "/notifications/join" },
{ text: "Lark", link: "/notifications/lark" },
{ text: "Mattermost", link: "/notifications/mattermost" },
{ text: "Matrix", link: "/notifications/matrix" },
{ text: "Ntfy", link: "/notifications/ntfy" },
{ text: "OpsGenie", link: "/notifications/opsgenie" },
{ text: "Pushbullet", link: "/notifications/pushbullet" },
{ text: "Pushover", link: "/notifications/pushover" },
{ text: "Rocketchat", link: "/notifications/rocketchat" },
{ text: "Signal", link: "/notifications/signal" },
{ text: "Slack", link: "/notifications/slack" },
{ text: "Teams", link: "/notifications/teams" },
{ text: "Telegram", link: "/notifications/telegram" },
{ text: "WeCom", link: "/notifications/wecom" },
{ text: "Zulip Chat", link: "/notifications/zulip" },
],
},
{ text: "OAuth / OIDC", link: "oauth" },
{ text: "Podman Monitoring", link: "podman" },
{ text: "REST API", link: "rest-api" },
{ text: "Reverse Proxy", link: "reverse-proxy" },
{ text: "S.M.A.R.T. Data", link: "smart-data" },
{ text: "Systemd Services", link: "systemd" },
{ text: "User Accounts", link: "user-accounts" },
{
text: "Third-Party Integrations",
collapsed: true,
items: [
{ text: 'Home Assistant Agent', link: '/third-party-integrations/home-assistant' },
{ text: 'Mobile Applications', link: '/third-party-integrations/mobile-apps' },
],
},
],
},
{
text: "Troubleshooting",
collapsed: false,
items: [
{ text: "Common Issues", link: "common-issues" },
{ text: "Docker Shell", link: "docker-shell.md" },
],
},
{
text: "About",
collapsed: false,
items: [
{ text: "Developer Guide", link: "developer-guide" },
{
text: "Multilingual and Localization",
link: "multlingual-and-localization",
},
{ text: "Security Information", link: "security" },
{ text: "Support / Discussion", link: "support-discussion" },
],
},
];
return [
{
text: "Introduction",
collapsed: false,
items: [
{ text: "What is Beszel?", link: "what-is-beszel" },
{ text: "Getting Started", link: "getting-started" },
],
},
{
text: "Installation",
collapsed: false,
items: [
{ text: "Hub Installation", link: "hub-installation" },
{ text: "Agent Installation", link: "agent-installation" },
{ text: "Advanced Deployment", link: "advanced-deployment" },
],
},
{
text: "Configuration / Guides",
collapsed: false,
items: [
{ text: "Additional Disks", link: "additional-disks" },
{ text: "Compiling", link: "compiling" },
{ text: "Environment Variables", link: "environment-variables" },
{ text: "GPU Monitoring", link: "gpu" },
{ text: "Healthchecks", link: "healthchecks" },
{
text: "Notifications",
link: "notifications",
collapsed: true,
items: [
{ text: "Generic", link: "/notifications/generic" },
{ text: "Bark", link: "/notifications/bark" },
{ text: "Discord", link: "/notifications/discord" },
{ text: "Gotify", link: "/notifications/gotify" },
{ text: "Google Chat", link: "/notifications/googlechat" },
{ text: "IFTTT", link: "/notifications/ifttt" },
{ text: "Join", link: "/notifications/join" },
{ text: "Lark", link: "/notifications/lark" },
{ text: "Mattermost", link: "/notifications/mattermost" },
{ text: "Matrix", link: "/notifications/matrix" },
{ text: "Ntfy", link: "/notifications/ntfy" },
{ text: "OpsGenie", link: "/notifications/opsgenie" },
{ text: "Pushbullet", link: "/notifications/pushbullet" },
{ text: "Pushover", link: "/notifications/pushover" },
{ text: "Rocketchat", link: "/notifications/rocketchat" },
{ text: "Signal", link: "/notifications/signal" },
{ text: "Slack", link: "/notifications/slack" },
{ text: "Teams", link: "/notifications/teams" },
{ text: "Telegram", link: "/notifications/telegram" },
{ text: "WeCom", link: "/notifications/wecom" },
{ text: "Zulip Chat", link: "/notifications/zulip" },
],
},
{ text: "OAuth / OIDC", link: "oauth" },
{ text: "Podman Monitoring", link: "podman" },
{ text: "REST API", link: "rest-api" },
{ text: "Reverse Proxy", link: "reverse-proxy" },
{ text: "S.M.A.R.T. Data", link: "smart-data" },
{ text: "Systemd Services", link: "systemd" },
{ text: "User Accounts", link: "user-accounts" },
{
text: "Third-Party Integrations",
collapsed: true,
items: [
{
text: "Home Assistant Agent",
link: "/third-party-integrations/home-assistant",
},
{
text: "Mobile Applications",
link: "/third-party-integrations/mobile-apps",
},
{
text: "Synology Agent Package",
link: "/third-party-integrations/synology-package",
},
],
},
],
},
{
text: "Troubleshooting",
collapsed: false,
items: [
{ text: "Common Issues", link: "common-issues" },
{ text: "Docker Shell", link: "docker-shell.md" },
],
},
{
text: "About",
collapsed: false,
items: [
{ text: "Developer Guide", link: "developer-guide" },
{
text: "Multilingual and Localization",
link: "multlingual-and-localization",
},
{ text: "Security Information", link: "security" },
{ text: "Support / Discussion", link: "support-discussion" },
],
},
];
}
6 changes: 6 additions & 0 deletions en/guide/agent-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -372,3 +372,9 @@ winget uninstall henrygd.beszel-agent
## Home Assistant

See the [Home Assistant Agent page](./home-assistant.md) for instructions on setting up the agent as a Home Assistant add-on.

## Synology NAS

The agent can be installed via Docker on Synology NAS systems that support Docker.

For older systems or simpler setups, see the [Synology NAS Agent Package page](./third-party-integrations/synology-package.md) for instructions on setting up the agent as a native Synology package.
92 changes: 92 additions & 0 deletions en/guide/third-party-integrations/synology-package.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Synology NAS Agent Package

The beszel agent can be installed onto any Synology NAS as a Synology package. This allows the agent to run on devices that may not support Docker, and provides a more integrated experience with Synology's DSM operating system.

The package is maintained by not-first and published as '[Beszel Agent ADD THIS LINK WHEN AVAILABLE](https://example.com/)' on the [SynoCommunity package repository](https://synocommunity.com/). The code is open source and can be viewed on [Github](https://github.com/SynoCommunity/spksrc/tree/master/spk/beszel-agent).


## Before You Begin

### Add the SynoCommunity Repository

::: tip **If on DSM6 or below**

Log into your NAS as administrator and go to:
- Main Menu → Package Center → Settings
- Set Trust Level to "Synology Inc. and trusted publishers"
:::

In the Package Sources tab of Package Center Settings:
- Click **Add**
- Enter `SynoCommunity` as Name
- Enter `https://packages.synocommunity.com/` as Location
- Click **OK** to validate

### (Optional) SMART Monitoring Prerequisites

SMART monitoring is **optional** and can be skipped if you don't need disk health monitoring.

::: warning Important
If you want SMART monitoring, you should follow the dependency steps **before** installing the beszel agent.
:::

If you want SMART monitoring, install the `SynoCli Disk Tools` package from SynoCommunity now:
1. Open Package Center and go to the **Community** tab
2. Search for `SynoCli Disk Tools`
3. Click **Install** and complete the installation

This package provides an updated `smartctl` binary, as the default version included with DSM is severely outdated.

After this installation is complete, run the command `sudo setcap 'cap_sys_rawio+ep' $(readlink -f /usr/local/bin/smartctl)` in a terminal session with root access (e.g SSH) to allow the smartctl binary to access SMART data.


## Installing the Beszel Agent Package

1. Open Package Center and go to the **Community** tab
2. Search for `beszel agent`
3. Click **Install**

You will immediately be prompted with a configuration screen. See the next section for how to fill in these settings.


## Configuring the Beszel Agent

During the installation process, you will be prompted to input configuration details for the beszel agent.

<a href="/image/synology-agent-package-setup-ui.png" target="_blank">
<img src="/image/synology-agent-package-setup-ui.png" height="146" width="554" alt="Beszel agent package configuration screen" />
</a>

### Public Key

**Required.** Enter your beszel agent's public key.

### Filesystems to Monitor
**Optional.** Sets the value of the `EXTRA_FILESYSTEMS` environment variable. See the [relevant documentation](./additional-disks#binary-agent) for more information.

This is advised, as by default the beszel agent only monitors the root filesystem (`/`), which may not include all disks on your NAS. Utilise the path format `/volume{n}__Label` to specify additional filesystems to monitor, separated by commas. If an external USB drive is connected, it can be specified using the `/volumeUSB{n}/usbshare__Label` format.

**Example:** `/volume1__Main Storage,/volumeUSB1/usbshare__External Backup`

### SMART Monitoring

**Optional.** Sets the value of the `ENABLE_SMART` environment variable. See the [relevant documentation](./environment-variables#smart-devices) for more information. Leave blank to disable SMART monitoring. If you have not followed the prerequisite steps above, cancel the installation and do so now.

::: warning
This requires that you have followed the dependency steps as described in the [prerequisites section](#optional-smart-monitoring-prerequisites) above.
:::

Specify your drives in the format `/dev/sd{x}:sat`, separated by commas.

**Example:** `/dev/sda:sat,/dev/sdb:sat,/dev/sdc:sat`

- `/dev/sda:sat` for Drive 1
- `/dev/sdb:sat` for Drive 2
- `/dev/sdr:sat` is typically used for an external USB drive

::: info
Although your disks may not be of the `sat` type, this is the required format for beszel to be able to read SMART data.
:::



Binary file added public/image/synology-agent-package-setup-ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.