Skip to Content
Cloud platform (PaaS)Deploying a service

Deploying a service

Service deployment sources

Create a service from Git, a Docker image, a local folder or a marketplace template.

Each service has a source that determines how its image is produced: a Git repository with automatic builds, a prepared Docker image, a local folder uploaded with the CLI or a ready-made marketplace template.

For Git deployments, select the repository and branch. Each push to the connected branch starts a new build and deployment when automatic deployment is enabled.

For a prepared image, enter its name, tag and internal port. For a local folder, use gerdoo deploy. Use the marketplace to install ready-made software quickly.

Automatic framework detection

Detect the project type from repository files and override settings manually when needed.

For source deployments, the platform checks files such as package.json, requirements.txt, go.mod, composer.json and Cargo.toml, and suggests build and run settings. If the repository has a Dockerfile, it is used for the build.

Automatic detection is a starting point, not a substitute for review. If your project is a monorepo, produces build output in a different directory or needs a custom start command, configure the root path, Build Command and Run Command manually.

After each configuration change, deploy again and read the build logs. Most deployment errors involve the language version, missing dependencies or the application not listening on PORT.

Deploying a Docker image

Run a prepared image from Docker Hub or a private registry.

If you have a Docker image ready, enter its full name and tag, internal port and environment variables to run it as an always-on service. Use a specific tag in production rather than latest.

For a private registry, enter a username and access token. These credentials are stored encrypted and used only to pull the image.

The internal port must match the port the process inside the image listens on. Use TCP exposure for databases and brokers, and a volume for persistent data.

Connecting GitHub

Connect your GitHub account and deploy from private and public repositories.

To begin, click “Connect to GitHub” in the dashboard’s account settings or during deployment setup.

You will be redirected to GitHub to sign in. We use a GitHub App to securely access only the repositories you select, without asking for your password or broad permissions.

After authorization, you return to the dashboard and can see all authorized repositories for deployment. Each push to the connected branch automatically starts a new build and deployment, and reports deployment status on the corresponding GitHub commit.

Connecting self-hosted GitLab

Connect and deploy from your own GitLab servers.

If your team runs its own GitLab server, you can connect the platform directly to it.

When adding a repository, select the GitLab Self-hosted tab. Enter your GitLab domain, such as https://gitlab.yourcompany.com , and create and enter a Personal Access Token with read_api and read_repository permissions.

The platform lists your authorized projects, and you can configure automatic deployment just as you would with GitHub.

Listening on PORT

Dynamic applications must listen on the port supplied by the platform in the PORT variable. A fixed value such as 3000 is insufficient in production.

const port = process.env.PORT || 3000; app.listen(port, "0.0.0.0", () => { console.log(`listening on ${port}`); });