{
  "manifest_version": "1.0.0",
  "template": {
    "id": "9f600242-8751-467f-999c-33e2dfd4e3ab",
    "slug": "dgraph-or-just-updated-graph-database-gr",
    "name": "Dgraph | (Just Updated) Graph Database, GraphQL + DQL API, Token Auth On, Data Survives Redeploys",
    "description": "Dgraph graph database with GraphQL and DQL API, token auth on",
    "url": "https://railway.com/deploy/dgraph-or-just-updated-graph-database-gr",
    "upstream": {
      "image": "dgraph/dgraph:v25.5.1@sha256:f7459f391921c94db78f8205de9b4624210e2396c6b4ef5736838a906a38becb"
    }
  },
  "status": "unvalidated",
  "validated_at": null,
  "success_rate_30d": null,
  "services": [
    {
      "name": "dgraph",
      "source": {
        "image": "dgraph/dgraph:v25.5.1@sha256:f7459f391921c94db78f8205de9b4624210e2396c6b4ef5736838a906a38becb"
      },
      "needs_volume": true,
      "volume_mount_path": "/dgraph",
      "http": true
    }
  ],
  "required_inputs": [
    {
      "key": "DGRAPH_TOKEN",
      "service": "dgraph",
      "description": "Provide a value for DGRAPH_TOKEN.",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "DGRAPH_PUBLIC_URL",
      "service": "dgraph",
      "description": "Provide a value for DGRAPH_PUBLIC_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "DGRAPH_PRIVATE_URL",
      "service": "dgraph",
      "description": "Provide a value for DGRAPH_PRIVATE_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "DGRAPH_PRIVATE_GRPC",
      "service": "dgraph",
      "description": "Provide a value for DGRAPH_PRIVATE_GRPC.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "dgraph-or-just-updated-graph-database-gr"
      }
    },
    "cli": "railway deploy --template dgraph-or-just-updated-graph-database-gr",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "9f600242-8751-467f-999c-33e2dfd4e3ab",
            "serializedConfig": {
              "buckets": {},
              "services": {
                "06ff8c40-c5a7-44e0-adb5-bb6cc9377880": {
                  "icon": null,
                  "name": "dgraph",
                  "deploy": {
                    "startCommand": "/bin/sh -c 'echo IyEvYmluL3NoCiMgUmFpbHdheSBib290IGZvciBEZ3JhcGg6IG9uZSBaZXJvIGFuZCBvbmUgQWxwaGEgaW4gYSBzaW5nbGUgY29udGFpbmVyLgojCiMgVXBzdHJlYW0gc2hpcHMgWmVybyBhbmQgQWxwaGEgYXMgdHdvIGNvbW1hbmRzIGFuZCBpdHMgZG9jcyBydW4gdGhlbSBhcyB0d28gY29udGFpbmVycy4KIyBPbiBSYWlsd2F5IHRoYXQgZG91YmxlcyB0aGUgaWRsZSBjb3N0IGFuZCBuZWVkcyBhIHNlY29uZCB2b2x1bWUsIHNvIHRoaXMgc2NyaXB0IHJ1bnMgYm90aAojIGluIHRoaXMgY29udGFpbmVyIGFnYWluc3Qgb25lIHZvbHVtZSBhdCAvZGdyYXBoLCBhbmQgc3VwZXJ2aXNlcyB0aGVtOiBpZiBlaXRoZXIgZXhpdHMsCiMgdGhlIG90aGVyIGlzIHN0b3BwZWQgYW5kIHRoZSBjb250YWluZXIgZXhpdHMsIHdoaWNoIG1ha2VzIFJhaWx3YXkncyByZXN0YXJ0IHBvbGljeSBkbyB0aGUKIyByZWNvdmVyeSBpbnN0ZWFkIG9mIGxlYXZpbmcgYSBoYWxmLWFsaXZlIG5vZGUgc2VydmluZyBlcnJvcnMuCiMKIyBUaHJlZSB0aGluZ3MgYSB0ZW1wbGF0ZSBjYW5ub3QgY2FycnkgYXMgbGl0ZXJhbHMgYXJlIGV4cG9ydGVkIGhlcmU6CiMgIC0gYSBzZWN1cml0eSB0b2tlbjogZXZlcnkgYWRtaW4gY2FsbCBhbmQgZXZlcnkgZGF0YSBjYWxsIG11c3QgcHJlc2VudCBpdCwgYmVjYXVzZSBhIHN0b2NrCiMgICAgQWxwaGEgYW5zd2VycyBhbm9ueW1vdXMgcXVlcmllcywgbXV0YXRpb25zIGFuZCBzY2hlbWEgZHJvcHMgZnJvbSBhbnkgYWRkcmVzczsKIyAgLSBjYWNoZSBhbmQgR28gbWVtb3J5IGxpbWl0cyBzaXplZCBmcm9tIHRoZSBjZ3JvdXAsIGJlY2F1c2UgQWxwaGEgZGVmYXVsdHMgdG8gYSA0MDk2IE1CCiMgICAgY2FjaGUgYW5kIHRoZSBHbyBydW50aW1lIHNpemVzIGl0c2VsZiBmcm9tIHRoZSBIT1NULCBub3QgdGhlIGNvbnRhaW5lcjsKIyAgLSBHT01BWFBST0NTIGZyb20gdGhlIGNncm91cCBDUFUgcXVvdGEgKHRoZSBob3N0IGNvcmUgY291bnQgb3ZlcnN1YnNjcmliZXMgdGhlIGNvbnRhaW5lcikuCnNldCAtZXUKCkRBVEE9L2RncmFwaAo6ICIke0RHUkFQSF9UT0tFTjo/REdSQVBIX1RPS0VOIG11c3QgYmUgc2V0fSIKbWtkaXIgLXAgIiREQVRBL3p3IiAiJERBVEEvcCIgIiREQVRBL3ciCgpNPSQoY2F0IC9zeXMvZnMvY2dyb3VwL21lbW9yeS5tYXggMj4vZGV2L251bGwgfHwgZWNobyBtYXgpClE9JChjdXQgLWQnICcgLWYxIC9zeXMvZnMvY2dyb3VwL2NwdS5tYXggMj4vZGV2L251bGwgfHwgZWNobyBtYXgpCmlmIFsgIiRNIiAhPSBtYXggXSAmJiBbICIkTSIgLWx0IDEwMDAwMDAwMDAwMDAgXSAyPi9kZXYvbnVsbDsgdGhlbgogIE1FTV9NQj0kKChNIC8gMTA0ODU3NikpCmVsc2UKICBNRU1fTUI9JChhd2sgJy9NZW1Ub3RhbC8ge3ByaW50IGludCgkMiAvIDEwMjQpfScgL3Byb2MvbWVtaW5mbykKICBbICIkTUVNX01CIiAtZ3QgODE5MiBdICYmIE1FTV9NQj04MTkyCmZpCmlmIFsgIiRRIiAhPSBtYXggXSAmJiBbICIkUSIgLWd0IDAgXSAyPi9kZXYvbnVsbDsgdGhlbgogIENPUkVTPSQoKCAoUSArIDk5OTk5KSAvIDEwMDAwMCApKQplbHNlCiAgQ09SRVM9JChucHJvYykKZmkKQ0FDSEVfTUI9JCgoTUVNX01CIC8gNCkpClsgIiRDQUNIRV9NQiIgLWx0IDEyOCBdICYmIENBQ0hFX01CPTEyOApleHBvcnQgR09NQVhQUk9DUz0iJENPUkVTIgpleHBvcnQgR09NRU1MSU1JVD0iJCgoTUVNX01CICogODUgLyAxMDApKU1pQiIKCmVjaG8gIltyYWlsd2F5XSBkZ3JhcGggdWlkPSQoaWQgLXUpIG93bmVyPSQoc3RhdCAtYyAldTolZyAiJERBVEEiKSBtZW09JHtNRU1fTUJ9TUIgY29yZXM9JENPUkVTIGNhY2hlPSR7Q0FDSEVfTUJ9TUIiCgpkZ3JhcGggemVybyAtLW15PWxvY2FsaG9zdDo1MDgwIC0tYmluZGFsbD1mYWxzZSAtLXdhbCAiJERBVEEvenciIC0tcmVwbGljYXMgMSAmClpFUk89JCEKCiMgQWxwaGEgd2FpdHMgZm9yIFplcm8gaXRzZWxmIChpdCByZXRyaWVzIHRoZSBjb25uZWN0aW9uKSwgc28gbm8gcmVhZGluZXNzIHBvbGwgaXMgbmVlZGVkIGhlcmUuCmRncmFwaCBhbHBoYSAtLW15PWxvY2FsaG9zdDo3MDgwIC0temVybz1sb2NhbGhvc3Q6NTA4MCBcCiAgLS1wb3N0aW5ncyAiJERBVEEvcCIgLS13YWwgIiREQVRBL3ciIFwKICAtLWNhY2hlICJzaXplLW1iPSRDQUNIRV9NQiIgXAogIC0tc2VjdXJpdHkgInRva2VuPSRER1JBUEhfVE9LRU47IHdoaXRlbGlzdD0wLjAuMC4wLzA7IGFub255bW91cz1ub25lIiAmCkFMUEhBPSQhCgp0cmFwICdraWxsICRaRVJPICRBTFBIQSAyPi9kZXYvbnVsbDsgd2FpdDsgZXhpdCAxNDMnIFRFUk0gSU5UCgp3aGlsZSBraWxsIC0wICIkWkVSTyIgMj4vZGV2L251bGwgJiYga2lsbCAtMCAiJEFMUEhBIiAyPi9kZXYvbnVsbDsgZG8KICBzbGVlcCAyCmRvbmUKZWNobyAiW3JhaWx3YXldIGEgZGdyYXBoIHByb2Nlc3MgZXhpdGVkOyBzdG9wcGluZyBjb250YWluZXIgc28gUmFpbHdheSByZXN0YXJ0cyBpdCIKa2lsbCAiJFpFUk8iICIkQUxQSEEiIDI+L2Rldi9udWxsIHx8IHRydWUKd2FpdCB8fCB0cnVlCmV4aXQgMQo= | base64 -d > /tmp/boot.sh; exec /bin/sh /tmp/boot.sh'",
                    "healthcheckPath": "/health",
                    "restartPolicyType": "ON_FAILURE",
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "dgraph/dgraph:v25.5.1@sha256:f7459f391921c94db78f8205de9b4624210e2396c6b4ef5736838a906a38becb"
                  },
                  "variables": {
                    "DGRAPH_TOKEN": {
                      "isOptional": false,
                      "defaultValue": "{{DGRAPH_TOKEN}}"
                    },
                    "DGRAPH_PUBLIC_URL": {
                      "isOptional": false,
                      "defaultValue": "https://${{RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "DGRAPH_PRIVATE_URL": {
                      "isOptional": false,
                      "defaultValue": "http://${{RAILWAY_PRIVATE_DOMAIN}}:8080"
                    },
                    "DGRAPH_PRIVATE_GRPC": {
                      "isOptional": false,
                      "defaultValue": "${{RAILWAY_PRIVATE_DOMAIN}}:9080"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>:8080": {
                        "port": 8080
                      }
                    }
                  },
                  "volumeMounts": {
                    "06ff8c40-c5a7-44e0-adb5-bb6cc9377880": {
                      "mountPath": "/dgraph"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {
    "healthcheck": {
      "service": "dgraph",
      "method": "GET",
      "path": "/health",
      "expect_status": 200
    }
  },
  "resources": {
    "expected_services": 1,
    "needs_volume": true
  },
  "generated_at": "2026-11-02T04:15:08.924Z",
  "generator_version": "0.1.0"
}
