Platform Overview
This page covers the core concepts in Clank. Each section links to a detailed reference page for deeper information.
Projects
Section titled “Projects”A project is a logical group of related services. A web application with a frontend, an API, and a database would live in one project. Projects are deployed to a single server and share a private Docker network, so services within a project can reach each other by name (e.g., http://api:3000 from the frontend container).
Learn more about projects and services
Services
Section titled “Services”A service is a single deployable unit inside a project. There are three types:
- Git service — built from a GitHub repository. Clank clones the repo, generates or uses a Dockerfile, builds an image, and deploys the container.
- Docker image service — pulled from a registry (Docker Hub, GHCR, or a private registry) and deployed directly. No build step.
- Template service — created from a one-click template with pre-configured settings, companion databases, and volumes.
Each service has its own deployment history, environment variables, volumes, and endpoint configuration.
Learn more about projects and services
Deployments
Section titled “Deployments”A deployment is an immutable snapshot of a service at a point in time. Each deploy creates a new deployment record with its own container, build logs, and status. Deployments progress through stages: Building (for git services), Deploying, Health Checking, and finally Active or Failed. Previous deployments are retained so you can roll back to any earlier version with one click.
Servers
Section titled “Servers”A server is a machine running the Clank agent. The agent is a lightweight Go binary that connects outbound to the Clank control plane over gRPC. It manages Docker containers, configures the Traefik reverse proxy, reports resource usage (CPU, memory, disk), and handles agent updates. You can connect any Linux server, macOS machine, or WSL instance — the agent installer handles dependencies automatically.
Learn more about servers and the agent
Endpoints
Section titled “Endpoints”An endpoint defines how a service is accessed from outside its container. Clank supports five access modes:
| Mode | Description |
|---|---|
| Public Direct | DNS points to your server’s public IP. Traefik terminates TLS with a Let’s Encrypt certificate. |
| Cloudflare Tunnel | Traffic routes through a Cloudflare Tunnel. No public IP needed. |
| Tailscale HTTPS | Private access over your Tailscale network with HTTPS. |
| LAN-only | Accessible only on the local network. No TLS. |
| BYO Proxy | You provide your own reverse proxy (nginx, Caddy, etc.) in front of the container. |
Each service can have one endpoint configured. The access mode determines how DNS, TLS, and routing are set up.
Learn more about endpoint access modes
Volumes
Section titled “Volumes”Volumes provide persistent storage for services. When a service is redeployed, the old container is replaced with a new one — but volumes survive across deployments. Clank uses named Docker volumes (e.g., clank-myproject-postgres-data) mounted at the paths you specify. Template services come with volumes pre-configured for their data directories.
Learn more about persistent volumes
Environment variables
Section titled “Environment variables”Environment variables configure your services at runtime. Set database URLs, API keys, feature flags, and other configuration without modifying your code. Variables marked as secret are encrypted at rest in the database and masked in the dashboard UI. Each service has its own set of variables, and changes take effect on the next deployment.
Learn more about environment variables
Teams let you collaborate with other users on your projects. Each team member has a role that controls what they can do:
| Role | Permissions |
|---|---|
| Owner | Full access. Manage billing, delete the team, transfer ownership. |
| Admin | Manage servers, projects, services, and team members. Cannot delete the team. |
| Developer | Create and deploy services. Cannot manage servers or team settings. |
| Viewer | Read-only access to projects, services, and deployment logs. |