--- title: "Deploy from the CLI" url: https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/deploy-from-cli/ description: "Catalyst AppSail is a fully-managed platform of Catalyst Serverless that enables you to develop and deploy web services in managed runtimes of Java, Node.js, and Python, or of custom runtimes as OCI images to the cloud with ease." last_updated: 2026-08-17T12:16:04Z service: Serverless type: general --- # Deploy AppSail as a Catalyst-Managed Runtime from the CLI ### Initialize or Add an AppSail Service You can [initialize an AppSail service](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/initialize-appsail/) for a Catalyst-managed runtime directly in your app's directory, or from a new directory using the [Catalyst CLI](https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/). You can also [add an AppSail service](https://docs.catalyst.zoho.com/en/cli/v1/add-appsail/) to an existing Catalyst project directory, where other resources have been initialized. You can [deploy the AppSail service](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/deploy-from-cli/#deploy-an-appsail-service) after you initialize or add it. Catalyst creates an **[`app-config.json](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/#the-app-configjson-file)`** file when an AppSail service is initialized in this method. To initialize an AppSail service in a new directory, create a folder for your project in your local machine and navigate to it from your terminal. Initialize a project by executing the following command from that directory: ```sh catalyst init ``` You can add an AppSail service in an existing Catalyst project directory by executing this CLI command: ```sh catalyst appsail:add ``` The steps to initialize or add the AppSail service will be the same as described below: 1. The CLI will prompt you to select the runtime type as **Catalyst-Managed Runtime** or **Docker Image** when AppSail is initialized or added. Select the first option. ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_0.webp) 2. You can now choose to get started with a readymade sample project by entering "Y" and pressing **Enter**, then selecting a sample app from the list. ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_1.png) The sample app will be downloaded to the directory. Provide a name for it when prompted. ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_2.png) If you want to initialize your own app, enter "N" , then press **Enter**. 3. Select if this will be your [source directory](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/#source-directory-and-build-path) of your app by entering "Y". If you enter "N", the CLI will prompt you to type in the absolute path for your app's source in your directory. Press **Enter** after the entries. ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_3.png) 4. Enter a name for your app. You can name the main file of your app's build anything you prefer. ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_4.png) > **Note:** When you build your app as a Java WAR file, you will need to name the main file `root.war` or add specific controllers according to your code. 5. Enter the absolute [build path](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/#source-directory-and-build-path) for your app, then press **Enter**. ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_5.png) 6. Select a stack and runtime for your app and press **Enter**. ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_6.png) If you select Java, the CLI will further prompt you to pick either Java SE or the Java WAR as your app's deployable format. You can learn more about this [here](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/). ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_7.png) If you select any other stack, this will be skipped. AppSail is now initialized or added in the source directory you selected, and the app is now associated with the Catalyst project. The configurations will be updated in [`catalyst.json`](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/catalyst-json/) file accordingly. ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_8.webp) This process will only create the [`app-config.json](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/#the-app-configjson-file)` configuration file that is specific to AppSail in your app's source directory. You can edit the values such as the startup command, environment variables, or memory in this file before deploying. ![catalyst_cli_appsail_init_1](https://catalyst-docs-development.zohostratus.in/images/cli/initialize-resources/catalyst_cli_appsail_init_9.webp) ### Deploy an AppSail Service Catalyst enables you to deploy [AppSail services](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/) in two different ways: * **Regular Deploy:** The regular deploy execution applies when you have already initialized an AppSail resource either during the [project initialization](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/initialize-appsail/) or by [adding it in an existing project directory](https://docs.catalyst.zoho.com/en/cli/v1/add-appsail/). * **Standalone Deploy:** You can do a standalone deploy of an app directly without initializing it as an AppSail service in prior. Catalyst will deploy all the executable files of your app present in the build path that you specified during the app initialization, in this case along with project configurations. > **Note:** You need not bundle or zip all the build files together, as AppSail will automatically bundle them during the application serve or deployment from the [build path](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/#source-directory-and-build-path) specified. ### Regular Deploy If the AppSail app is already initialized in the project directory, the CLI will automatically deploy the app with the rest of the project resources when you execute the `catalyst deploy` command. The CLI will display the endpoint URL of the app after it is deployed, that you can open it with. ![Deploy AppSail](https://catalyst-docs-development.zohostratus.in/images/cli/deploy-resources/cli-appsail-deploy-proj-init-1.png) If you have multiple AppSail apps in your project directory, you can access all of their URL endpoints from the CLI. You can also execute the following command to deploy the AppSail service alone from your app's source directory. ```sh catalyst deploy appsail ``` The deployment process is the same. ![Deploy AppSail](https://catalyst-docs-development.zohostratus.in/images/cli/deploy-resources/cli-appsail-deploy-proj-init-2.webp) ### Standalone Deploy You must execute the standalone deploy command from a Catalyst project directory's root. That is, `catalyst.json` and other [project dependency files](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/) must be present in the directory. > **Note:** If you execute the standalone deploy command without any of the [options specific to deploying container images](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/deploy-from-cli/#standalone-deploy-appsail-options), the CLI will prompt you for inputs related to Catalyst-managed runtime apps only by default. You must remember the following points about the standalone deployment: * You must ensure your app's deployable build files are present in the directory you execute the command from. This is because that directory will be considered the [build directory](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/#source-directory-and-build-path) automatically. * The [`app-config.json`](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/#the-app-configjson-file) file is not created when you do a standalone deploy to deploy an app without initializing it. The information that this file carries is fetched as input from you in the CLI during the deployment. You can do the standalone deploy of an AppSail app in the following way: 1. Navigate to the directory the app's deployable files are present in, and executing the following command: ```sh catalyst deploy appsail ``` 2. Enter a name for your app. You can name the main file of your app’s build anything you prefer. ![Deploy AppSail](https://catalyst-docs-development.zohostratus.in/images/cli/deploy-resources/catalyst-appsail-standalone-deploy-1.webp) > **Note:** However, when you build your app as a Java WAR file, you will need to name the main file root.war or add specific controllers according to your code. 3. Select the build path for your app from the list and press **Enter**. ![Deploy AppSail](https://catalyst-docs-development.zohostratus.in/images/cli/deploy-resources/catalyst-appsail-standalone-deploy-2.webp) 4. Select a stack for your app and press **Enter**. ![Deploy AppSail](https://catalyst-docs-development.zohostratus.in/images/cli/deploy-resources/catalyst-appsail-standalone-deploy-3.webp) If you select Java, the CLI will further prompt you to pick either Java SE or the Java WAR as your app's deployable format. You can learn more about this here. ![Deploy Functions](https://catalyst-docs-development.zohostratus.in/images/cli/deploy-resources/catalyst-appsail-standalone-deploy-4.webp) If you select any other stack, this will be skipped. 5. You must additionally specify the startup command for your app based on the stack, framework, and web server used. This information will be directly deployed and will be available in the Configurations section of your console after the app deployment. ![Deploy Functions](https://catalyst-docs-development.zohostratus.in/images/cli/deploy-resources/catalyst-appsail-standalone-deploy-5.webp) Your app is now directly deployed to the associated remote project without requiring you to initialize it as an AppSail resource. You can now access it with its endpoint URL displayed in the CLI. ![Deploy Functions](https://catalyst-docs-development.zohostratus.in/images/cli/deploy-resources/catalyst-appsail-standalone-deploy-6.webp) ### Standalone Deploy AppSail Options The catalyst deploy appsail standalone command supports the following options. Some of these are applicable to both Catalyst-managed runtime and container images apps, while some are specific to only one of them. **--name <name>** Use this to specify the name of your app. This is applicable to both Catalyst-managed runtime and container image apps. Example: ```sh --name DemoApp ``` **--build-path <path>** Use this to specify the [build path](https://docs.catalyst.zoho.com/en/serverless/help/appsail/catalyst-managed-runtimes/key-concepts/#source-directory-and-build-path) of your app. Provide an absolute path value. This is applicable only to Catalyst-managed runtime apps. Example: ```sh --build-path /users/amelia/catalystapp/demoapp/ ``` **--stack <stack>** Use this to specify the stack or runtime of your app. You must only specify the runtimes that are supported by Catalyst. This is applicable only to Catalyst-managed runtime apps. Example: ```sh --stack NodeJS 20 ``` **--platform <javase|war>** Use this to specify the platform of the Java stack alone that are supported in Catalyst: `javase` or `war`. This is applicable only to Catalyst-managed runtime apps. Example: ```sh --platform javase ``` **--command <command>** Use this to specify the [startup command](https://docs.catalyst.zoho.com/en/serverless/help/appsail/appsail-configurations/#startup-commands) for your app. This is applicable to both Catalyst-managed runtime and container image apps. This will override any values already configured in the container image definition. Example: ```sh --command npm start ```