{
  "manifest_version": "1.0.0",
  "template": {
    "id": "fe8bfdcd-e767-41e2-ab95-be45e6ae3c57",
    "slug": "passbolt-team-password-manager",
    "name": "Passbolt — Open Source Team Password Manager",
    "description": "Self-host Passbolt — end-to-end encrypted team password vault",
    "url": "https://railway.com/deploy/passbolt-team-password-manager"
  },
  "status": "unvalidated",
  "validated_at": null,
  "success_rate_30d": null,
  "services": [
    {
      "name": "Passbolt",
      "source": {
        "image": "passbolt/passbolt:latest-ce"
      },
      "needs_volume": true,
      "volume_mount_path": "/data/passbolt",
      "http": false
    },
    {
      "name": "MariaDB",
      "source": {
        "image": "mariadb:10.11"
      },
      "needs_volume": false,
      "http": false
    }
  ],
  "required_inputs": [
    {
      "key": "PORT",
      "service": "Passbolt",
      "description": "Provide a value for PORT.",
      "secret": false,
      "strategy": "default",
      "default": "80"
    },
    {
      "key": "RAILWAY_RUN_UID",
      "service": "Passbolt",
      "description": "Provide a value for RAILWAY_RUN_UID.",
      "secret": false,
      "strategy": "default",
      "default": "0"
    },
    {
      "key": "APP_FULL_BASE_URL",
      "service": "Passbolt",
      "description": "Provide a value for APP_FULL_BASE_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "EMAIL_DEFAULT_FROM",
      "service": "Passbolt",
      "description": "From address — set after deploy (e.g. no-reply@yourdomain.com)",
      "secret": false,
      "strategy": "ask_user"
    },
    {
      "key": "PASSBOLT_KEY_EMAIL",
      "service": "Passbolt",
      "description": "GPG server key email",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "PASSBOLT_SSL_FORCE",
      "service": "Passbolt",
      "description": "Provide a value for PASSBOLT_SSL_FORCE.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "EMAIL_DEFAULT_FROM_NAME",
      "service": "Passbolt",
      "description": "Passbolt",
      "secret": false,
      "strategy": "ask_user"
    },
    {
      "key": "DATASOURCES_DEFAULT_HOST",
      "service": "Passbolt",
      "description": "${{MariaDB.RAILWAY_PRIVATE_DOMAIN}}",
      "secret": false,
      "strategy": "ask_user"
    },
    {
      "key": "DATASOURCES_DEFAULT_PORT",
      "service": "Passbolt",
      "description": "Provide a value for DATASOURCES_DEFAULT_PORT.",
      "secret": false,
      "strategy": "default",
      "default": "3306"
    },
    {
      "key": "EMAIL_TRANSPORT_DEFAULT_TLS",
      "service": "Passbolt",
      "description": "Provide a value for EMAIL_TRANSPORT_DEFAULT_TLS.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "DATASOURCES_DEFAULT_DATABASE",
      "service": "Passbolt",
      "description": "Provide a value for DATASOURCES_DEFAULT_DATABASE.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "DATASOURCES_DEFAULT_PASSWORD",
      "service": "Passbolt",
      "description": "Provide a value for DATASOURCES_DEFAULT_PASSWORD.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "DATASOURCES_DEFAULT_USERNAME",
      "service": "Passbolt",
      "description": "Provide a value for DATASOURCES_DEFAULT_USERNAME.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "EMAIL_TRANSPORT_DEFAULT_HOST",
      "service": "Passbolt",
      "description": "SMTP server (e.g. smtp.gmail.com, smtp.sendgrid.net)",
      "secret": false,
      "strategy": "ask_user"
    },
    {
      "key": "EMAIL_TRANSPORT_DEFAULT_PORT",
      "service": "Passbolt",
      "description": "SMTP port (587 TLS, 465 SSL)",
      "secret": false,
      "strategy": "ask_user"
    },
    {
      "key": "PASSBOLT_REGISTRATION_PUBLIC",
      "service": "Passbolt",
      "description": "Provide a value for PASSBOLT_REGISTRATION_PUBLIC.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "EMAIL_TRANSPORT_DEFAULT_PASSWORD",
      "service": "Passbolt",
      "description": "SMTP password / app password — set after deploy",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "EMAIL_TRANSPORT_DEFAULT_USERNAME",
      "service": "Passbolt",
      "description": "SMTP username — set after deploy",
      "secret": false,
      "strategy": "ask_user"
    },
    {
      "key": "MYSQL_USER",
      "service": "MariaDB",
      "description": "Provide a value for MYSQL_USER.",
      "secret": false,
      "strategy": "default",
      "default": "passbolt"
    },
    {
      "key": "MYSQL_DATABASE",
      "service": "MariaDB",
      "description": "Provide a value for MYSQL_DATABASE.",
      "secret": false,
      "strategy": "default",
      "default": "passbolt"
    },
    {
      "key": "MYSQL_PASSWORD",
      "service": "MariaDB",
      "description": "Provide a value for MYSQL_PASSWORD.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "RAILWAY_RUN_UID",
      "service": "MariaDB",
      "description": "Provide a value for RAILWAY_RUN_UID.",
      "secret": false,
      "strategy": "default",
      "default": "0"
    },
    {
      "key": "MYSQL_ROOT_PASSWORD",
      "service": "MariaDB",
      "description": "Provide a value for MYSQL_ROOT_PASSWORD.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "passbolt-team-password-manager"
      }
    },
    "cli": "railway deploy --template passbolt-team-password-manager",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "fe8bfdcd-e767-41e2-ab95-be45e6ae3c57",
            "serializedConfig": {
              "services": {
                "715aafae-5ada-449a-b65a-1a5da5158768": {
                  "icon": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/passbolt.svg",
                  "name": "Passbolt",
                  "source": {
                    "image": "passbolt/passbolt:latest-ce"
                  },
                  "variables": {
                    "PORT": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "80"
                    },
                    "RAILWAY_RUN_UID": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "0"
                    },
                    "APP_FULL_BASE_URL": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "https://${{RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "EMAIL_DEFAULT_FROM": {
                      "isOptional": false,
                      "description": "From address — set after deploy (e.g. no-reply@yourdomain.com)",
                      "defaultValue": "{{EMAIL_DEFAULT_FROM}}"
                    },
                    "PASSBOLT_KEY_EMAIL": {
                      "isOptional": false,
                      "description": "GPG server key email",
                      "defaultValue": "{{PASSBOLT_KEY_EMAIL}}"
                    },
                    "PASSBOLT_SSL_FORCE": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "false"
                    },
                    "EMAIL_DEFAULT_FROM_NAME": {
                      "isOptional": false,
                      "description": "Passbolt",
                      "defaultValue": "{{EMAIL_DEFAULT_FROM_NAME}}"
                    },
                    "DATASOURCES_DEFAULT_HOST": {
                      "isOptional": false,
                      "description": "${{MariaDB.RAILWAY_PRIVATE_DOMAIN}}",
                      "defaultValue": "{{DATASOURCES_DEFAULT_HOST}}"
                    },
                    "DATASOURCES_DEFAULT_PORT": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "3306"
                    },
                    "EMAIL_TRANSPORT_DEFAULT_TLS": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "true"
                    },
                    "DATASOURCES_DEFAULT_DATABASE": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "${{MariaDB.MYSQL_DATABASE}}"
                    },
                    "DATASOURCES_DEFAULT_PASSWORD": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "${{MariaDB.MYSQL_PASSWORD}}"
                    },
                    "DATASOURCES_DEFAULT_USERNAME": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "${{MariaDB.MYSQL_USER}}"
                    },
                    "EMAIL_TRANSPORT_DEFAULT_HOST": {
                      "isOptional": false,
                      "description": "SMTP server (e.g. smtp.gmail.com, smtp.sendgrid.net)",
                      "defaultValue": "{{EMAIL_TRANSPORT_DEFAULT_HOST}}"
                    },
                    "EMAIL_TRANSPORT_DEFAULT_PORT": {
                      "isOptional": false,
                      "description": "SMTP port (587 TLS, 465 SSL)",
                      "defaultValue": "{{EMAIL_TRANSPORT_DEFAULT_PORT}}"
                    },
                    "PASSBOLT_REGISTRATION_PUBLIC": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "false"
                    },
                    "EMAIL_TRANSPORT_DEFAULT_PASSWORD": {
                      "isOptional": false,
                      "description": "SMTP password / app password — set after deploy",
                      "defaultValue": "{{EMAIL_TRANSPORT_DEFAULT_PASSWORD}}"
                    },
                    "EMAIL_TRANSPORT_DEFAULT_USERNAME": {
                      "isOptional": false,
                      "description": "SMTP username — set after deploy",
                      "defaultValue": "{{EMAIL_TRANSPORT_DEFAULT_USERNAME}}"
                    }
                  },
                  "volumeMounts": {
                    "715aafae-5ada-449a-b65a-1a5da5158768": {
                      "mountPath": "/data/passbolt"
                    }
                  }
                },
                "96aafb2c-c726-4a5e-800d-6bfa9f379fd7": {
                  "icon": "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/mariadb.svg",
                  "name": "MariaDB",
                  "source": {
                    "image": "mariadb:10.11"
                  },
                  "variables": {
                    "MYSQL_USER": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "passbolt"
                    },
                    "MYSQL_DATABASE": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "passbolt"
                    },
                    "MYSQL_PASSWORD": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "{{MYSQL_PASSWORD}}"
                    },
                    "RAILWAY_RUN_UID": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "0"
                    },
                    "MYSQL_ROOT_PASSWORD": {
                      "isOptional": false,
                      "description": "",
                      "defaultValue": "{{MYSQL_ROOT_PASSWORD}}"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {},
  "resources": {
    "expected_services": 2,
    "needs_volume": true
  },
  "generated_at": "2026-09-07T17:54:24.783Z",
  "generator_version": "0.1.0"
}
