Compare commits

...

4 Commits

Author SHA1 Message Date
henrygd
17e910a246 update docker-compose.yml examples 2026-05-19 20:20:13 -04:00
Iriome Santana
0e65a2373f feat(docker): add healthcheck to hub docker-compose example (#2001) 2026-05-19 20:13:29 -04:00
henrygd
c1c1cd1bcb ui: fix temperature chart filtering 2026-04-20 20:45:16 -04:00
Yvan Wang
cd9ea51039 fix(hub): use rfcEmail validator to allow IDN/Punycode email addresses (#1935)
valibot's email() action uses a domain-label regex that disallows the
-- sequence, so Punycode ACE labels like xn--mnchen-3ya.de (the ASCII
form of münchen.de) are incorrectly rejected.

Switching to rfcEmail() applies the RFC 5321 domain-label pattern,
which allows hyphens within labels and therefore accepts both standard
and internationalized domain names.
2026-04-18 12:23:14 -04:00
7 changed files with 59 additions and 31 deletions

View File

@@ -104,7 +104,7 @@ export default function LineChartDefault({
isAnimationActive={false} isAnimationActive={false}
// stackId={dataPoint.stackId} // stackId={dataPoint.stackId}
order={dataPoint.order || i} order={dataPoint.order || i}
// activeDot={dataPoint.activeDot ?? true} activeDot={dataPoint.activeDot ?? true}
/> />
) )
}) })

View File

@@ -17,7 +17,7 @@ import { toast } from "../ui/use-toast"
import { OtpInputForm } from "./otp-forms" import { OtpInputForm } from "./otp-forms"
const honeypot = v.literal("") const honeypot = v.literal("")
const emailSchema = v.pipe(v.string(), v.email(t`Invalid email address.`)) const emailSchema = v.pipe(v.string(), v.rfcEmail(t`Invalid email address.`))
const passwordSchema = v.pipe( const passwordSchema = v.pipe(
v.string(), v.string(),
v.minLength(8, t`Password must be at least 8 characters.`), v.minLength(8, t`Password must be at least 8 characters.`),

View File

@@ -24,7 +24,7 @@ interface ShoutrrrUrlCardProps {
} }
const NotificationSchema = v.object({ const NotificationSchema = v.object({
emails: v.array(v.pipe(v.string(), v.email())), emails: v.array(v.pipe(v.string(), v.rfcEmail())),
webhooks: v.array(v.pipe(v.string(), v.url())), webhooks: v.array(v.pipe(v.string(), v.url())),
}) })

View File

@@ -120,7 +120,8 @@ export function TemperatureChart({
label: key, label: key,
dataKey: dataKeys[key], dataKey: dataKeys[key],
color: colorMap[key], color: colorMap[key],
opacity: strokeOpacity, strokeOpacity,
activeDot: !filtered,
} }
}) })
}, [sortedKeys, filter, dataKeys, colorMap]) }, [sortedKeys, filter, dataKeys, colorMap])
@@ -134,7 +135,7 @@ export function TemperatureChart({
// label: `Test ${++i}`, // label: `Test ${++i}`,
// dataKey: () => 0, // dataKey: () => 0,
// color: "red", // color: "red",
// opacity: 1, // strokeOpacity: 1,
// }) // })
// } // }
// } // }
@@ -202,6 +203,7 @@ export function TemperatureChart({
return `${decimalString(value)} ${unit}` return `${decimalString(value)} ${unit}`
}} }}
dataPoints={dataPoints} dataPoints={dataPoints}
filter={filter}
></LineChartDefault> ></LineChartDefault>
</ChartCard> </ChartCard>
</div> </div>

View File

@@ -1,18 +1,24 @@
# Specialized images available for Nvidia / Intel GPUs
#
# Docs: https://beszel.dev/guide/agent-installation
# Env vars: https://beszel.dev/guide/environment-variables
services: services:
beszel-agent: beszel-agent:
image: 'henrygd/beszel-agent' #Or henrygd/beszel-agent-nvidia image: henrygd/beszel-agent
container_name: 'beszel-agent' container_name: beszel-agent
restart: unless-stopped restart: unless-stopped
network_mode: host network_mode: host
# Only when using henrygd/beszel-agent-nvidia
# runtime: nvidia
volumes: volumes:
- ./beszel_agent_data:/var/lib/beszel-agent
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
# monitor other disks / partitions by mounting a folder in /extra-filesystems # monitor other disks / partitions by mounting a folder in /extra-filesystems
# - /mnt/disk/.beszel:/extra-filesystems/sda1:ro # - /mnt/disk1/.beszel:/extra-filesystems/disk1:ro
environment: environment:
PORT: 45876 LISTEN: 45876
KEY: 'ssh-ed25519 YOUR_PUBLIC_KEY' KEY: "<public key>"
# Only when using henrygd/beszel-agent-nvidia HUB_URL: "<hub url>"
# NVIDIA_VISIBLE_DEVICES: all TOKEN: "<token>"
# NVIDIA_DRIVER_CAPABILITIES: compute,video,utility # healthcheck:
# test: ['CMD', '/agent', 'health']
# interval: 120s

View File

@@ -1,9 +1,17 @@
# Docs: https://beszel.dev/guide/hub-installation
# Env vars: https://beszel.dev/guide/environment-variables
services: services:
beszel: beszel:
image: 'henrygd/beszel' image: "henrygd/beszel"
container_name: 'beszel' container_name: "beszel"
restart: unless-stopped restart: unless-stopped
ports: ports:
- '8090:8090' - "8090:8090"
volumes: volumes:
- ./beszel_data:/beszel_data - ./beszel_data:/beszel_data
# healthcheck:
# test: ['CMD', '/beszel', 'health', '--url', 'http://localhost:8090']
# interval: 120s
# start_period: 10s
# timeout: 5s

View File

@@ -1,26 +1,38 @@
# Docs: https://beszel.dev/guide/getting-started
# Env vars: https://beszel.dev/guide/environment-variables
services: services:
beszel: beszel:
image: 'henrygd/beszel' image: henrygd/beszel:latest
container_name: 'beszel' container_name: beszel
restart: unless-stopped restart: unless-stopped
environment:
APP_URL: http://localhost:8090
ports: ports:
- '8090:8090' - 8090:8090
volumes: volumes:
- ./beszel_data:/beszel_data - ./beszel_data:/beszel_data
extra_hosts: - ./beszel_socket:/beszel_socket
- 'host.docker.internal:host-gateway' # healthcheck:
# test: ['CMD', '/beszel', 'health', '--url', 'http://localhost:8090']
# interval: 120s
# start_period: 10s
# timeout: 5s
beszel-agent: beszel-agent:
image: 'henrygd/beszel-agent' #Add -nvidia for nvidia gpus image: henrygd/beszel-agent:latest
container_name: 'beszel-agent' container_name: beszel-agent
restart: unless-stopped restart: unless-stopped
network_mode: host network_mode: host
# runtime: nvidia # when using beszel-agent-nvidia
volumes: volumes:
- ./beszel_agent_data:/var/lib/beszel-agent
- ./beszel_socket:/beszel_socket
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
environment: environment:
PORT: 45876 LISTEN: /beszel_socket/beszel.sock
KEY: '...' HUB_URL: http://localhost:8090
# FILESYSTEM: /dev/sda1 # set to the correct filesystem for disk I/O stats TOKEN: <token>
# NVIDIA_VISIBLE_DEVICES: all # when using beszel-agent-nvidia KEY: "<key>"
# NVIDIA_DRIVER_CAPABILITIES: utility # when using beszel-agent-nvidia # healthcheck:
# test: ['CMD', '/agent', 'health']
# interval: 120s