{
  "manifest_version": "1.0.0",
  "template": {
    "id": "b794eae8-ce95-45c4-8c56-3f9175b0dc75",
    "slug": "seafile-onlyoffice",
    "name": "Seafile + ONLYOFFICE",
    "description": "Private Open Source Version of Google; Drive + Docs + Sheets + Slides",
    "url": "https://railway.com/deploy/seafile-onlyoffice",
    "upstream": {
      "repo_url": "https://github.com/rpuls/my-own-suite"
    }
  },
  "status": "unvalidated",
  "validated_at": null,
  "success_rate_30d": null,
  "services": [
    {
      "name": "seafile-valkey",
      "source": {
        "repo": "https://github.com/rpuls/my-own-suite"
      },
      "needs_volume": false,
      "http": false
    },
    {
      "name": "OnlyOffice",
      "source": {
        "repo": "https://github.com/rpuls/my-own-suite"
      },
      "needs_volume": true,
      "volume_mount_path": "/var/www/onlyoffice/Data",
      "http": true
    },
    {
      "name": "MySQL",
      "source": {
        "repo": "https://github.com/rpuls/my-own-suite"
      },
      "needs_volume": true,
      "volume_mount_path": "/var/lib/mysql",
      "http": false
    },
    {
      "name": "Seafile",
      "source": {
        "repo": "https://github.com/rpuls/my-own-suite"
      },
      "needs_volume": true,
      "volume_mount_path": "/shared",
      "http": true
    }
  ],
  "required_inputs": [
    {
      "key": "REDIS_PASSWORD",
      "service": "seafile-valkey",
      "description": "Provide a value for REDIS_PASSWORD.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "REDIS_PUBLIC_SERVER",
      "service": "seafile-valkey",
      "description": "Provide a value for REDIS_PUBLIC_SERVER.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "REDIS_PRIVATE_SERVER",
      "service": "seafile-valkey",
      "description": "Provide a value for REDIS_PRIVATE_SERVER.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "RAILWAY_DOCKERFILE_PATH",
      "service": "seafile-valkey",
      "description": "Provide a value for RAILWAY_DOCKERFILE_PATH.",
      "secret": false,
      "strategy": "default",
      "default": "Dockerfile.valkey"
    },
    {
      "key": "JWT_SECRET",
      "service": "OnlyOffice",
      "description": "Provide a value for JWT_SECRET.",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "JWT_ENABLED",
      "service": "OnlyOffice",
      "description": "Provide a value for JWT_ENABLED.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "SECURE_LINK_SECRET",
      "service": "OnlyOffice",
      "description": "Provide a value for SECURE_LINK_SECRET.",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "ALLOW_META_IP_ADDRESS",
      "service": "OnlyOffice",
      "description": "Provide a value for ALLOW_META_IP_ADDRESS.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "ALLOW_PRIVATE_IP_ADDRESS",
      "service": "OnlyOffice",
      "description": "Provide a value for ALLOW_PRIVATE_IP_ADDRESS.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "MYSQLHOST",
      "service": "MySQL",
      "description": "Provide a value for MYSQLHOST.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "MYSQLPORT",
      "service": "MySQL",
      "description": "Provide a value for MYSQLPORT.",
      "secret": false,
      "strategy": "default",
      "default": "3306"
    },
    {
      "key": "MYSQLUSER",
      "service": "MySQL",
      "description": "Provide a value for MYSQLUSER.",
      "secret": false,
      "strategy": "default",
      "default": "root"
    },
    {
      "key": "MYSQL_URL",
      "service": "MySQL",
      "description": "Provide a value for MYSQL_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "MYSQLDATABASE",
      "service": "MySQL",
      "description": "Provide a value for MYSQLDATABASE.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "MYSQLPASSWORD",
      "service": "MySQL",
      "description": "Provide a value for MYSQLPASSWORD.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "MYSQL_DATABASE",
      "service": "MySQL",
      "description": "Provide a value for MYSQL_DATABASE.",
      "secret": false,
      "strategy": "default",
      "default": "seafile"
    },
    {
      "key": "MYSQL_PUBLIC_URL",
      "service": "MySQL",
      "description": "Provide a value for MYSQL_PUBLIC_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "MYSQL_ROOT_PASSWORD",
      "service": "MySQL",
      "description": "Provide a value for MYSQL_ROOT_PASSWORD.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "RAILWAY_DOCKERFILE_PATH",
      "service": "MySQL",
      "description": "Provide a value for RAILWAY_DOCKERFILE_PATH.",
      "secret": false,
      "strategy": "default",
      "default": "Dockerfile.mysql"
    },
    {
      "key": "SMTP_FROM",
      "service": "Seafile",
      "description": "Sender email shown on outgoing mail",
      "secret": false,
      "strategy": "default",
      "default": "noreply@example.com"
    },
    {
      "key": "SMTP_HOST",
      "service": "Seafile",
      "description": "Custom SMTP host for advanced users",
      "secret": false,
      "strategy": "default",
      "default": "smtp.example.com"
    },
    {
      "key": "SMTP_PORT",
      "service": "Seafile",
      "description": "Custom SMTP port, usually 587 for STARTTLS",
      "secret": false,
      "strategy": "default",
      "default": "587"
    },
    {
      "key": "REDIS_HOST",
      "service": "Seafile",
      "description": "Provide a value for REDIS_HOST.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "REDIS_PORT",
      "service": "Seafile",
      "description": "Provide a value for REDIS_PORT.",
      "secret": false,
      "strategy": "default",
      "default": "6379"
    },
    {
      "key": "SMTP_ENABLED",
      "service": "Seafile",
      "description": "OBD: requires Railway pro plan ‼️ Enable email features for compatible apps",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "SMTP_PASSWORD",
      "service": "Seafile",
      "description": "Custom SMTP password or API key",
      "secret": true,
      "strategy": "default",
      "default": "your-smtp-password"
    },
    {
      "key": "SMTP_SECURITY",
      "service": "Seafile",
      "description": "SMTP security: starttls, force_tls, or off",
      "secret": false,
      "strategy": "default",
      "default": "starttls"
    },
    {
      "key": "SMTP_USERNAME",
      "service": "Seafile",
      "description": "Custom SMTP username",
      "secret": false,
      "strategy": "default",
      "default": "your-smtp-user"
    },
    {
      "key": "CACHE_PROVIDER",
      "service": "Seafile",
      "description": "Provide a value for CACHE_PROVIDER.",
      "secret": false,
      "strategy": "default",
      "default": "redis"
    },
    {
      "key": "REDIS_PASSWORD",
      "service": "Seafile",
      "description": "Provide a value for REDIS_PASSWORD.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "JWT_PRIVATE_KEY",
      "service": "Seafile",
      "description": "Provide a value for JWT_PRIVATE_KEY.",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "ONLYOFFICE_APIJS_URL",
      "service": "Seafile",
      "description": "Provide a value for ONLYOFFICE_APIJS_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "ONLYOFFICE_JWT_SECRET",
      "service": "Seafile",
      "description": "Provide a value for ONLYOFFICE_JWT_SECRET.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "SEAFILE_MYSQL_DB_HOST",
      "service": "Seafile",
      "description": "Provide a value for SEAFILE_MYSQL_DB_HOST.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "SEAFILE_MYSQL_DB_PORT",
      "service": "Seafile",
      "description": "Provide a value for SEAFILE_MYSQL_DB_PORT.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "SEAFILE_MYSQL_DB_USER",
      "service": "Seafile",
      "description": "Provide a value for SEAFILE_MYSQL_DB_USER.",
      "secret": false,
      "strategy": "default",
      "default": "seafile"
    },
    {
      "key": "RAILWAY_DOCKERFILE_PATH",
      "service": "Seafile",
      "description": "Provide a value for RAILWAY_DOCKERFILE_PATH.",
      "secret": false,
      "strategy": "default",
      "default": "Dockerfile"
    },
    {
      "key": "SEAFILE_SERVER_HOSTNAME",
      "service": "Seafile",
      "description": "Provide a value for SEAFILE_SERVER_HOSTNAME.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "SEAFILE_SERVER_PROTOCOL",
      "service": "Seafile",
      "description": "Provide a value for SEAFILE_SERVER_PROTOCOL.",
      "secret": false,
      "strategy": "default",
      "default": "https"
    },
    {
      "key": "INIT_SEAFILE_ADMIN_EMAIL",
      "service": "Seafile",
      "description": "Email for the admin user",
      "secret": false,
      "strategy": "ask_user"
    },
    {
      "key": "SEAFILE_MYSQL_DB_PASSWORD",
      "service": "Seafile",
      "description": "Provide a value for SEAFILE_MYSQL_DB_PASSWORD.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "SEAFILE_SERVER_LETSENCRYPT",
      "service": "Seafile",
      "description": "required for adding custom domain, SSL will be handled by Railway",
      "secret": false,
      "strategy": "default",
      "default": "false"
    },
    {
      "key": "INIT_SEAFILE_ADMIN_PASSWORD",
      "service": "Seafile",
      "description": "Password for the admin user",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "VERIFY_ONLYOFFICE_CERTIFICATE",
      "service": "Seafile",
      "description": "Provide a value for VERIFY_ONLYOFFICE_CERTIFICATE.",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "SEAFILE_MYSQL_DB_CCNET_DB_NAME",
      "service": "Seafile",
      "description": "Provide a value for SEAFILE_MYSQL_DB_CCNET_DB_NAME.",
      "secret": false,
      "strategy": "default",
      "default": "ccnet_db"
    },
    {
      "key": "ONLYOFFICE_INTERNAL_SEAFILE_URL",
      "service": "Seafile",
      "description": "Provide a value for ONLYOFFICE_INTERNAL_SEAFILE_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "SEAFILE_MYSQL_DB_SEAHUB_DB_NAME",
      "service": "Seafile",
      "description": "Provide a value for SEAFILE_MYSQL_DB_SEAHUB_DB_NAME.",
      "secret": false,
      "strategy": "default",
      "default": "seahub_db"
    },
    {
      "key": "INIT_SEAFILE_MYSQL_ROOT_PASSWORD",
      "service": "Seafile",
      "description": "Provide a value for INIT_SEAFILE_MYSQL_ROOT_PASSWORD.",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "SEAFILE_MYSQL_DB_SEAFILE_DB_NAME",
      "service": "Seafile",
      "description": "Provide a value for SEAFILE_MYSQL_DB_SEAFILE_DB_NAME.",
      "secret": false,
      "strategy": "default",
      "default": "seafile_db"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "seafile-onlyoffice"
      }
    },
    "cli": "railway deploy --template seafile-onlyoffice",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "b794eae8-ce95-45c4-8c56-3f9175b0dc75",
            "serializedConfig": {
              "services": {
                "6777da18-b4e5-4cab-97b9-59c3efafe03e": {
                  "icon": "https://res.cloudinary.com/hczpmiapo/image/upload/v1772632069/Static%20assets/Logos/valkey_m5abux.png",
                  "name": "seafile-valkey",
                  "deploy": {
                    "startCommand": "sh -lc 'valkey-server --requirepass \"$REDIS_PASSWORD\" --appendonly no'",
                    "healthcheckPath": null,
                    "restartPolicyType": "ON_FAILURE",
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "repo": "rpuls/my-own-suite",
                    "branch": "main",
                    "rootDirectory": "/apps/seafile"
                  },
                  "variables": {
                    "REDIS_PASSWORD": {
                      "defaultValue": "{{REDIS_PASSWORD}}"
                    },
                    "REDIS_PUBLIC_SERVER": {
                      "defaultValue": "${{ RAILWAY_TCP_PROXY_DOMAIN }}:${{ RAILWAY_TCP_PROXY_PORT }}"
                    },
                    "REDIS_PRIVATE_SERVER": {
                      "defaultValue": "${{ RAILWAY_PRIVATE_DOMAIN }}:6379"
                    },
                    "RAILWAY_DOCKERFILE_PATH": {
                      "defaultValue": "Dockerfile.valkey"
                    }
                  }
                },
                "8b7535e0-eb7f-4bfa-a2e9-534be683d73f": {
                  "icon": "https://res.cloudinary.com/hczpmiapo/image/upload/v1771630987/Static%20assets/Logos/OnlyOffice_jw04fh.png",
                  "name": "OnlyOffice",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": "/healthcheck",
                    "restartPolicyType": "ON_FAILURE",
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "repo": "rpuls/my-own-suite",
                    "branch": "main",
                    "rootDirectory": "/apps/onlyoffice"
                  },
                  "variables": {
                    "JWT_SECRET": {
                      "isOptional": false,
                      "defaultValue": "{{JWT_SECRET}}"
                    },
                    "JWT_ENABLED": {
                      "isOptional": false,
                      "defaultValue": "true"
                    },
                    "SECURE_LINK_SECRET": {
                      "isOptional": false,
                      "defaultValue": "{{SECURE_LINK_SECRET}}"
                    },
                    "ALLOW_META_IP_ADDRESS": {
                      "isOptional": false,
                      "defaultValue": "true"
                    },
                    "ALLOW_PRIVATE_IP_ADDRESS": {
                      "isOptional": false,
                      "defaultValue": "true"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>": {}
                    }
                  },
                  "volumeMounts": {
                    "8b7535e0-eb7f-4bfa-a2e9-534be683d73f": {
                      "mountPath": "/var/www/onlyoffice/Data"
                    }
                  }
                },
                "d384d0cf-4770-4fc5-ab22-325883a32434": {
                  "icon": "https://devicons.railway.app/i/mysql.svg",
                  "name": "MySQL",
                  "deploy": {
                    "startCommand": "docker-entrypoint.sh mysqld --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=0 --skip-log-bin --performance_schema=0 --innodb-buffer-pool-size=1G",
                    "healthcheckPath": null,
                    "restartPolicyType": "ON_FAILURE",
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "repo": "rpuls/my-own-suite",
                    "branch": "main",
                    "rootDirectory": "/apps/seafile"
                  },
                  "variables": {
                    "MYSQLHOST": {
                      "isOptional": false,
                      "defaultValue": "${{RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "MYSQLPORT": {
                      "isOptional": false,
                      "defaultValue": "3306"
                    },
                    "MYSQLUSER": {
                      "isOptional": false,
                      "defaultValue": "root"
                    },
                    "MYSQL_URL": {
                      "isOptional": false,
                      "defaultValue": "mysql://${{MYSQLUSER}}:${{MYSQL_ROOT_PASSWORD}}@${{RAILWAY_PRIVATE_DOMAIN}}:3306/${{MYSQL_DATABASE}}"
                    },
                    "MYSQLDATABASE": {
                      "isOptional": false,
                      "defaultValue": "${{MYSQL_DATABASE}}"
                    },
                    "MYSQLPASSWORD": {
                      "isOptional": false,
                      "defaultValue": "${{MYSQL_ROOT_PASSWORD}}"
                    },
                    "MYSQL_DATABASE": {
                      "isOptional": false,
                      "defaultValue": "seafile"
                    },
                    "MYSQL_PUBLIC_URL": {
                      "isOptional": false,
                      "defaultValue": "mysql://${{MYSQLUSER}}:${{MYSQL_ROOT_PASSWORD}}@${{RAILWAY_TCP_PROXY_DOMAIN}}:${{RAILWAY_TCP_PROXY_PORT}}/${{MYSQL_DATABASE}}"
                    },
                    "MYSQL_ROOT_PASSWORD": {
                      "isOptional": false,
                      "defaultValue": "{{MYSQL_ROOT_PASSWORD}}"
                    },
                    "RAILWAY_DOCKERFILE_PATH": {
                      "defaultValue": "Dockerfile.mysql"
                    }
                  },
                  "volumeMounts": {
                    "d384d0cf-4770-4fc5-ab22-325883a32434": {
                      "mountPath": "/var/lib/mysql"
                    }
                  }
                },
                "f46af8c7-14dd-4ca2-b1c2-db7e8e7d0175": {
                  "icon": "https://res.cloudinary.com/hczpmiapo/image/upload/v1771596172/Static%20assets/Logos/seafile_djqdlw.png",
                  "name": "Seafile",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": null,
                    "restartPolicyType": "ON_FAILURE",
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "repo": "rpuls/my-own-suite",
                    "branch": "main",
                    "rootDirectory": "/apps/seafile"
                  },
                  "variables": {
                    "SMTP_FROM": {
                      "description": "Sender email shown on outgoing mail",
                      "defaultValue": "noreply@example.com"
                    },
                    "SMTP_HOST": {
                      "description": "Custom SMTP host for advanced users",
                      "defaultValue": "smtp.example.com"
                    },
                    "SMTP_PORT": {
                      "description": "Custom SMTP port, usually 587 for STARTTLS",
                      "defaultValue": "587"
                    },
                    "REDIS_HOST": {
                      "defaultValue": "${{seafile-valkey.RAILWAY_PRIVATE_DOMAIN }}"
                    },
                    "REDIS_PORT": {
                      "defaultValue": "6379"
                    },
                    "SMTP_ENABLED": {
                      "description": "OBD: requires Railway pro plan ‼️ Enable email features for compatible apps",
                      "defaultValue": "false"
                    },
                    "SMTP_PASSWORD": {
                      "description": "Custom SMTP password or API key",
                      "defaultValue": "your-smtp-password"
                    },
                    "SMTP_SECURITY": {
                      "description": "SMTP security: starttls, force_tls, or off",
                      "defaultValue": "starttls"
                    },
                    "SMTP_USERNAME": {
                      "description": "Custom SMTP username",
                      "defaultValue": "your-smtp-user"
                    },
                    "CACHE_PROVIDER": {
                      "defaultValue": "redis"
                    },
                    "REDIS_PASSWORD": {
                      "defaultValue": "${{seafile-valkey.REDIS_PASSWORD}}"
                    },
                    "JWT_PRIVATE_KEY": {
                      "defaultValue": "{{JWT_PRIVATE_KEY}}"
                    },
                    "ONLYOFFICE_APIJS_URL": {
                      "isOptional": false,
                      "defaultValue": "https://${{OnlyOffice.RAILWAY_PUBLIC_DOMAIN}}/web-apps/apps/api/documents/api.js"
                    },
                    "ONLYOFFICE_JWT_SECRET": {
                      "isOptional": false,
                      "defaultValue": "${{OnlyOffice.JWT_SECRET}}"
                    },
                    "SEAFILE_MYSQL_DB_HOST": {
                      "defaultValue": "${{ MySQL.RAILWAY_PRIVATE_DOMAIN }}"
                    },
                    "SEAFILE_MYSQL_DB_PORT": {
                      "defaultValue": "${{ MySQL.MYSQLPORT }}"
                    },
                    "SEAFILE_MYSQL_DB_USER": {
                      "defaultValue": "seafile"
                    },
                    "RAILWAY_DOCKERFILE_PATH": {
                      "defaultValue": "Dockerfile"
                    },
                    "SEAFILE_SERVER_HOSTNAME": {
                      "isOptional": false,
                      "defaultValue": "${{ RAILWAY_PUBLIC_DOMAIN }}"
                    },
                    "SEAFILE_SERVER_PROTOCOL": {
                      "isOptional": false,
                      "defaultValue": "https"
                    },
                    "INIT_SEAFILE_ADMIN_EMAIL": {
                      "description": "Email for the admin user",
                      "defaultValue": "{{INIT_SEAFILE_ADMIN_EMAIL}}"
                    },
                    "SEAFILE_MYSQL_DB_PASSWORD": {
                      "defaultValue": "{{SEAFILE_MYSQL_DB_PASSWORD}}"
                    },
                    "SEAFILE_SERVER_LETSENCRYPT": {
                      "description": "required for adding custom domain, SSL will be handled by Railway",
                      "defaultValue": "false"
                    },
                    "INIT_SEAFILE_ADMIN_PASSWORD": {
                      "description": "Password for the admin user",
                      "defaultValue": "{{INIT_SEAFILE_ADMIN_PASSWORD}}"
                    },
                    "VERIFY_ONLYOFFICE_CERTIFICATE": {
                      "isOptional": false,
                      "defaultValue": "true"
                    },
                    "SEAFILE_MYSQL_DB_CCNET_DB_NAME": {
                      "defaultValue": "ccnet_db"
                    },
                    "ONLYOFFICE_INTERNAL_SEAFILE_URL": {
                      "isOptional": false,
                      "defaultValue": "http://${{RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "SEAFILE_MYSQL_DB_SEAHUB_DB_NAME": {
                      "defaultValue": "seahub_db"
                    },
                    "INIT_SEAFILE_MYSQL_ROOT_PASSWORD": {
                      "defaultValue": "${{ MySQL.MYSQL_ROOT_PASSWORD }}"
                    },
                    "SEAFILE_MYSQL_DB_SEAFILE_DB_NAME": {
                      "defaultValue": "seafile_db"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>:80": {
                        "port": 80
                      }
                    }
                  },
                  "volumeMounts": {
                    "f46af8c7-14dd-4ca2-b1c2-db7e8e7d0175": {
                      "mountPath": "/shared"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {
    "healthcheck": {
      "service": "OnlyOffice",
      "method": "GET",
      "path": "/healthcheck",
      "expect_status": 200
    }
  },
  "resources": {
    "expected_services": 4,
    "needs_volume": true
  },
  "generated_at": "2026-09-11T04:14:34.944Z",
  "generator_version": "0.1.0"
}
