job "mealie" { datacenters = ["homelab"] priority = 50 type = "service" meta { forcedeploy = "0" } constraint { attribute = "${attr.cpu.arch}" value = "amd64" } group "mealie" { network { mode = "host" port "http" { to = 9000 } } volume "mealie-data" { type = "csi" source = "mealie-data" access_mode = "multi-node-multi-writer" attachment_mode = "file-system" } vault { policies = ["mealie"] } task "mealie-server" { driver = "docker" service { name = "mealie" port = "http" tags = [ "homer.enable=true", "homer.name=Mealie", "homer.service=Application", "homer.subtitle=Mealie", "homer.logo=https://mealie.ducamps.eu/favicon.ico", "homer.target=_blank", "homer.url=https://${NOMAD_JOB_NAME}.ducamps.eu", "traefik.enable=true", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.eu`)", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.eu", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.certresolver=myresolver", "traefik.http.routers.${NOMAD_JOB_NAME}.entrypoints=web,websecure", ] } config { image = "ghcr.io/mealie-recipes/mealie" ports = ["http"] } volume_mount { volume = "mealie-data" destination = "/app/data" } env { PUID = "1000001" PGID = "1000001" TZ = "Europe/Paris" MAX_WORKERS = 1 WEB_CONCURRENCY = 1 BASE_URL = "https://mealie.ducamps.eu" OIDC_USER_GROUP = "MealieUsers" OIDC_ADMIN_GROUP = "MealieAdmins" OIDC_AUTH_ENABLED = "True" OIDC_SIGNUP_ENABLED = "true" OIDC_CONFIGURATION_URL = "https://auth.ducamps.eu/.well-known/openid-configuration" OIDC_CLIENT_ID = "mealie" OIDC_AUTO_REDIRECT = "false" OIDC_PROVIDER_NAME = "authelia" DB_ENGINE = "postgres" POSTGRES_USER = "mealie" POSTGRES_SERVER = "active.db.service.consul" POSTGRES_PORT = 5432 POSTGRES_DB = "mealie" LOG_LEVEL = "DEBUG" } template { data = <