{
  "manifest_version": "1.0.0",
  "template": {
    "id": "81467b28-961b-4f26-ba8d-4c929bb3bbf4",
    "slug": "stalwart-or-just-updated-mail-server-wit",
    "name": "Stalwart | (Just Updated) Mail Server with JMAP, IMAP and SMTP, Generated Admin Login",
    "description": "Stalwart mail server: SMTP, IMAP, JMAP API, generated admin login",
    "url": "https://railway.com/deploy/stalwart-or-just-updated-mail-server-wit",
    "upstream": {
      "image": "stalwartlabs/stalwart:v1.0.0@sha256:baafeacd6cbde77acdd94af49972d41c6709e54a376df48e18a9fe3f445eb3d5"
    }
  },
  "status": "unvalidated",
  "validated_at": null,
  "success_rate_30d": null,
  "services": [
    {
      "name": "stalwart",
      "source": {
        "image": "stalwartlabs/stalwart:v1.0.0@sha256:baafeacd6cbde77acdd94af49972d41c6709e54a376df48e18a9fe3f445eb3d5"
      },
      "needs_volume": true,
      "volume_mount_path": "/var/lib/stalwart",
      "http": true
    }
  ],
  "required_inputs": [
    {
      "key": "RAILWAY_RUN_UID",
      "service": "stalwart",
      "description": "Provide a value for RAILWAY_RUN_UID.",
      "secret": false,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "STALWART_ADMIN_SECRET",
      "service": "stalwart",
      "description": "Provide a value for STALWART_ADMIN_SECRET.",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "stalwart-or-just-updated-mail-server-wit"
      }
    },
    "cli": "railway deploy --template stalwart-or-just-updated-mail-server-wit",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "81467b28-961b-4f26-ba8d-4c929bb3bbf4",
            "serializedConfig": {
              "buckets": {},
              "services": {
                "b48d925a-3bfa-4bc3-a3fe-68b53e68e68f": {
                  "icon": null,
                  "name": "stalwart",
                  "deploy": {
                    "startCommand": "/bin/sh -c 'exec bash -c \"$(echo RD0vdmFyL2xpYi9zdGFsd2FydApVSURHPTIwMDAKbWtkaXIgLXAgIiREL2V0YyIgIiREL2RhdGEiCmNob3duIC1SICRVSURHOiRVSURHICIkRCIKZXhwb3J0IFNUQUxXQVJUX1JFQ09WRVJZX0FETUlOPSJhZG1pbjoke1NUQUxXQVJUX0FETUlOX1NFQ1JFVH0iCkhPU1Q9IiR7UkFJTFdBWV9QVUJMSUNfRE9NQUlOOi1sb2NhbGhvc3R9IgpzdGFydCgpIHsKICBzZXRwcml2IC0tcmV1aWQ9JFVJREcgLS1yZWdpZD0kVUlERyAtLWNsZWFyLWdyb3VwcyAvdXNyL2xvY2FsL2Jpbi9zdGFsd2FydCAtLWNvbmZpZyAiJEQvZXRjL2NvbmZpZy5qc29uIiAmCiAgUElEPSQhCn0KdHJhcCAna2lsbCAtVEVSTSAkUElEIDI+L2Rldi9udWxsOyB3YWl0ICRQSUQ7IGV4aXQgMCcgVEVSTSBJTlQKc3RhcnQKaWYgWyAhIC1mICIkRC9ldGMvY29uZmlnLmpzb24iIF07IHRoZW4KICBmb3IgaSBpbiAkKHNlcSAxIDkwKTsgZG8gY3VybCAtZnMgaHR0cDovLzEyNy4wLjAuMTo4MDgwL2hlYWx0aHovbGl2ZSA+L2Rldi9udWxsIDI+JjEgJiYgYnJlYWs7IHNsZWVwIDE7IGRvbmUKICBCT0RZPSd7InVzaW5nIjpbInVybjppZXRmOnBhcmFtczpqbWFwOmNvcmUiLCJ1cm46c3RhbHdhcnQ6am1hcCJdLCJtZXRob2RDYWxscyI6W1sieDpCb290c3RyYXAvc2V0Iix7ImFjY291bnRJZCI6ImQzMzMzMzMiLCJ1cGRhdGUiOnsic2luZ2xldG9uIjp7ImRlZmF1bHRIb3N0bmFtZSI6IickSE9TVCciLCJkZWZhdWx0RG9tYWluIjoiJyRIT1NUJyIsInJlcXVlc3RUbHNDZXJ0aWZpY2F0ZSI6ZmFsc2UsImdlbmVyYXRlRGtpbUtleXMiOnRydWUsImRhdGFTdG9yZSI6eyJAdHlwZSI6IlJvY2tzRGIiLCJwYXRoIjoiJyREJy9kYXRhLyJ9fX19LCIwIl1dfScKICBPVVQ9JChjdXJsIC1zIC11ICJhZG1pbjoke1NUQUxXQVJUX0FETUlOX1NFQ1JFVH0iIC1IICdjb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb24nIGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC9qbWFwIC1kICIkQk9EWSIpCiAgY2FzZSAiJE9VVCIgaW4KICAgIConInVwZGF0ZWQiJyopIGVjaG8gInN0YWx3YXJ0IGJvb3RzdHJhcCBvayBmb3IgJEhPU1QiIDs7CiAgICAqKSBlY2hvICJzdGFsd2FydCBib290c3RyYXAgRkFJTEVEOiAkKGVjaG8gIiRPVVQiIHwgaGVhZCAtYyA0MDApIiA7OwogIGVzYWMKICBraWxsIC1URVJNICRQSUQ7IHdhaXQgJFBJRAogIHN0YXJ0CmZpCndhaXQgJFBJRAo= | base64 -d)\"'",
                    "healthcheckPath": "/healthz/live",
                    "restartPolicyType": "ON_FAILURE",
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "stalwartlabs/stalwart:v1.0.0@sha256:baafeacd6cbde77acdd94af49972d41c6709e54a376df48e18a9fe3f445eb3d5"
                  },
                  "variables": {
                    "RAILWAY_RUN_UID": {
                      "isOptional": false,
                      "defaultValue": "{{RAILWAY_RUN_UID}}"
                    },
                    "STALWART_ADMIN_SECRET": {
                      "isOptional": false,
                      "defaultValue": "{{STALWART_ADMIN_SECRET}}"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>:8080": {
                        "port": 8080
                      }
                    }
                  },
                  "volumeMounts": {
                    "b48d925a-3bfa-4bc3-a3fe-68b53e68e68f": {
                      "mountPath": "/var/lib/stalwart"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {
    "healthcheck": {
      "service": "stalwart",
      "method": "GET",
      "path": "/healthz/live",
      "expect_status": 200
    }
  },
  "resources": {
    "expected_services": 1,
    "needs_volume": true
  },
  "generated_at": "2026-10-30T04:14:55.026Z",
  "generator_version": "0.1.0"
}
