{
  "manifest_version": "1.0.0",
  "template": {
    "id": "c3b8e1c5-f014-4e7e-b1dd-a488beb8fd0f",
    "slug": "agent-zero-or-just-updated-autonomous-ai",
    "name": "Agent Zero | (Just Updated) Autonomous AI Agent with Web UI, Login and API Key Preset",
    "description": "Agent Zero: self-hosted autonomous AI agent with web UI, login and API",
    "url": "https://railway.com/deploy/agent-zero-or-just-updated-autonomous-ai",
    "upstream": {
      "image": "agent0ai/agent-zero:v2.15@sha256:05d6ab347bd7db4b6bd5a7d902c9965281ff852ff23f29fffcc1c8919e628bd8"
    }
  },
  "status": "unvalidated",
  "validated_at": null,
  "success_rate_30d": null,
  "services": [
    {
      "name": "agent-zero",
      "source": {
        "image": "agent0ai/agent-zero:v2.15@sha256:05d6ab347bd7db4b6bd5a7d902c9965281ff852ff23f29fffcc1c8919e628bd8"
      },
      "needs_volume": true,
      "volume_mount_path": "/a0/usr",
      "http": true
    }
  ],
  "required_inputs": [
    {
      "key": "A0_PUBLIC_URL",
      "service": "agent-zero",
      "description": "Provide a value for A0_PUBLIC_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "AUTH_PASSWORD",
      "service": "agent-zero",
      "description": "Provide a value for AUTH_PASSWORD.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "A0_PRIVATE_URL",
      "service": "agent-zero",
      "description": "Provide a value for A0_PRIVATE_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "A0_PERSISTENT_RUNTIME_ID",
      "service": "agent-zero",
      "description": "Provide a value for A0_PERSISTENT_RUNTIME_ID.",
      "secret": false,
      "strategy": "generate",
      "generate": "random_base64_32"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "agent-zero-or-just-updated-autonomous-ai"
      }
    },
    "cli": "railway deploy --template agent-zero-or-just-updated-autonomous-ai",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "c3b8e1c5-f014-4e7e-b1dd-a488beb8fd0f",
            "serializedConfig": {
              "buckets": {},
              "services": {
                "6b30c8f4-c7ca-43ca-a6d9-c7e1bab60b29": {
                  "icon": null,
                  "name": "agent-zero",
                  "deploy": {
                    "startCommand": "/bin/sh -c 'echo IyEvYmluL3NoCiMgUmFpbHdheSBib290IGZvciBBZ2VudCBaZXJvIChhZ2VudDBhaS9hZ2VudC16ZXJvKS4gUnVucyBhcyByb290LCBsaWtlIHRoZSBpbWFnZSdzIG93biBpbml0LgojCiMgVHdvIHRoaW5ncyBpbiB0aGUgaW1hZ2UgZG8gbm90IGZpdCBSYWlsd2F5LCBhbmQgYm90aCBhcmUgZml4ZWQgaGVyZSBiZWNhdXNlIGEgdGVtcGxhdGUgdmFyaWFibGUKIyBjYW5ub3QgY2FycnkgYSBsaXRlcmFsIChhIGxpdGVyYWwgZGVmYXVsdCBwdWJsaXNoZXMgYXMgYSBibGFuayByZXF1aXJlZCBmaWVsZCk6CiMKIyAxLiBUaGUgVUkgcG9ydCBpcyBoYXJkY29kZWQuIC9leGUvc2VsZl91cGRhdGVfbWFuYWdlci5weSBsYXVuY2hlcyBgcnVuX3VpLnB5IC0tcG9ydD04MGAsIGFuZAojICAgIFdFQl9VSV9QT1JUIGlzIGlnbm9yZWQgb24gdGhhdCBwYXRoLiBSYWlsd2F5J3MgSFRUUCBoZWFsdGhjaGVjayBkaWFscyB0aGUgaW5qZWN0ZWQgJFBPUlQsIG5vdAojICAgIHRoZSBkb21haW4ncyB0YXJnZXQgcG9ydCwgc28gdGhlIFVJIGhhcyB0byBsaXN0ZW4gb24gJFBPUlQuIFRoZSBzY3JpcHQgaXMgcGFydCBvZiB0aGUgaW1hZ2UKIyAgICBsYXllciAobm90IHRoZSB2b2x1bWUpLCBzbyBwYXRjaGluZyBpdCBhdCBldmVyeSBib290IGlzIHNhZmUgYW5kIGlkZW1wb3RlbnQuCiMgMi4gSXRzIG93biBwb3N0LXN0YXJ0IGhlYWx0aCBwcm9iZSBkZWZhdWx0cyB0byAxMjcuMC4wLjE6ODA7IHBvaW50IGl0IGF0IHRoZSBzYW1lIHBvcnQuCiMKIyAzLiBUaGUgYXBwIGxvYWRzIC9hMC91c3IvLmVudiB3aXRoIG92ZXJyaWRlPVRydWUsIHNvIGEgdmFsdWUgaW4gdGhlIGVudmlyb25tZW50IGxvc2VzIHRvIHRoZSBvbmUgaW4KIyAgICB0aGUgdm9sdW1lLiBUaGUgQVBJIGtleSAoWC1BUEktS0VZKSBpcyBkZXJpdmVkIGZyb20gQTBfUEVSU0lTVEVOVF9SVU5USU1FX0lELCBBVVRIX0xPR0lOIGFuZAojICAgIEFVVEhfUEFTU1dPUkQ7IHRoZSBpZCBpcyBnZW5lcmF0ZWQgYnkgdGhlIGFwcCBvbiBmaXJzdCBib290LCBzbyBhIGRlcGxveWVyIGNvdWxkIG5vdCBjb21wdXRlIHRoZQojICAgIGtleS4gV3JpdGluZyB0aGUgcGVyLWRlcGxveSBBMF9QRVJTSVNURU5UX1JVTlRJTUVfSUQgdmFyaWFibGUgaW50byB0aGF0IGZpbGUgbWFrZXMgdGhlIGtleSBhCiMgICAgZnVuY3Rpb24gb2YgdGhyZWUgdmFyaWFibGVzIHRoZSBjb250cmFjdCBuYW1lcy4KIwojIExvZ2luIGlzIG9uIGJ5IGRlZmF1bHQgaGVyZTogQVVUSF9MT0dJTiBpcyBhIGZpeGVkIHVzZXIgbmFtZSwgQVVUSF9QQVNTV09SRCBpcyBnZW5lcmF0ZWQgcGVyIGRlcGxveS4Kc2V0IC1ldQoKOiAiJHtBVVRIX1BBU1NXT1JEOj9BVVRIX1BBU1NXT1JEIG11c3QgYmUgc2V0fSIKOiAiJHtQT1JUOj04MDgwfSIKClNVTT0vZXhlL3NlbGZfdXBkYXRlX21hbmFnZXIucHkKc2VkIC1pICJzL1wiLS1wb3J0PTgwXCIvXCItLXBvcnQ9JHtQT1JUfVwiLyIgIiRTVU0iCmdyZXAgLXEgIlwiLS1wb3J0PSR7UE9SVH1cIiIgIiRTVU0iIHx8IHsgZWNobyAiYWdlbnQtemVybyBib290OiBjb3VsZCBub3QgcGF0Y2ggVUkgcG9ydCBpbiAkU1VNIiA+JjI7IGV4aXQgMTsgfQoKIyBUaGUgaW1hZ2Ugc2hpcHMgbnVtcHkgMS4yNi40IGxhaWQgb3ZlciBhIGhhbGYtcmVtb3ZlZCBudW1weSAyLjMuNSAobGVmdG92ZXIgbnVtcHkvX2NvcmUgYW5kCiMgZGlzdC1pbmZvKS4gc2NpcHkuc3BlY2lhbCB0aGVuIGZhaWxzIG9uIFJhaWx3YXkgaG9zdHMgd2l0aCAiQWxsIHVmdW5jcyBtdXN0IGhhdmUgdHlwZQojIG51bXB5LnVmdW5jIiBhbmQgdGhlIGFnZW50J3MgZW1iZWRkaW5nL21lbW9yeSBwcmVsb2FkIGJyZWFrcy4gUmVpbnN0YWxsIG51bXB5IG9ubHkgd2hlbiB0aGUKIyBpbXBvcnQgZmFpbHMsIHNvIGEgZml4ZWQgdXBzdHJlYW0gaW1hZ2Ugc2tpcHMgdGhpcy4KUFlCSU49L29wdC92ZW52LWEwL2Jpbi9weXRob24KaWYgISAiJFBZQklOIiAtYyAiaW1wb3J0IG51bXB5LCBzY2lweS5zcGVjaWFsIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICBlY2hvICJhZ2VudC16ZXJvIGJvb3Q6IHNjaXB5LnNwZWNpYWwgaW1wb3J0IGJyb2tlbiwgcmVpbnN0YWxsaW5nIG51bXB5IDEuMjYuNCIKICAiJFBZQklOIiAtbSBwaXAgaW5zdGFsbCAtLXF1aWV0IC0tZm9yY2UtcmVpbnN0YWxsIC0tbm8tZGVwcyBudW1weT09MS4yNi40IFwKICAgICYmICIkUFlCSU4iIC1jICJpbXBvcnQgbnVtcHksIHNjaXB5LnNwZWNpYWwiIFwKICAgIHx8IGVjaG8gImFnZW50LXplcm8gYm9vdDogbnVtcHkgcmVwYWlyIGZhaWxlZCwgcHJlbG9hZCBtYXkgYmUgZGVncmFkZWQiID4mMgpmaQpta2RpciAtcCAvYTAvdXNyCmVjaG8gImFnZW50LXplcm8gYm9vdDogdWlfcG9ydD0ke1BPUlR9IGRhdGFfb3duZXI9JChzdGF0IC1jICV1OiVnIC9hMC91c3IpIGRhdGFfd3JpdGFibGU9JCh0b3VjaCAvYTAvdXNyLy5ydyAmJiBybSAvYTAvdXNyLy5ydyAmJiBlY2hvIHllcyB8fCBlY2hvIE5PKSIKCmlmIFsgLW4gIiR7QTBfUEVSU0lTVEVOVF9SVU5USU1FX0lEOi19IiBdOyB0aGVuCiAgRU5WRj0vYTAvdXNyLy5lbnYKICB0b3VjaCAiJEVOVkYiCiAgeyBncmVwIC12ICdeQTBfUEVSU0lTVEVOVF9SVU5USU1FX0lEPScgIiRFTlZGIiB8fCB0cnVlOyBlY2hvICJBMF9QRVJTSVNURU5UX1JVTlRJTUVfSUQ9JHtBMF9QRVJTSVNURU5UX1JVTlRJTUVfSUR9IjsgfSA+ICIkRU5WRi50bXAiCiAgY2F0ICIkRU5WRi50bXAiID4gIiRFTlZGIgogIHJtIC1mICIkRU5WRi50bXAiCmZpCgpleHBvcnQgQVVUSF9MT0dJTj0iJHtBVVRIX0xPR0lOOi1hZG1pbn0iCmV4cG9ydCBXRUJfVUlfUE9SVD0iJHtQT1JUfSIKZXhwb3J0IEEwX1NFTEZfVVBEQVRFX0hFQUxUSF9VUkw9Imh0dHA6Ly8xMjcuMC4wLjE6JHtQT1JUfS9hcGkvaGVhbHRoIgpleGVjIC9leGUvaW5pdGlhbGl6ZS5zaCAiJHtCUkFOQ0g6LW1haW59Igo= | base64 -d > /tmp/boot.sh; exec /bin/sh /tmp/boot.sh'",
                    "healthcheckPath": "/api/health",
                    "restartPolicyType": "ON_FAILURE",
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "agent0ai/agent-zero:v2.15@sha256:05d6ab347bd7db4b6bd5a7d902c9965281ff852ff23f29fffcc1c8919e628bd8"
                  },
                  "variables": {
                    "A0_PUBLIC_URL": {
                      "isOptional": false,
                      "defaultValue": "https://${{RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "AUTH_PASSWORD": {
                      "isOptional": false,
                      "defaultValue": "{{AUTH_PASSWORD}}"
                    },
                    "A0_PRIVATE_URL": {
                      "isOptional": false,
                      "defaultValue": "http://${{RAILWAY_PRIVATE_DOMAIN}}:8080"
                    },
                    "A0_PERSISTENT_RUNTIME_ID": {
                      "isOptional": false,
                      "defaultValue": "{{A0_PERSISTENT_RUNTIME_ID}}"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>:8080": {
                        "port": 8080
                      }
                    }
                  },
                  "volumeMounts": {
                    "6b30c8f4-c7ca-43ca-a6d9-c7e1bab60b29": {
                      "mountPath": "/a0/usr"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {
    "healthcheck": {
      "service": "agent-zero",
      "method": "GET",
      "path": "/api/health",
      "expect_status": 200
    }
  },
  "resources": {
    "expected_services": 1,
    "needs_volume": true
  },
  "generated_at": "2026-11-04T22:15:11.317Z",
  "generator_version": "0.1.0"
}
