iPXE Server
This commit is contained in:
50
quadlet
Normal file
50
quadlet
Normal file
@@ -0,0 +1,50 @@
|
||||
# ipxe-server.container
|
||||
# Quadlet unit for iPXE boot server
|
||||
# Place in: ~/.config/containers/systemd/ (rootless) or /etc/containers/systemd/ (root)
|
||||
|
||||
[Unit]
|
||||
Description=iPXE Boot Server
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
Requires=caddy.service
|
||||
After=caddy.service
|
||||
|
||||
[Container]
|
||||
Image=localhost/ipxe-server:latest
|
||||
ContainerName=ipxe-server
|
||||
|
||||
# Join caddy network for reverse proxy
|
||||
Network=internal_caddy
|
||||
|
||||
# Mount points for boot assets and configuration
|
||||
Volume=%h/ipxe/boot:/srv/boot:ro,Z
|
||||
Volume=%h/ipxe/menus:/srv/menus:ro,Z
|
||||
Volume=%h/ipxe/config:/etc/ipxe:ro,Z
|
||||
|
||||
# Optional: mount ISO storage for serving live images
|
||||
Volume=%h/ipxe/images:/srv/images:ro,Z
|
||||
|
||||
# Environment
|
||||
Environment=IPXE_LOG_LEVEL=info
|
||||
Environment=TZ=Europe/Oslo
|
||||
|
||||
# Resource limits
|
||||
PodmanArgs=--memory=256m --cpus=0.5
|
||||
|
||||
# Labels for Caddy/Traefik discovery (optional)
|
||||
Label=ipxe.server=true
|
||||
|
||||
# Health check
|
||||
HealthCmd=/usr/local/bin/healthcheck.sh
|
||||
HealthInterval=30s
|
||||
HealthTimeout=5s
|
||||
HealthRetries=3
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
TimeoutStartSec=90
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
||||
Reference in New Issue
Block a user