Files
frigate/frigate.nomad
Henrik Jess Nielsen 71fa4f64ac
All checks were successful
Build and Deploy Frigate / build-push-deploy (push) Successful in 8m19s
Initial Frigate NVR deployment
- Dockerfile: wrapper FROM ghcr.io/blakeblackshear/frigate:stable
- frigate.nomad: Nomad job, constrained to int node, dynamic port->5000, host volumes
- config/config.yml: cam_167 + cam_168 RTSP, motion detection, 7-day recording
- .gitea/workflows/deploy.yml: build -> push registry.i80.dk -> nomad deploy
2026-05-11 21:37:15 +02:00

86 lines
1.6 KiB
HCL

job "frigate" {
datacenters = ["dc1"]
type = "service"
constraint {
attribute = "${attr.unique.hostname}"
value = "int"
}
group "frigate" {
count = 1
update {
canary = 1
auto_promote = true
auto_revert = true
}
network {
port "http" { to = 5000 }
}
volume "frigate-config" {
type = "host"
source = "frigate-config"
read_only = false
}
volume "frigate-media" {
type = "host"
source = "frigate-media"
read_only = false
}
task "frigate" {
driver = "docker"
config {
image = "registry.i80.dk/gitea/frigate:latest"
force_pull = true
privileged = true
shm_size = 268435456
volumes = ["/etc/localtime:/etc/localtime:ro"]
ports = ["http"]
}
volume_mount {
volume = "frigate-config"
destination = "/config"
read_only = false
}
volume_mount {
volume = "frigate-media"
destination = "/media/frigate"
read_only = false
}
env {
FRIGATE_RTSP_PASSWORD = ""
}
service {
name = "frigate"
port = "http"
tags = [
"traefik.enable=true",
"traefik.http.routers.frigate.rule=Host(`cams.i80.dk`)",
"traefik.http.routers.frigate.tls=true",
]
check {
type = "http"
path = "/api/version"
interval = "10s"
timeout = "5s"
}
}
resources {
cpu = 2000
memory = 4096
}
}
}
}