Deploy AppSail

Introduction

Catalyst enables you to deploy AppSail services in two different ways:

  • Regular Deploy: The regular deploy execution applies when you have already initialized an AppSail resource either during the project initialization or by adding it in an existing project directory.

  • Standalone Deploy: You can do a standalone deploy of an app directly without initializing it as an AppSail service in prior.

You can deploy the apps initialized as Catalyst-managed runtimes or custom runtimes through both these deployment methods. Given below are some important points for AppSail initialized or added in two different ways:

  • Catalyst-Managed Runtimes: Catalyst deploys 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 specified.
  • Container Images: The OCI image of your app that is associated with Appsail is deployed, along with the configuration file of your project.
Note: Catalyst only supports the deployment of OCI-compliant images built for the Linux AMD64 (x86-64) platform.

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

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.

copy
$
catalyst deploy appsail

The deployment process is the same.

Deploy AppSail


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 must be present in the directory.

Note: If you execute the standalone deploy command without any of the [options specific to deploying container images](#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.

Catalyst-managed runtime apps:

  • 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 automatically.

  • The app-config.json 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.

Container images:

  • You can use the standalone deploy command with these options to deploy apps as container images: –name <name>, –source <image>, –command <command>, –port <port>. The first two are mandatory, while the last two are optional and can be used to override any startup commands or ports already configured in the container image definition. The options are explained in detail below.

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:
copy
$
catalyst deploy appsail
  1. Enter a name for your app. You can name the main file of your app’s build anything you prefer.

Deploy AppSail

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.
  1. Select the build path for your app from the list and press Enter.

Deploy AppSail

  1. Select a stack for your app and press Enter.

Deploy AppSail

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.

Deploy Functions

If you select any other stack, this will be skipped.

  1. 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

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


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:

copy
$
--name DemoApp

–build-path <path>

Use this to specify the build path of your app. Provide an absolute path value. This is applicable only to Catalyst-managed runtime apps. Example:

copy
$
--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:

copy
$
--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:

copy
$
--platform javase

–command <command>

Use this to specify the startup command 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:

copy
$
--command npm start

–source <image>

Use this to specify the source of the docker image to be deployed. This is applicable only to container image apps. You must start with ‘docker://’ for Docker image protocol and ‘docker-archive://’ for Docker archive protocol. Refer here for details. Example:

copy
$
--source docker://example-voting-app-worker:latest

–port <port>

Use this to specify the port for the AppSail. This is applicable only to container image apps. This will override any values already configured in the container image definition. Example:

copy
$
--port 8000

Last Updated 2025-11-03 16:18:29 +0530 IST