Quickstart: Deploy from GitHub
This guide walks through deploying an application from a GitHub repository. By the end, your app will be built, running on your server, and accessible via a URL.
Prerequisites
Section titled “Prerequisites”- A Clank account (sign up at clank.host)
- At least one server connected with the Clank agent (install guide)
- A GitHub repository with a web application (Node.js, Python, Go, Rust, Ruby, or static HTML)
1. Create a project
Section titled “1. Create a project”Log in to the Clank dashboard. Open the Create modal by clicking the + button in the sidebar or pressing Cmd+K (Ctrl+K on Windows/Linux). Select New Project, give it a name, and choose the server where the project will be deployed.
2. Add a service from GitHub
Section titled “2. Add a service from GitHub”Inside your new project, click Add Service and select GitHub Repository.
3. Connect GitHub
Section titled “3. Connect GitHub”If this is your first GitHub deploy, Clank prompts you to install the Clank GitHub App. Click Connect GitHub, authorize the app, and select which repositories Clank can access. You can grant access to all repos or specific ones.
4. Select repository and branch
Section titled “4. Select repository and branch”Choose the repository from the list. Select the branch to deploy from (typically main or master). If your app lives in a subdirectory, set the root directory field.
5. Configure build settings
Section titled “5. Configure build settings”Clank inspects your repository and auto-detects the framework and build configuration:
- Node.js SPA (React, Vue, Angular) — detects
package.jsonwith abuildscript, serves static output via nginx - Node.js server (Express, Fastify, Next.js) — detects a
startscript and exposes the configured port - Python (Flask, Django, FastAPI) — detects
requirements.txtorpyproject.toml - Go, Rust, Ruby, static HTML — detected by their respective project files
Review the detected settings. Override the build command, start command, or port if needed.
6. Deploy
Section titled “6. Deploy”Click Deploy. Clank clones the repository, builds a Docker image, pushes it to your server, and starts the container. The deployment log streams in real time so you can follow each step.
7. Verify
Section titled “7. Verify”Once the deployment reaches Active status, click the URL shown in the service panel to open your app in the browser. The URL depends on your configured endpoint access mode — by default, services are accessible on your server’s IP and the assigned port.
What happens on subsequent pushes
Section titled “What happens on subsequent pushes”If you enabled auto-deploy, every push to the configured branch triggers a new deployment automatically. Clank builds the new image, performs a health check, and swaps traffic to the new container. The previous container is kept as a rollback target.