Coolify is an open-source, self-hosted platform for deploying applications, databases and services. It is an alternative to Heroku, Vercel and Netlify that lets you manage your infrastructure on your own server.
With a Coolify VPS you can deploy applications directly from GitHub, GitLab, Bitbucket or Gitea in a few clicks, spin up databases (PostgreSQL, MySQL, MariaDB, MongoDB, Redis, ClickHouse and others), launch ready-made services from the template library and manage everything from a single panel. Coolify issues and renews Let's Encrypt SSL certificates on its own, configures the reverse proxy, ships logs and collects resource usage metrics.
Coolify's graphical interface lets you set up automatic deployments on push to your repository, define environment variables, attach custom domains to applications and watch container status in real time.
In addition, Coolify offers a wide range of useful features: automatic database backups with offload to S3-compatible storage, team and role support, webhook notifications to Telegram, Discord and Slack, the ability to connect and orchestrate multiple external servers from a single panel, and ready-made templates for popular open-source applications – from WordPress and Ghost to Plausible and Umami.
Coolify ships with a full REST API and access tokens, which makes the platform a great fit for those who write code together with AI agents (Claude Code, Cursor, Codex and the like). Just hand the agent your server's IP address and an API token, and it will connect your project to Coolify, create the resource, configure environment variables and a domain, and trigger the deploy on its own. There is no need to switch between your IDE and the control panel: the entire cycle from writing code to shipping to production can be performed by the agent directly through the API.
Coolify by Beget is a ready-to-use Coolify build with your own or a free domain and an installed SSL certificate, deployed in a couple of minutes with a few clicks.
What's included
- Ubuntu 24.04
- Docker, latest version
- Coolify
- Traefik
Installing Coolify
To install Coolify together with your server, you need to provide the following additional parameters:
- The domain name that will be used to access the Coolify control panel. You can either pick your own domain or register a new one. You can also use a free domain in the
.beget.appzone. A free SSL certificate will be installed for the specified domain. - Administrator email. This email will be used to sign in to Coolify.
- Administrator password. This password will be used to sign in to Coolify.
Once the virtual server is created, we will automatically deploy and configure Coolify. This usually takes up to 5 minutes. You will receive a notification once the deployment is finished.
Getting started
To start working with Coolify, open https://my-domain.beget.app, where my-domain.beget.app is the domain you picked. You can also open the application via the link in the installed application details window in the virtual server control panel.
Sign in with the email and password you provided when creating the VPS – they were also sent to the account's contact email and are available in the installed application details window in the virtual server control panel.
On the first login, Coolify launches an onboarding wizard that walks you through preparing the platform in a few steps:
- Welcome – a welcome screen with a short overview of Coolify's capabilities.
- Server – Coolify asks you to pick the server where resources will be deployed:
- "This Machine" – the same VPS where Coolify is installed. Coolify talks to it directly through the local Docker socket and no extra configuration is needed. Use this option if you want to run applications and databases next to the control panel.
- "Remote Server" – a separate server that Coolify connects to over SSH. Use this option if you want to offload work from the server where Coolify is installed, split prod and staging environments, or manage multiple servers from a single panel.
- "Hetzner Server" – integration with the Hetzner Cloud API to automatically provision a new server in Hetzner Cloud. You don't need this option on a Beget VPS.
If you pick "This Machine", Coolify proceeds to the next step right away – the server is already added and configured by the Beget build.
If you pick "Remote Server", you first need to configure the SSH key and then set the parameters of the server itself:
- On the first sub-step, Coolify will ask you to set up a private SSH key. Paste your existing private key into the form, or click "Generate new SSH Key" to have Coolify generate a new key pair. Fill in Name and, optionally, Description, then click "Save" – the key will be stored in Coolify's key store.
- Copy the public key shown by Coolify, connect to the remote server over SSH and add it to the
~/.ssh/authorized_keysfile of the user Coolify will be working as (usuallyroot). - After saving the key, Coolify proceeds to the server form. Fill in the spaces:
- Server Name – an arbitrary name for the server;
- IP Address/Hostname – the public IP address of the remote server;
- Description – a description (optional).
- Make sure Docker is installed on the remote server. If it isn't, Coolify will try to install it automatically on the next step.
- Click "Validate Server & Continue" – Coolify will check the SSH connection, the Docker version and install any missing components if necessary.
Once validation succeeds, the remote server becomes available for selection when creating resources.
- Create a new Project – create your first project by giving it a name and, optionally, a description. A project is a logical group that holds applications, databases and services. Inside the project Coolify will automatically create a
productionenvironment; you can add more environments (staging,developmentand so on) later if you wish.
Once the project is created, the onboarding wizard finishes – click "Deploy Resource" and Coolify will take you to the "New Resource" section, where you can pick the type of the first resource to deploy: an application from a Git repository, a database, a ready-made service from the library or a Docker Compose stack.
To deploy further applications, click the "+ Add Resource" button on the dashboard inside the corresponding project card or on the project's page itself – this opens the same "New Resource" section with the resource type picker, including Git applications, databases, Docker Compose stacks and dozens of ready-made templates for open-source services.
We wish you happy deployments with Coolify!
FAQ
All Coolify configuration files live in the /data/coolify directory:
- the
source/.envfile holds the environment variables for Coolify and the related containers; - the
source/docker-compose.ymlfile contains the container configuration; - the
proxy/directory holds the Traefik configuration and certificates; - the
databases/directory holds the data of databases created through Coolify;
the backups/ directory holds local backups.
Coolify uses SMTP to send team invites, deployment status notifications and system messages.
To configure outbound email through our mail servers, follow these steps:
- In the control panel, in the "Mail" section, create a mailbox that Coolify will send messages from.
- In the Coolify control panel, go to "Notifications" → "Email".
- Toggle "Enabled" on and fill in the spaces:
- SMTP Host:
smtp.beget.com - SMTP Port:
465 - Encryption: SSL/TLS
- SMTP Username: the address of the mailbox created in step 1
- SMTP Password: the mailbox password
- From Address: the address of the mailbox created in step 1
- SMTP Host:
- Click "Save", then "Send Test Email" to verify the settings.
Coolify can manage multiple servers from a single panel – this is handy if you want to split prod and staging environments or move databases to a separate VPS.
To connect an additional server, follow these steps:
- In the Coolify control panel, go to "Servers" → "+ Add".
- Fill in the spaces:
- Name: an arbitrary server name;
- IP Address: the public IP address of the VPS you want to connect;
- User: the SSH user, usually
root; - Port: the SSH port,
22by default.
- Copy the Coolify public SSH key shown in the form.
- Connect to the new server over SSH and add the copied key to the
~/.ssh/authorized_keysfile of the user specified in the previous step. - Install Docker on the new server if it isn't installed yet.
- Return to Coolify and click "Validate Server" – Coolify will check the connection, the Docker version and install any missing components.
- Once validation succeeds, the server will appear in the list of available targets when creating new resources.
Coolify provides a REST API that lets you automate resource creation, deployment triggers, and management of environment variables, domains and servers. This is convenient if you write code together with an AI agent (Claude Code, Cursor, Codex and similar) and want the agent to deploy the project to your server on its own – without manual control panel configuration.
To give the agent access, generate an API token:
- In the Coolify control panel, go to "Keys & Tokens" → "API Tokens".
- Provide a token name and pick the permissions (you can pick more than one):
- root – full access, including server management, team management and instance settings;
- write – creating and modifying resources: applications, databases, services, domains, environment variables;
- deploy – triggering deploys and restarting existing resources without the right to modify them;
- read – read-only access to information about resources and their state;
- read:sensitive – reading sensitive data, such as environment variable values and secrets.
- Click "Create" and store the generated token in a safe place – once you close the window it will no longer be displayed.
Hand the AI agent or external script the following data:
- the Coolify panel address, for example
https://my-domain.beget.app; - the generated API token in the
Authorization: Bearer <token>header.
After that, the agent can use the API to create applications from Git repositories, attach domains, set environment variables, and start and stop deployments. The API documentation is available at https://my-domain.beget.app/docs/api (the Swagger UI opens right inside your Coolify instance) and on the Coolify website: https://coolify.io/docs/api-reference.
