The deployment process starts through the deployment modal, which can be opened via the button in the dashboard or by ⌘ + K
.
ale
have different default modules and libraries. If you need to use libraries that aren’t provided by default, such as Windows or Chrome libraries, use Dockerfile Template.Deploy from GitHub Repository
Deploy via Git URL
After selecting ‘Deploy Git Repository’ and navigating to the ‘Git URL’ tab, input the SSH Git URL of your repository. A Deploy Key will be generated automatically.
ale
supports SSH authentication for deploying private repositories from GitHub, GitLab, Bitbucket, and other git providers. See below for platform-specific deploy key setup.GitHub
Go to Settings > Deploy keys in your repository. Then clickAdd deploy key
in the top right corner and paste the deploy key fromale
.
GitLab
Go to Settings > Repository in your repository. Under the Deploy keys section, clickExpand
, thenAdd new key
, and paste the deploy key fromale
.
Bitbucket
Go to Repository settings > Access keys in your repository. ClickAdd key
and paste the deploy key fromale
.
Choose the preset that matches the repository.
Deploy from Template
After selecting the source and preset, configure the deployment settings below and deploy.
Branch and Subdirectory
After selecting a repository, fields for configuring the branch and subdirectory will appear. If your service is located in a subfolder instead of the root directory—such as when managing multiple services in one repository—enter the subfolder path in the Subdirectory field.
Version
Select the preset version that matches the repository.
Environment Variables
Environment variables can be added using any combination of the following methods:
Port Number
The port number must match the value specified in your source code or environment variables. If the port number is missing or incorrect, the service will fail to start.
Install, Build, Start Command
Configure the lifecycle commands for your service.
npm install
, pip install -r requirements.txt
)npm run build
, gradle build
)npm start
, python app.py
)More Options
Configure additional deployment settings.
Resource Settings and Deploy
Deploy
Click the icon in the service card or service page to check deployment/runtime logs or access the terminal.
You can view service metrics in the Metrics tab of the service page.
When you update your code or modify resource settings, click Deploy
at the bottom of the service settings page to apply these changes with a new deployment.
To restore your service to a previous version, navigate to the deployment history tab in the service page.
Subdirectory Not Applied (Error: Project files not found)
Builds are executed from the root directory during deployment. If your application source code is located in a subdirectory rather than the root directory of the repository, you need to configure the subdirectory path in your settings.
Version Mismatch
Build or runtime failures may occur if the version specified in the project configuration files (build.gradle, package.json, requirement.txt, etc.) doesn’t match the version selected. Set the appropriate versions according to your project and deploy again.
Port Number Issues
Using Chrome Libraries like Selenium and Puppeteer
ale
have different default modules and libraries. If you need to use libraries that aren’t provided by default, such as Windows or Chrome libraries, you’ll need to deploy using a Dockerfile.CORS Issues
CORS solutions vary by framework, and issues can be resolved using framework-specific libraries or modules. While frameworks like Next.js offer built-in reverse proxy solutions through their Rewrites feature, you can use Rewrites configuration to set up reverse proxying when deploying web applications like React or Vue. See the reverse proxy page for detailed configuration guidelines.
Missing Runtime Logs
play
button on the service card to restart the service and check the runtime logs. If logs are still not visible, check the Events tab on the service page to troubleshoot the issue.Memory Resource Exhaustion (OOM)
Timezone
Set the timezone using the TZ environment variable. You can find the list of supported timezone formats here. For framework-specific configuration options, consult your framework’s documentation.