Compare commits

..

69 Commits

Author SHA1 Message Date
hank
cfa7cfd0f6 New translations en.po (Czech) 2025-08-03 17:18:47 -04:00
hank
6907e46482 New translations en.po (Czech) 2025-08-03 16:13:55 -04:00
hank
ff51982c9d New translations en.po (Chinese Traditional, Hong Kong) 2025-08-01 21:36:31 -04:00
hank
42a525643e New translations en.po (Croatian) 2025-08-01 21:36:30 -04:00
hank
2ccac0f797 New translations en.po (Persian) 2025-08-01 21:36:29 -04:00
hank
9f6fdd6b60 New translations en.po (Icelandic) 2025-08-01 21:36:28 -04:00
hank
4bb73ec20a New translations en.po (Vietnamese) 2025-08-01 21:36:27 -04:00
hank
428fb8f4d0 New translations en.po (Chinese Traditional) 2025-08-01 21:36:26 -04:00
hank
7a9b53bb8a New translations en.po (Chinese Simplified) 2025-08-01 21:36:25 -04:00
hank
0261ecf0d3 New translations en.po (Ukrainian) 2025-08-01 21:36:24 -04:00
hank
299fbb60cb New translations en.po (Turkish) 2025-08-01 21:36:23 -04:00
hank
e18319018b New translations en.po (Swedish) 2025-08-01 21:36:22 -04:00
hank
186c2c2a25 New translations en.po (Slovenian) 2025-08-01 21:36:21 -04:00
hank
8acbf4c1ec New translations en.po (Russian) 2025-08-01 21:36:20 -04:00
hank
bb3a4d6ae3 New translations en.po (Portuguese) 2025-08-01 21:36:19 -04:00
hank
2b7e67eea4 New translations en.po (Polish) 2025-08-01 21:36:18 -04:00
hank
ebb2351f47 New translations en.po (Norwegian) 2025-08-01 21:36:17 -04:00
hank
831a09d026 New translations en.po (Dutch) 2025-08-01 21:36:16 -04:00
hank
bd0a851659 New translations en.po (Korean) 2025-08-01 21:36:15 -04:00
hank
b735a34a48 New translations en.po (Japanese) 2025-08-01 21:36:14 -04:00
hank
e96a6780c0 New translations en.po (Italian) 2025-08-01 21:36:13 -04:00
hank
1624cfd4e3 New translations en.po (Hungarian) 2025-08-01 21:36:12 -04:00
hank
b5d9974536 New translations en.po (Greek) 2025-08-01 21:36:11 -04:00
hank
65cc45d94e New translations en.po (German) 2025-08-01 21:36:10 -04:00
hank
648c7dbbef New translations en.po (Danish) 2025-08-01 21:36:09 -04:00
hank
7543303a90 New translations en.po (Czech) 2025-08-01 21:36:08 -04:00
hank
78cd9df7bc New translations en.po (Bulgarian) 2025-08-01 21:36:08 -04:00
hank
92f91503c0 New translations en.po (Arabic) 2025-08-01 21:36:07 -04:00
hank
53b62f038c New translations en.po (Spanish) 2025-08-01 21:36:06 -04:00
hank
9a6bae7d8c New translations en.po (French) 2025-08-01 21:36:05 -04:00
hank
24dd39e0da New translations en.po (Chinese Traditional, Hong Kong) 2025-08-01 19:22:01 -04:00
hank
876c2a229f New translations en.po (Croatian) 2025-08-01 19:21:59 -04:00
hank
092168b5bb New translations en.po (Persian) 2025-08-01 19:21:58 -04:00
hank
49d2a7eb7b New translations en.po (Icelandic) 2025-08-01 19:21:57 -04:00
hank
e88c6a54c5 New translations en.po (Vietnamese) 2025-08-01 19:21:57 -04:00
hank
fc32b8dfa9 New translations en.po (Chinese Traditional) 2025-08-01 19:21:55 -04:00
hank
304b95db7b New translations en.po (Chinese Simplified) 2025-08-01 19:21:54 -04:00
hank
a0c4723b15 New translations en.po (Ukrainian) 2025-08-01 19:21:53 -04:00
hank
e2e048dedc New translations en.po (Turkish) 2025-08-01 19:21:52 -04:00
hank
e77f15a6cd New translations en.po (Swedish) 2025-08-01 19:21:51 -04:00
hank
a28d6c8ffa New translations en.po (Slovenian) 2025-08-01 19:21:50 -04:00
hank
776dc22516 New translations en.po (Russian) 2025-08-01 19:21:49 -04:00
hank
571e293af7 New translations en.po (Portuguese) 2025-08-01 19:21:48 -04:00
hank
b6f295464c New translations en.po (Polish) 2025-08-01 19:21:47 -04:00
hank
1eee067467 New translations en.po (Norwegian) 2025-08-01 19:21:46 -04:00
hank
c123009b17 New translations en.po (Dutch) 2025-08-01 19:21:45 -04:00
hank
20b059d370 New translations en.po (Korean) 2025-08-01 19:21:44 -04:00
hank
9f81f23b1c New translations en.po (Japanese) 2025-08-01 19:21:43 -04:00
hank
ef4277360d New translations en.po (Italian) 2025-08-01 19:21:42 -04:00
hank
2061ddaade New translations en.po (Hungarian) 2025-08-01 19:21:41 -04:00
hank
fb295dbab5 New translations en.po (Greek) 2025-08-01 19:21:40 -04:00
hank
706deab37f New translations en.po (German) 2025-08-01 19:21:39 -04:00
hank
51fb32cce0 New translations en.po (Danish) 2025-08-01 19:21:38 -04:00
hank
67a4a1b36e New translations en.po (Czech) 2025-08-01 19:21:37 -04:00
hank
6f04d4c3b7 New translations en.po (Bulgarian) 2025-08-01 19:21:36 -04:00
hank
6bb203369b New translations en.po (Arabic) 2025-08-01 19:21:35 -04:00
hank
5fa971d76b New translations en.po (Spanish) 2025-08-01 19:21:34 -04:00
hank
4e477df1af New translations en.po (French) 2025-08-01 19:21:33 -04:00
hank
57bfe72486 Update readme.md 2025-07-31 19:43:08 -04:00
henrygd
75f66b0246 fix: handle missing docker group in debian postinstall script (#1012)
Check if docker group exists before attempting to add beszel user to it, preventing installation failure when Docker is not installed.
2025-07-30 19:09:10 -04:00
henrygd
ce93d54aa7 fix agent data directory resolution (#991) 2025-07-30 14:34:36 -04:00
henrygd
39dbe0eac5 ensure /etc/machine-id exists for persistent fingerprint in install-agent.sh 2025-07-30 14:25:41 -04:00
henrygd
7282044f80 improve memo deps for default area chart 2025-07-29 20:53:44 -04:00
henrygd
d77c37c0b0 winget upgrade: make sure service is stopped before updating package 2025-07-29 18:37:34 -04:00
Sven van Ginkel
e362cbbca5 Move copy button (#1010)
Thank you!
2025-07-28 19:20:37 -04:00
evrial
118544926b [Fix] OpenWrt agent install script (#1005)
* Update install-agent.sh

* Update install-agent.sh

* Update install-agent.sh
2025-07-28 14:56:31 -04:00
henrygd
d4bb0a0a30 fix: consolidate OpenWRT environment variables into single procd_set_param call 2025-07-27 18:51:26 -04:00
henrygd
fe5e35d1a9 agent install script: improve openwrt compatibility 2025-07-27 18:44:36 -04:00
henrygd
60a6ae2caa add winget token for goreleaser action 2025-07-25 20:13:31 -04:00
38 changed files with 1440 additions and 139 deletions

View File

@@ -3,7 +3,7 @@ name: Make release and binaries
on:
push:
tags:
- 'v*'
- "v*"
permissions:
contents: write
@@ -29,7 +29,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '^1.22.1'
go-version: "^1.22.1"
- name: GoReleaser beszel
uses: goreleaser/goreleaser-action@v6
@@ -40,3 +40,4 @@ jobs:
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.TOKEN || secrets.GITHUB_TOKEN }}
WINGET_TOKEN: ${{ secrets.WINGET_TOKEN }}

View File

@@ -188,6 +188,7 @@ winget:
publisher_support_url: "https://github.com/henrygd/beszel/issues"
short_description: "Agent for Beszel, a lightweight server monitoring platform."
skip_upload: auto
token: "{{ .Env.WINGET_TOKEN }}"
description: |
Beszel is a lightweight server monitoring platform that includes Docker
statistics, historical data, and alert functions. It has a friendly web

View File

@@ -111,7 +111,7 @@ func main() {
serverConfig.Addr = addr
serverConfig.Network = agent.GetNetwork(addr)
agent, err := agent.NewAgent("")
agent, err := agent.NewAgent()
if err != nil {
log.Fatal("Failed to create agent: ", err)
}

View File

@@ -40,13 +40,13 @@ type Agent struct {
// NewAgent creates a new agent with the given data directory for persisting data.
// If the data directory is not set, it will attempt to find the optimal directory.
func NewAgent(dataDir string) (agent *Agent, err error) {
func NewAgent(dataDir ...string) (agent *Agent, err error) {
agent = &Agent{
fsStats: make(map[string]*system.FsStats),
cache: NewSessionCache(69 * time.Second),
}
agent.dataDir, err = getDataDir(dataDir)
agent.dataDir, err = getDataDir(dataDir...)
if err != nil {
slog.Warn("Data directory not found")
} else {

View File

@@ -87,5 +87,5 @@ export default function AreaChartDefault({
</ChartContainer>
</div>
)
}, [chartData.systemStats.length, yAxisWidth, maxToggled])
}, [chartData.systemStats.at(-1), yAxisWidth, maxToggled])
}

View File

@@ -174,17 +174,11 @@ export default function SystemsTable() {
invertSorting: false,
Icon: ServerIcon,
cell: (info) => (
<span className="flex gap-0.5 items-center text-base md:ps-1 md:pe-5">
<span className="flex gap-2 items-center md:ps-1 md:pe-5">
<IndicatorDot system={info.row.original} />
<Button
data-nolink
variant={"ghost"}
className="text-primary/90 h-7 px-1.5 gap-1.5"
onClick={() => copyToClipboard(info.getValue() as string)}
>
<span className="font-medium text-sm">
{info.getValue() as string}
<CopyIcon className="size-2.5" />
</Button>
</span>
</span>
),
header: sortableHeader,
@@ -721,6 +715,10 @@ const ActionsButton = memo(({ system }: { system: SystemRecord }) => {
</>
)}
</DropdownMenuItem>
<DropdownMenuItem onClick={() => copyToClipboard(name)}>
<CopyIcon className="me-2.5 size-4" />
<Trans>Copy name</Trans>
</DropdownMenuItem>
<DropdownMenuItem onClick={() => copyToClipboard(host)}>
<CopyIcon className="me-2.5 size-4" />
<Trans>Copy host</Trans>

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: ar\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
@@ -296,6 +296,10 @@ msgstr "نسخ المضيف"
msgid "Copy Linux command"
msgstr "نسخ أمر لينكس"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "نسخ الاسم"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "نسخ النص"
@@ -1111,3 +1115,4 @@ msgstr "تكوين YAML"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "تم تحديث إعدادات المستخدم الخاصة بك."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: bg\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Копирай хоста"
msgid "Copy Linux command"
msgstr "Копирай linux командата"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Копирай име"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Копирай текста"
@@ -1111,3 +1115,4 @@ msgstr "YAML конфигурация"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Настройките за потребителя ти са обновени."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: cs\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-03 21:18\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -27,7 +27,7 @@ msgstr "{0, plural, one {# den} few {# dny} other {# dní}}"
#. placeholder {1}: table.getFilteredRowModel().rows.length
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "{0} of {1} row(s) selected."
msgstr ""
msgstr "{0} z {1} vybraných řádků."
#: src/components/routes/system.tsx
msgid "{hours, plural, one {# hour} other {# hours}}"
@@ -40,7 +40,7 @@ msgstr "1 hodina"
#. Load average
#: src/components/charts/load-average-chart.tsx
msgid "1 min"
msgstr ""
msgstr "1 min"
#: src/lib/utils.ts
msgid "1 week"
@@ -53,7 +53,7 @@ msgstr "12 hodin"
#. Load average
#: src/components/charts/load-average-chart.tsx
msgid "15 min"
msgstr ""
msgstr "15 min"
#: src/lib/utils.ts
msgid "24 hours"
@@ -66,7 +66,7 @@ msgstr "30 dní"
#. Load average
#: src/components/charts/load-average-chart.tsx
msgid "5 min"
msgstr ""
msgstr "5 min"
#. Table column
#: src/components/systems-table/systems-table.tsx
@@ -77,7 +77,7 @@ msgstr "Akce"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Active"
msgstr ""
msgstr "Aktivní"
#: src/components/routes/home.tsx
msgid "Active Alerts"
@@ -116,7 +116,7 @@ msgstr "Agent"
#: src/components/routes/settings/layout.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Alert History"
msgstr ""
msgstr "Historie upozornění"
#: src/components/alerts/alert-button.tsx
#: src/components/alerts/alert-button.tsx
@@ -134,7 +134,7 @@ msgstr "Opravdu chcete odstranit {name}?"
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Are you sure?"
msgstr ""
msgstr "Jste si jistý?"
#: src/components/copy-to-clipboard.tsx
msgid "Automatic copy requires a secure context."
@@ -191,12 +191,12 @@ msgstr "Binary"
#: src/components/routes/settings/general.tsx
#: src/components/routes/settings/general.tsx
msgid "Bits (Kbps, Mbps, Gbps)"
msgstr ""
msgstr "Bits (Kbps, Mbps, Gbps)"
#: src/components/routes/settings/general.tsx
#: src/components/routes/settings/general.tsx
msgid "Bytes (KB/s, MB/s, GB/s)"
msgstr ""
msgstr "Bytes (KB/s, MB/s, GB/s)"
#: src/components/charts/mem-chart.tsx
msgid "Cache / Buffers"
@@ -213,11 +213,11 @@ msgstr "Upozornění - možná ztráta dat"
#: src/components/routes/settings/general.tsx
msgid "Celsius (°C)"
msgstr ""
msgstr "Celsia (°C)"
#: src/components/routes/settings/general.tsx
msgid "Change display units for metrics."
msgstr ""
msgstr "Změnit jednotky zobrazení metrik."
#: src/components/routes/settings/general.tsx
msgid "Change general application options."
@@ -259,7 +259,7 @@ msgstr "Potvrdit heslo"
#: src/components/routes/home.tsx
msgid "Connection is down"
msgstr ""
msgstr "Připojení je nedostupné"
#: src/components/systems-table/systems-table.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
@@ -285,7 +285,7 @@ msgstr "Zkopírovat příkaz na spuštění dockeru"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Environment variables"
msgid "Copy env"
msgstr ""
msgstr "Kopírovat env"
#: src/components/systems-table/systems-table.tsx
msgid "Copy host"
@@ -296,21 +296,25 @@ msgstr "Kopírovat hostitele"
msgid "Copy Linux command"
msgstr "Kopírovat příkaz Linux"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Kopírovat název"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Kopírovat text"
#: src/components/add-system.tsx
msgid "Copy the installation command for the agent below, or register agents automatically with a <0>universal token</0>."
msgstr ""
msgstr "Zkopírujte instalační příkaz pro agenta níže nebo automaticky registrujte agenty s <0>univerzálním token</0>."
#: src/components/add-system.tsx
msgid "Copy the<0>docker-compose.yml</0> content for the agent below, or register agents automatically with a <1>universal token</1>."
msgstr ""
msgstr "Zkopírujte obsah <0>docker-compose.yml</0> pro agenta níže nebo automaticky registrujte agenty s <1>univerzálním token</1>."
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Copy YAML"
msgstr ""
msgstr "Kopírovat YAML"
#: src/components/systems-table/systems-table.tsx
msgid "CPU"
@@ -329,7 +333,7 @@ msgstr "Vytvořit účet"
#. Context: date created
#: src/components/alerts-history-columns.tsx
msgid "Created"
msgstr ""
msgstr "Vytvořeno"
#. Dark theme
#: src/components/mode-toggle.tsx
@@ -352,7 +356,7 @@ msgstr "Odstranit"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Delete fingerprint"
msgstr ""
msgstr "Smazat identifikátor"
#: src/components/systems-table/systems-table.tsx
msgid "Disk"
@@ -364,7 +368,7 @@ msgstr "Disk I/O"
#: src/components/routes/settings/general.tsx
msgid "Disk unit"
msgstr ""
msgstr "Disková jednotka"
#: src/lib/utils.ts
#: src/components/routes/system.tsx
@@ -402,7 +406,7 @@ msgstr "Nefunkční"
#: src/components/alerts-history-columns.tsx
msgid "Duration"
msgstr ""
msgstr "Doba trvání"
#: src/components/add-system.tsx
#: src/components/systems-table/systems-table.tsx
@@ -447,7 +451,7 @@ msgstr "Stávající systémy, které nejsou definovány v <0>config.yml</0>, bu
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Export"
msgstr ""
msgstr "Export"
#: src/components/routes/settings/config-yaml.tsx
msgid "Export configuration"
@@ -459,7 +463,7 @@ msgstr "Exportovat aktuální konfiguraci systémů."
#: src/components/routes/settings/general.tsx
msgid "Fahrenheit (°F)"
msgstr ""
msgstr "Fahrenheita (°F)"
#: src/lib/utils.ts
msgid "Failed to authenticate"
@@ -486,7 +490,7 @@ msgstr "Filtr..."
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Fingerprint"
msgstr ""
msgstr "Otisk"
#: src/components/alerts/alerts-system.tsx
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
@@ -548,24 +552,24 @@ msgstr "Světlý"
#: src/components/routes/system.tsx
msgid "Load Average"
msgstr ""
msgstr "Průměrné vytížení"
#: src/lib/utils.ts
msgid "Load Average 15m"
msgstr ""
msgstr "Průměrná zátěž 15m"
#: src/lib/utils.ts
msgid "Load Average 1m"
msgstr ""
msgstr "Průměrná zátěž 1m"
#: src/lib/utils.ts
msgid "Load Average 5m"
msgstr ""
msgstr "Průměrná zátěž 5m"
#. Short label for load average
#: src/components/systems-table/systems-table.tsx
msgid "Load Avg"
msgstr ""
msgstr "Prům. zatížení"
#: src/components/navbar.tsx
msgid "Log Out"
@@ -635,7 +639,7 @@ msgstr "Síťový provoz veřejných rozhraní"
#. Context: Bytes or bits
#: src/components/routes/settings/general.tsx
msgid "Network unit"
msgstr ""
msgstr "Síťová jednotka"
#: src/components/command-palette.tsx
msgid "No results found."
@@ -643,7 +647,7 @@ msgstr "Nenalezeny žádné výskyty."
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "No results."
msgstr ""
msgstr "Žádné výsledky."
#: src/components/systems-table/systems-table.tsx
#: src/components/systems-table/systems-table.tsx
@@ -686,7 +690,7 @@ msgstr "Stránka"
#. placeholder {1}: table.getPageCount()
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Page {0} of {1}"
msgstr ""
msgstr "Stránka {0} z {1}"
#: src/components/command-palette.tsx
msgid "Pages / Settings"
@@ -786,7 +790,7 @@ msgstr "Obnovit heslo"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Resolved"
msgstr ""
msgstr "Vyřešeno"
#: src/components/systems-table/systems-table.tsx
msgid "Resume"
@@ -794,11 +798,11 @@ msgstr "Pokračovat"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Rotate token"
msgstr ""
msgstr "Změnit token"
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Rows per page"
msgstr ""
msgstr "Řádků na stránku"
#: src/components/routes/settings/notifications.tsx
msgid "Save address using enter key or comma. Leave blank to disable email notifications."
@@ -859,7 +863,7 @@ msgstr "Seřadit podle"
#. Context: alert state (active or resolved)
#: src/components/alerts-history-columns.tsx
msgid "State"
msgstr ""
msgstr "Stav"
#: src/lib/utils.ts
msgid "Status"
@@ -884,7 +888,7 @@ msgstr "Systém"
#: src/components/routes/system.tsx
msgid "System load averages over time"
msgstr ""
msgstr "Průměry zatížení systému v průběhu času"
#: src/components/navbar.tsx
msgid "Systems"
@@ -910,7 +914,7 @@ msgstr "Teplota"
#: src/components/routes/settings/general.tsx
msgid "Temperature unit"
msgstr ""
msgstr "Jednotky teploty"
#: src/components/routes/system.tsx
msgid "Temperatures of system sensors"
@@ -934,7 +938,7 @@ msgstr "Tuto akci nelze vzít zpět. Tím se z databáze trvale odstraní všech
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "This will permanently delete all selected records from the database."
msgstr ""
msgstr "Tímto trvale odstraníte všechny vybrané záznamy z databáze."
#: src/components/routes/system.tsx
msgid "Throughput of {extraFsName}"
@@ -960,33 +964,33 @@ msgstr "Přepnout motiv"
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Token"
msgstr ""
msgstr "Token"
#: src/components/command-palette.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
#: src/components/routes/settings/layout.tsx
msgid "Tokens & Fingerprints"
msgstr ""
msgstr "Tokeny & Otisky"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Tokens allow agents to connect and register. Fingerprints are stable identifiers unique to each system, set on first connection."
msgstr ""
msgstr "Tokeny umožňují agentům připojení a registraci. Otisky jsou stabilní identifikátory jedinečné pro každý systém, nastavené na první připojení."
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Tokens and fingerprints are used to authenticate WebSocket connections to the hub."
msgstr ""
msgstr "Tokeny a otisky slouží k ověření připojení WebSocket k uzlu."
#: src/lib/utils.ts
msgid "Triggers when 1 minute load average exceeds a threshold"
msgstr ""
msgstr "Spustí se, když využití paměti během 1 minuty překročí prahovou hodnotu"
#: src/lib/utils.ts
msgid "Triggers when 15 minute load average exceeds a threshold"
msgstr ""
msgstr "Spustí se, když využití paměti během 15 minut překročí prahovou hodnotu"
#: src/lib/utils.ts
msgid "Triggers when 5 minute load average exceeds a threshold"
msgstr ""
msgstr "Spustí se, když využití paměti během 5 minut překročí prahovou hodnotu"
#: src/lib/utils.ts
msgid "Triggers when any sensor exceeds a threshold"
@@ -1015,11 +1019,11 @@ msgstr "Spustí se, když využití disku překročí prahovou hodnotu"
#. Temperature / network units
#: src/components/routes/settings/general.tsx
msgid "Unit preferences"
msgstr ""
msgstr "Předvolby jednotek"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Universal token"
msgstr ""
msgstr "Univerzální token"
#. Context: System is up
#: src/components/systems-table/systems-table.tsx
@@ -1058,7 +1062,7 @@ msgstr "Uživatelé"
#: src/components/alerts-history-columns.tsx
msgid "Value"
msgstr ""
msgstr "Hodnota"
#: src/components/systems-table/systems-table.tsx
msgid "View"
@@ -1066,7 +1070,7 @@ msgstr "Zobrazení"
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "View your 200 most recent alerts."
msgstr ""
msgstr "Zobrazit vašich 200 nejnovějších upozornění."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
@@ -1086,7 +1090,7 @@ msgstr "Webhook / Push oznámení"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "When enabled, this token allows agents to self-register without prior system creation. Expires after one hour or on hub restart."
msgstr ""
msgstr "Pokud je povoleno, tento token umožňuje agentům, aby se sami zaregistrovali bez předchozího vytvoření systému. Vyprší po jedné hodině nebo po restartu uzlu."
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
@@ -1111,3 +1115,4 @@ msgstr "YAML konfigurace"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Vaše uživatelská nastavení byla aktualizována."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: da\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Kopier host"
msgid "Copy Linux command"
msgstr "Kopier Linux kommando"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Kopier navn"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Kopier tekst"
@@ -1111,3 +1115,4 @@ msgstr "YAML Konfiguration"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Dine brugerindstillinger er opdateret."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Host kopieren"
msgid "Copy Linux command"
msgstr "Linux-Befehl kopieren"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Name kopieren"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Text kopieren"
@@ -1111,3 +1115,4 @@ msgstr "YAML-Konfiguration"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Deine Benutzereinstellungen wurden aktualisiert."

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: es\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Copiar host"
msgid "Copy Linux command"
msgstr "Copiar comando de Linux"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Copiar nombre"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Copiar texto"
@@ -1111,3 +1115,4 @@ msgstr "Configuración YAML"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Su configuración de usuario ha sido actualizada."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: fa\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "کپی میزبان"
msgid "Copy Linux command"
msgstr "کپی دستور لینوکس"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "کپی نام"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "کپی متن"
@@ -1111,3 +1115,4 @@ msgstr "پیکربندی YAML"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "تنظیمات کاربری شما به‌روزرسانی شد."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -296,6 +296,10 @@ msgstr "Copier l'hôte"
msgid "Copy Linux command"
msgstr "Copier la commande Linux"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Copier le nom"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Copier le texte"
@@ -1111,3 +1115,4 @@ msgstr "Configuration YAML"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Vos paramètres utilisateur ont été mis à jour."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: hr\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Croatian\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -296,6 +296,10 @@ msgstr "Kopiraj hosta"
msgid "Copy Linux command"
msgstr "Kopiraj Linux komandu"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Kopiraj naziv"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Kopiraj tekst"
@@ -1111,3 +1115,4 @@ msgstr "YAML Konfiguracija"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Vaše korisničke postavke su ažurirane."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: hu\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Hoszt másolása"
msgid "Copy Linux command"
msgstr "Linux parancs másolása"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Név másolása"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Szöveg másolása"
@@ -1111,3 +1115,4 @@ msgstr "YAML konfiguráció"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "A felhasználói beállítások frissítésre kerültek."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: is\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Icelandic\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Afrita host"
msgid "Copy Linux command"
msgstr "Afrita Linux aðgerð"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Afrita nafn"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Afrita texta"
@@ -1111,3 +1115,4 @@ msgstr ""
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Notenda stillingar vistaðar."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: it\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Copia host"
msgid "Copy Linux command"
msgstr "Copia comando Linux"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Copia nome"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Copia testo"
@@ -1111,3 +1115,4 @@ msgstr "Configurazione YAML"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Le impostazioni utente sono state aggiornate."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: ja\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -296,6 +296,10 @@ msgstr "ホストをコピー"
msgid "Copy Linux command"
msgstr "Linuxコマンドをコピー"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "名前をコピー"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "テキストをコピー"
@@ -1111,3 +1115,4 @@ msgstr "YAML設定"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "ユーザー設定が更新されました。"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: ko\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -296,6 +296,10 @@ msgstr "호스트 복사"
msgid "Copy Linux command"
msgstr "리눅스 명령어 복사"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "이름 복사"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "텍스트 복사"
@@ -1111,3 +1115,4 @@ msgstr "YAML 구성"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "사용자 설정이 업데이트되었습니다."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: nl\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Kopieer host"
msgid "Copy Linux command"
msgstr "Kopieer Linux-opdracht"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Kopieer naam"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Kopieer tekst"
@@ -1111,3 +1115,4 @@ msgstr "YAML Configuratie"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Je gebruikersinstellingen zijn bijgewerkt."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: no\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Kopier vert"
msgid "Copy Linux command"
msgstr "Kopier Linux-kommando"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Kopier navn"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Kopier tekst"
@@ -1111,3 +1115,4 @@ msgstr "YAML Konfigurasjon"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Dine brukerinnstillinger har blitt oppdatert."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: pl\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
@@ -296,6 +296,10 @@ msgstr "Kopiuj host"
msgid "Copy Linux command"
msgstr "Kopiuj polecenie Linux"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Kopiuj nazwę"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Kopiuj tekst"
@@ -1111,3 +1115,4 @@ msgstr "Konfiguracja YAML"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Twoje ustawienia użytkownika zostały zaktualizowane."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Copiar host"
msgid "Copy Linux command"
msgstr "Copiar comando Linux"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Copiar nome"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Copiar texto"
@@ -1111,3 +1115,4 @@ msgstr "Configuração YAML"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "As configurações do seu usuário foram atualizadas."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: ru\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
@@ -296,6 +296,10 @@ msgstr "Копировать хост"
msgid "Copy Linux command"
msgstr "Копировать команду Linux"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Копировать имя"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Копировать текст"
@@ -1111,3 +1115,4 @@ msgstr "YAML конфигурация"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Ваши настройки пользователя были обновлены."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: sl\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
@@ -296,6 +296,10 @@ msgstr "Kopiraj gostitelja"
msgid "Copy Linux command"
msgstr "Kopiraj Linux ukaz"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Kopiraj ime"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Kopiraj besedilo"
@@ -1111,3 +1115,4 @@ msgstr "YAML nastavitev"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Vaše uporabniške nastavitve so posodobljene."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: sv\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -27,7 +27,7 @@ msgstr "{0, plural, one {# dag} other {# dagar}}"
#. placeholder {1}: table.getFilteredRowModel().rows.length
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "{0} of {1} row(s) selected."
msgstr ""
msgstr "{0} av {1} rad(er) valda."
#: src/components/routes/system.tsx
msgid "{hours, plural, one {# hour} other {# hours}}"
@@ -40,7 +40,7 @@ msgstr "1 timme"
#. Load average
#: src/components/charts/load-average-chart.tsx
msgid "1 min"
msgstr ""
msgstr "1 min"
#: src/lib/utils.ts
msgid "1 week"
@@ -53,7 +53,7 @@ msgstr "12 timmar"
#. Load average
#: src/components/charts/load-average-chart.tsx
msgid "15 min"
msgstr ""
msgstr "15 min"
#: src/lib/utils.ts
msgid "24 hours"
@@ -66,7 +66,7 @@ msgstr "30 dagar"
#. Load average
#: src/components/charts/load-average-chart.tsx
msgid "5 min"
msgstr ""
msgstr "5 min"
#. Table column
#: src/components/systems-table/systems-table.tsx
@@ -77,7 +77,7 @@ msgstr "Åtgärder"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Active"
msgstr ""
msgstr "Aktiv"
#: src/components/routes/home.tsx
msgid "Active Alerts"
@@ -134,7 +134,7 @@ msgstr "Är du säker på att du vill ta bort {name}?"
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Are you sure?"
msgstr ""
msgstr "Är du säker?"
#: src/components/copy-to-clipboard.tsx
msgid "Automatic copy requires a secure context."
@@ -191,12 +191,12 @@ msgstr "Binär"
#: src/components/routes/settings/general.tsx
#: src/components/routes/settings/general.tsx
msgid "Bits (Kbps, Mbps, Gbps)"
msgstr ""
msgstr "Bits (Kbps, Mbps, Gbps)"
#: src/components/routes/settings/general.tsx
#: src/components/routes/settings/general.tsx
msgid "Bytes (KB/s, MB/s, GB/s)"
msgstr ""
msgstr "Bytes (KB/s, MB/s, GB/S)"
#: src/components/charts/mem-chart.tsx
msgid "Cache / Buffers"
@@ -213,11 +213,11 @@ msgstr "Varning - potentiell dataförlust"
#: src/components/routes/settings/general.tsx
msgid "Celsius (°C)"
msgstr ""
msgstr "Celsius (°C)"
#: src/components/routes/settings/general.tsx
msgid "Change display units for metrics."
msgstr ""
msgstr "Ändra enheter för mätvärden."
#: src/components/routes/settings/general.tsx
msgid "Change general application options."
@@ -259,7 +259,7 @@ msgstr "Bekräfta lösenord"
#: src/components/routes/home.tsx
msgid "Connection is down"
msgstr ""
msgstr "Ej ansluten"
#: src/components/systems-table/systems-table.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
@@ -296,6 +296,10 @@ msgstr "Kopiera värd"
msgid "Copy Linux command"
msgstr "Kopiera Linux-kommando"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Kopiera namn"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Kopiera text"
@@ -310,7 +314,7 @@ msgstr ""
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Copy YAML"
msgstr ""
msgstr "Kopiera YAML"
#: src/components/systems-table/systems-table.tsx
msgid "CPU"
@@ -329,7 +333,7 @@ msgstr "Skapa konto"
#. Context: date created
#: src/components/alerts-history-columns.tsx
msgid "Created"
msgstr ""
msgstr "Skapad"
#. Dark theme
#: src/components/mode-toggle.tsx
@@ -1111,3 +1115,4 @@ msgstr "YAML-konfiguration"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Dina användarinställningar har uppdaterats."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: tr\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -296,6 +296,10 @@ msgstr "Ana bilgisayarı kopyala"
msgid "Copy Linux command"
msgstr "Linux komutunu kopyala"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Adı kopyala"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Metni kopyala"
@@ -1111,3 +1115,4 @@ msgstr "YAML Yapılandırması"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Kullanıcı ayarlarınız güncellendi."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: uk\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Ukrainian\n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
@@ -296,6 +296,10 @@ msgstr "Копіювати хост"
msgid "Copy Linux command"
msgstr "Копіювати команду Linux"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Копіювати імʼя"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Копіювати текст"
@@ -1111,3 +1115,4 @@ msgstr "Конфігурація YAML"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Ваші налаштування користувача були оновлені."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: vi\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -296,6 +296,10 @@ msgstr "Sao chép máy chủ"
msgid "Copy Linux command"
msgstr "Sao chép lệnh Linux"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "Sao chép tên"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "Sao chép văn bản"
@@ -1111,3 +1115,4 @@ msgstr "Cấu hình YAML"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "Cài đặt người dùng của bạn đã được cập nhật."

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: zh\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -296,6 +296,10 @@ msgstr "复制主机名"
msgid "Copy Linux command"
msgstr "复制 Linux 安装命令"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "复制名称"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "复制文本"
@@ -1111,3 +1115,4 @@ msgstr "YAML配置"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "您的用户设置已更新。"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: zh\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional, Hong Kong\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -296,6 +296,10 @@ msgstr "複製主機"
msgid "Copy Linux command"
msgstr "複製 Linux 指令"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "複製名稱"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "複製文本"
@@ -1111,3 +1115,4 @@ msgstr "YAML配置"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "您的用戶設置已更新。"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Language: zh\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-07-25 22:44\n"
"PO-Revision-Date: 2025-08-02 01:36\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -296,6 +296,10 @@ msgstr "複製主機"
msgid "Copy Linux command"
msgstr "複製 Linux 指令"
#: src/components/systems-table/systems-table.tsx
msgid "Copy name"
msgstr "複製名稱"
#: src/components/copy-to-clipboard.tsx
msgid "Copy text"
msgstr "複製文字"
@@ -1111,3 +1115,4 @@ msgstr "YAML 設定檔"
#: src/components/routes/settings/layout.tsx
msgid "Your user settings have been updated."
msgstr "已更新您的使用者設定"

View File

@@ -16,7 +16,7 @@ It has a friendly web interface, simple configuration, and is ready to use out o
- **Lightweight**: Smaller and less resource-intensive than leading solutions.
- **Simple**: Easy setup with little manual configuration required.
- **Docker stats**: Tracks CPU, memory, and network usage history for each container.
- **Alerts**: Configurable alerts for CPU, memory, disk, bandwidth, temperature, and status.
- **Alerts**: Configurable alerts for CPU, memory, disk, bandwidth, temperature, load average, and status.
- **Multi-user**: Users manage their own systems. Admins can share systems across users.
- **OAuth / OIDC**: Supports many OAuth2 providers. Password auth can be disabled.
- **Automatic backups**: Save to and restore from disk or S3-compatible storage.

View File

@@ -31,10 +31,12 @@ if ! getent passwd "$SERVICE_USER" >/dev/null; then
--gecos "System user for $SERVICE"
fi
# Enable docker
if ! getent group docker | grep -q "$SERVICE_USER"; then
echo "Adding $SERVICE_USER to docker group"
usermod -aG docker "$SERVICE_USER"
# Enable docker (only if docker group exists)
if getent group docker >/dev/null 2>&1; then
if ! getent group docker | grep -q "$SERVICE_USER"; then
echo "Adding $SERVICE_USER to docker group"
usermod -aG docker "$SERVICE_USER"
fi
fi
# Create config file if it doesn't already exist

View File

@@ -5,7 +5,7 @@ is_alpine() {
}
is_openwrt() {
cat /etc/os-release | grep -q "OpenWrt"
grep -qi "OpenWrt" /etc/os-release
}
# If SELinux is enabled, set the context of the binary
@@ -227,8 +227,8 @@ if [ "$UNINSTALL" = true ]; then
rm -f /var/log/beszel-agent.log /var/log/beszel-agent.err
elif is_openwrt; then
echo "Stopping and disabling the agent service..."
service beszel-agent stop
service beszel-agent disable
/etc/init.d/beszel-agent stop
/etc/init.d/beszel-agent disable
echo "Removing the OpenWRT service files..."
rm -f /etc/init.d/beszel-agent
@@ -288,13 +288,13 @@ package_installed() {
}
# Check for package manager and install necessary packages if not installed
if is_alpine; then
if ! package_installed tar || ! package_installed curl || ! package_installed coreutils; then
if package_installed apk; then
if ! package_installed tar || ! package_installed curl || ! package_installed sha256sum; then
apk update
apk add tar curl coreutils shadow
fi
elif is_openwrt; then
if ! package_installed tar || ! package_installed curl || ! package_installed coreutils; then
elif package_installed opkg; then
if ! package_installed tar || ! package_installed curl || ! package_installed sha256sum; then
opkg update
opkg install tar curl coreutils
fi
@@ -335,11 +335,10 @@ else
fi
# Create a dedicated user for the service if it doesn't exist
echo "Creating a dedicated user for the Beszel Agent service..."
if is_alpine; then
if ! id -u beszel >/dev/null 2>&1; then
echo "Creating a dedicated group for the Beszel Agent service..."
addgroup beszel
echo "Creating a dedicated user for the Beszel Agent service..."
adduser -S -D -H -s /sbin/nologin -G beszel beszel
fi
# Add the user to the docker group to allow access to the Docker socket if group docker exists
@@ -347,10 +346,37 @@ if is_alpine; then
echo "Adding beszel to docker group"
usermod -aG docker beszel
fi
elif is_openwrt; then
# Create beszel group first if it doesn't exist (check /etc/group directly)
if ! grep -q "^beszel:" /etc/group >/dev/null 2>&1; then
echo "beszel:x:999:" >> /etc/group
fi
# Create beszel user if it doesn't exist (double-check to prevent duplicates)
if ! id -u beszel >/dev/null 2>&1 && ! grep -q "^beszel:" /etc/passwd >/dev/null 2>&1; then
echo "beszel:x:999:999::/nonexistent:/bin/false" >> /etc/passwd
fi
# Add the user to the docker group if docker group exists and user is not already in it
if grep -q "^docker:" /etc/group >/dev/null 2>&1; then
echo "Adding beszel to docker group"
# Check if beszel is already in docker group
if ! grep "^docker:" /etc/group | grep -q "beszel"; then
# Add beszel to docker group by modifying /etc/group
# Handle both cases: group with existing members and group without members
if grep "^docker:" /etc/group | grep -q ":.*:.*$"; then
# Group has existing members, append with comma
sed -i 's/^docker:\([^:]*:[^:]*:\)\(.*\)$/docker:\1\2,beszel/' /etc/group
else
# Group has no members, just append
sed -i 's/^docker:\([^:]*:[^:]*:\)$/docker:\1beszel/' /etc/group
fi
fi
fi
else
if ! id -u beszel >/dev/null 2>&1; then
echo "Creating a dedicated user for the Beszel Agent service..."
useradd --system --home-dir /nonexistent --shell /bin/false beszel
fi
# Add the user to the docker group to allow access to the Docker socket if group docker exists
@@ -427,6 +453,11 @@ set_selinux_context
# Cleanup
rm -rf "$TEMP_DIR"
# Make sure /etc/machine-id exists for persistent fingerprint
if [ ! -f /etc/machine-id ]; then
cat /proc/sys/kernel/random/uuid | tr -d '-' > /etc/machine-id
fi
# Check for NVIDIA GPUs and grant device permissions for systemd service
detect_nvidia_devices() {
local devices=""
@@ -546,10 +577,7 @@ start_service() {
procd_set_param command /opt/beszel-agent/beszel-agent
procd_set_param user beszel
procd_set_param pidfile /var/run/beszel-agent.pid
procd_set_param env PORT="$PORT"
procd_set_param env KEY="$KEY"
procd_set_param env TOKEN="$TOKEN"
procd_set_param env HUB_URL="$HUB_URL"
procd_set_param env PORT="$PORT" KEY="$KEY" TOKEN="$TOKEN" HUB_URL="$HUB_URL"
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
@@ -573,10 +601,10 @@ EOF
# Enable the service
chmod +x /etc/init.d/beszel-agent
service beszel-agent enable
/etc/init.d/beszel-agent enable
# Start the service
service beszel-agent restart
/etc/init.d/beszel-agent restart
# Auto-update service for OpenWRT using a crontab job
if [ "$AUTO_UPDATE_FLAG" = "true" ]; then
@@ -604,9 +632,9 @@ EOF
esac
# Check service status
if ! service beszel-agent running >/dev/null 2>&1; then
if ! /etc/init.d/beszel-agent running >/dev/null 2>&1; then
echo "Error: The Beszel Agent service is not running."
service beszel-agent status
/etc/init.d/beszel-agent status
exit 1
fi

View File

@@ -217,13 +217,6 @@ function Update-ServicePath {
throw "NSSM is not available in PATH and no valid NSSMPath was provided"
}
# Stop the service
Write-Host "Stopping beszel-agent service..."
& $nssmCommand stop beszel-agent
if ($LASTEXITCODE -ne 0) {
Write-Host "Warning: Failed to stop service, continuing anyway..." -ForegroundColor Yellow
}
# Update the application path
& $nssmCommand set beszel-agent Application $NewAgentPath
if ($LASTEXITCODE -ne 0) {
@@ -233,7 +226,25 @@ function Update-ServicePath {
Write-Host "Service path updated to: $NewAgentPath"
# Start the service
Start-BeszelAgentService -NSSMPath $nssmCommand
}
# Function to start and monitor the service
function Start-BeszelAgentService {
param (
[string]$NSSMPath = ""
)
Write-Host "Starting beszel-agent service..."
# Determine the NSSM executable to use
$nssmCommand = "nssm"
if ($NSSMPath -and (Test-Path $NSSMPath)) {
$nssmCommand = $NSSMPath
} elseif (-not (Test-CommandExists "nssm")) {
throw "NSSM is not available in PATH and no valid NSSMPath was provided"
}
& $nssmCommand start beszel-agent
$startResult = $LASTEXITCODE
@@ -255,7 +266,7 @@ function Update-ServicePath {
if ($serviceStatus -eq "SERVICE_RUNNING") {
$serviceStarted = $true
Write-Host "Success! The beszel-agent service is now running with the updated path." -ForegroundColor Green
Write-Host "Success! The beszel-agent service is now running." -ForegroundColor Green
}
elseif ($serviceStatus -like "*PENDING*") {
Write-Host "Service is still starting (status: $serviceStatus)... waiting" -ForegroundColor Yellow
@@ -273,7 +284,7 @@ function Update-ServicePath {
}
} else {
# NSSM start command was successful
Write-Host "Success! The beszel-agent service is running with the updated path." -ForegroundColor Green
Write-Host "Success! The beszel-agent service is running properly." -ForegroundColor Green
}
}
@@ -287,7 +298,6 @@ $isAdmin = Test-Admin
try {
Write-Host "Beszel Agent Upgrade Script" -ForegroundColor Cyan
Write-Host "===========================" -ForegroundColor Cyan
Write-Host ""
# First: Check if service exists (doesn't require admin)
$existingService = Get-Service -Name "beszel-agent" -ErrorAction SilentlyContinue
@@ -312,6 +322,13 @@ try {
Write-Host "Retrieving current service configuration..."
$currentConfig = Get-ServiceConfiguration -NSSMPath $nssmPath
# Stop the service before upgrade
Write-Host "Stopping beszel-agent service..."
& $nssmPath stop beszel-agent
if ($LASTEXITCODE -ne 0) {
Write-Host "Warning: Failed to stop service, continuing anyway..." -ForegroundColor Yellow
}
# Upgrade the agent (doesn't require admin)
Write-Host "Upgrading beszel-agent..."
$newAgentPath = $null
@@ -340,7 +357,8 @@ try {
# Check if the path has changed
if ($currentConfig.CurrentPath -eq $newAgentPath) {
Write-Host "Agent path has not changed. Service update not needed." -ForegroundColor Green
Write-Host "Agent path has not changed. Restarting service..." -ForegroundColor Green
Start-BeszelAgentService -NSSMPath $nssmPath
Write-Host "Upgrade completed successfully!" -ForegroundColor Green
exit 0
}