Files
alo-cluster/services/netbox.hcl
2025-10-23 17:27:06 +01:00

128 lines
3.9 KiB
HCL

job "netbox" {
datacenters = ["alo"]
group "server" {
network {
port "http" {
to = 8080
}
}
task "frontend" {
driver = "docker"
config {
image = "docker.io/netboxcommunity/netbox:v3.7-2.8.0"
ports = ["http"]
volumes = [
"/data/services/netbox/configuration:/etc/netbox/config:z,ro",
"/data/services/netbox/media:/opt/netbox/media",
"/data/services/netbox/reports:/opt/netbox/reports",
"/data/services/netbox/files:/opt/netbox/scripts",
]
}
env {
DB_HOST = "postgres.service.consul"
DB_NAME = "netbox"
DB_USER = "netbox"
DB_PASSWORD = "ik1chah5ae9Un7oozeiX"
EMAIL_FROM = "netbox@paler.net"
EMAIL_SERVER = "192.168.1.1"
GRAPHQL_ENABLED = "true"
HOUSEKEEPING_INTERVAL = "86400"
MEDIA_ROOT = "/opt/netbox/netbox/media"
REDIS_CACHE_HOST = "redis.service.consul"
REDIS_HOST = "redis.service.consul"
SECRET_KEY = "&EqXd#NTzIb2d2mvYxcOv5)&78fH5*Gq1&mstMGUaIyBfp-z+9"
REMOTE_AUTH_ENABLED = "true"
REMOTE_AUTH_BACKEND = "social_core.backends.open_id_connect.OpenIdConnectAuth"
SOCIAL_AUTH_OIDC_ENDPOINT = "https://authentik.v.paler.net/application/o/netbox/"
SOCIAL_AUTH_OIDC_KEY = "XiPhZmWy2mp8hQyHLXCwk7njRNPSLTp2vSHhvWYI"
SOCIAL_AUTH_OIDC_SECRET = "Kkop2dStx0gN52V1LfPnoxcaemuur6zMsvRnqpWSDe2qSngJVcqWfvFXaNeTbdURRB6TPwjlaNJ5BXR2ChcSmokWGTGargu84Ox1D6M2zXTsfLFj9B149Mhblos4mJL1"
LOGOUT_REDIRECT_URL = "https://authentik.v.paler.net/application/o/netbox/end-session/"
}
resources {
memory = 512
}
service {
name = "netbox"
port = "http"
tags = [
"traefik.enable=true",
"traefik.http.routers.netbox.entryPoints=websecure",
]
}
}
task "worker" {
driver = "docker"
config {
image = "docker.io/netboxcommunity/netbox:v3.7-2.8.0"
command = "/opt/netbox/venv/bin/python"
args = [
"/opt/netbox/netbox/manage.py",
"rqworker",
]
volumes = [
"/data/services/netbox/configuration:/etc/netbox/config:z,ro",
"/data/services/netbox/media:/opt/netbox/media",
"/data/services/netbox/reports:/opt/netbox/reports",
"/data/services/netbox/files:/opt/netbox/scripts",
]
}
env {
DB_HOST = "postgres.service.consul"
DB_NAME = "netbox"
DB_USER = "netbox"
DB_PASSWORD = "ik1chah5ae9Un7oozeiX"
EMAIL_FROM = "netbox@paler.net"
EMAIL_SERVER = "192.168.1.1"
GRAPHQL_ENABLED = "true"
HOUSEKEEPING_INTERVAL = "86400"
MEDIA_ROOT = "/opt/netbox/netbox/media"
REDIS_CACHE_HOST = "redis.service.consul"
REDIS_HOST = "redis.service.consul"
SECRET_KEY = "&EqXd#NTzIb2d2mvYxcOv5)&78fH5*Gq1&mstMGUaIyBfp-z+9"
}
}
task "housekeeping" {
driver = "docker"
config {
image = "docker.io/netboxcommunity/netbox:v3.7-2.8.0"
command = "/opt/netbox/housekeeping.sh"
volumes = [
"/data/services/netbox/configuration:/etc/netbox/config:z,ro",
"/data/services/netbox/media:/opt/netbox/media",
"/data/services/netbox/reports:/opt/netbox/reports",
"/data/services/netbox/files:/opt/netbox/scripts",
]
}
env {
DB_HOST = "postgres.service.consul"
DB_NAME = "netbox"
DB_USER = "netbox"
DB_PASSWORD = "ik1chah5ae9Un7oozeiX"
EMAIL_FROM = "netbox@paler.net"
EMAIL_SERVER = "192.168.1.1"
GRAPHQL_ENABLED = "true"
HOUSEKEEPING_INTERVAL = "86400"
MEDIA_ROOT = "/opt/netbox/netbox/media"
REDIS_CACHE_HOST = "redis.service.consul"
REDIS_HOST = "redis.service.consul"
SECRET_KEY = "&EqXd#NTzIb2d2mvYxcOv5)&78fH5*Gq1&mstMGUaIyBfp-z+9"
}
}
}
}