job "nomad-mcp" { datacenters = ["jm"] type = "service" namespace = "development" group "app" { count = 1 network { port "http" { to = 8000 } } task "nomad-mcp" { driver = "docker" config { image = "registry.dev.meisheng.group/nomad_mcp:20250226" ports = ["http"] command = "python" args = ["-m", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] } env { # Nomad connection settings NOMAD_ADDR = "http://pjmldk01.ds.meisheng.group:4646" NOMAD_NAMESPACE = "development" NOMAD_SKIP_VERIFY = "true" # API settings PORT = "8000" HOST = "0.0.0.0" # Logging level LOG_LEVEL = "INFO" # Enable to make development easier RELOAD = "true" } resources { cpu = 200 memory = 256 } service { name = "nomad-mcp" port = "http" tags = [ "traefik.enable=true", "traefik.http.routers.nomad-mcp.entryPoints=https", "traefik.http.routers.nomad-mcp.rule=Host(`nomad_mcp.dev.meisheng.group`)", "traefik.http.routers.nomad-mcp.middlewares=proxyheaders@consulcatalog" ] check { type = "http" path = "/api/health" interval = "10s" timeout = "2s" check_restart { limit = 3 grace = "60s" } } } } } # Define update strategy update { max_parallel = 1 min_healthy_time = "30s" healthy_deadline = "5m" auto_revert = true } }