Skip to content

Deploy a project

Before deploying, connect your repository and prepare its build and start command.

Create the project

Open the dashboard’s projects list and select Add Project. In Create New Project, fill in:

FieldWhat to enter
Project NameA unique name such as my-project. Start with a letter or number; use letters, numbers, underscores, dots, or hyphens. Reserve jakeloud for the dashboard.
RepositoryYour Git clone URL, for example git@github.com:your-account/your-repository.git.
Enable domain and proxyTurn on for a website; leave off for a worker.
DomainA hostname such as app.example.com, without a scheme, path, or port. Point its DNS at the server first.
Liveness timeoutMinutes before the new release is automatically promoted. The default is 5.
Use default commandKeep checked for a Dockerfile serving port 80, or uncheck to edit the command.
Build and start commandThe shell command that builds and runs the application in the foreground. Jakeloud provides $PORT.

Select Create Project, then open the project to inspect its status and logs. Creation starts a deployment; it does not mean the application is ready to serve traffic.

Check the release and switch traffic

For a project with a domain, the new release enters awaiting liveness while its command runs. Use Update status to refresh Status / Logs and inspect the runtime details.

When you have checked that the application is ready, select Confirm live and switch. Jakeloud points Nginx at the new port, configures HTTPS, and stops older releases after successful promotion.

If you do not confirm manually, Jakeloud attempts promotion when the liveness timeout expires, provided the release process is still alive. The timer starts when the command launches, so it includes build time. Set it long enough for your build and startup.

A project without a domain skips the proxy, certificate, and liveness wait stages. Older releases are stopped as part of cleanup after its command starts.

Deploy an update

Push your changes to the repository’s default branch. Open the project, review the command, and select Full Reboot. This creates a fresh release using the repository and the selected command. It is a rebuild and redeploy, not just a restart of the existing process.

For a web project, repeat the readiness check and traffic switch. If the new release fails before switching, inspect its logs; do not assume a failed deployment has replaced the previously active release.

Change a project domain or timeout

Open the settings icon beside the project domain (or No domain). Enter the hostname and Timeout in minutes, then select Save and redeploy. This starts a new deployment, using the command currently selected in the project view. Point the new hostname at your server before switching.

This editor can add a domain to a worker or change an existing hostname and delay. It requires a hostname; disabling the domain is available through the API rather than this editor.

For details on candidate and active processes, retained logs, and failure recovery, see understand releases.

Delete a project

Select Delete Project and confirm the dialog to stop its releases and remove its project directory and Nginx site files. Back up any data stored in that directory first. Manage external volumes and databases separately.

For deployment from a coding assistant, see agent setup.