What is a service

A Service is a Docker Compose stack that Coolify stores and deploys as one resource. The stack can contain one container or several connected application, database, worker, proxy, and supporting containers.

Services are not connected to a Git source. Coolify stores the Compose definition with the resource and uses that saved definition for future deployments.

Choose a Service type

Service typeCompose definitionBest suited for
One-click ServiceCopied from Coolify's service-template library when the resource is created.Software that you want to deploy from a ready-made stack.
User-defined ServicePasted into Docker Compose Empty and stored by Coolify.Your own multi-container stack or software without a one-click template.

Both paths create the same Coolify resource type and use the same configuration and lifecycle controls after creation.

What a Service includes

PartPurpose
Compose definitionDescribes images, commands, environment references, dependencies, health checks, networks, and storage.
Service componentsRepresents each detected Compose service as an application or database component in the Coolify interface.
Generated configurationAdds container names, labels, networks, domains, environment values, and storage details required by the deployment.
OperationsProvides deployment output, container logs, terminal access, scheduled tasks, webhooks, cloning, moving, and deletion.

Coolify identifies common database images when it parses the definition. Other entries appear as application components. You can open a component's Settings to review its image, domain or public database access, status behavior, and advanced options.

Services and Applications

Use an Application when Coolify should deploy from a Git repository, a Dockerfile entered without Git, or one existing Docker image. A Git-based Application can also use a Compose file stored in its repository.

Use a Service when the Compose definition should live in Coolify rather than a Git repository. A Service does not provide branch deployments, pull-request previews, or source webhooks.

Services and standalone Databases

Use a standalone Database when you want Coolify to create an engine-specific resource with generated credentials, a default data volume, connection URLs, health settings, and supported database backup controls.

Use a Service when the database is part of a larger Compose topology, the engine is not available as a standalone Database, or the stack requires supporting containers. A database component inside a Service can expose component settings and backups when Coolify recognizes the image, but it remains part of the Service stack.

What one-click does and does not mean

One-click means that Coolify provides the initial Compose definition and generated values. It does not make the software a managed service.

You remain responsible for:

  • choosing and maintaining image versions
  • reviewing release notes before an upgrade
  • configuring the software after deployment
  • protecting credentials and public endpoints
  • backing up and testing recovery for persistent data
  • monitoring the server and every required container
Persistent storage is not a backup

A Docker volume or bind mount can survive normal container recreation, but it does not protect against deletion, corruption, disk failure, or server loss. Back up each stateful component with a method that can be restored and tested.

Continue learning

On this page