Files
ipxe-container/ipxe.snippet
2026-02-02 21:50:03 +01:00

52 lines
1.1 KiB
Plaintext

# snippets/ipxe
# iPXE Boot Server reverse proxy configuration
# Import in Caddyfile with: import snippets/ipxe
(ipxe-headers) {
header {
# Disable caching for menus (dynamic content)
Cache-Control "no-cache, no-store, must-revalidate"
Pragma "no-cache"
-Server
}
}
(ipxe-boot-headers) {
header {
# Cache boot files aggressively (kernels, initramfs rarely change)
Cache-Control "public, max-age=86400"
-Server
}
}
(ipxe-image-headers) {
header {
# Moderate caching for images
Cache-Control "public, max-age=3600"
# Support range requests for large files
Accept-Ranges "bytes"
-Server
}
}
(ipxe-upstream) {
# Reverse proxy to iPXE container
reverse_proxy ipxe-server:8080 {
# Timeouts for large file transfers
transport http {
response_header_timeout 30s
read_timeout 300s
write_timeout 300s
}
# Health check
health_uri /health
health_interval 30s
health_timeout 5s
# Fail fast if unhealthy
fail_duration 30s
}
}