Coolify is an open-source self-hosted PaaS that empowers developers and DevOps teams to deploy applications, databases, and services on their own hardware — whether it’s a VPS, Raspberry Pi, or bare-metal server. It removes dependency on cloud vendors by storing all configurations locally while automating deployment, monitoring, and scaling. Built with PHP and Docker, it integrates with Git platforms and supports 280+ pre-configured services.
Coolify uses Docker and Docker Compose under the hood to manage applications and services. It supports SSH-based server connections, automatic Let’s Encrypt SSL, S3-compatible backups, and a RESTful API. You can deploy it with a single curl command and manage everything via a web UI or CLI, making it ideal for teams seeking control, transparency, and cost efficiency over public PaaS platforms.
What You Get
- One-Click Services - Deploy 280+ pre-configured services like PostgreSQL, Redis, MariaDB, Next.js, Laravel, and Svelte with one click, all pre-integrated with Docker.
- Git Push-to-Deploy - Automatically deploy applications from GitHub, GitLab, Bitbucket, or Gitea repositories with branch-based deployments and pull request previews.
- Automatic SSL Certificates - Coolify automatically provisions and renews Let’s Encrypt SSL certificates for custom domains without manual intervention.
- No Vendor Lock-in - All application and database configurations are stored directly on your server; you retain full access to Docker Compose files and server configs even if you stop using Coolify.
- Automatic Database Backups - Schedule and automate backups of databases to any S3-compatible storage (e.g., AWS S3, MinIO, Backblaze) with one-click restore functionality.
- Real-Time Terminal - Access and run shell commands directly on your servers through a browser-based terminal without needing SSH clients or keys.
- Powerful API - Programmatically manage deployments, servers, and services using Coolify’s documented REST API for integration with CI/CD pipelines or custom tooling.
- Pull Request Deployments - Automatically spin up isolated preview environments for every pull request to test changes before merging.
- Server Automations - Automatically monitor and optimize server resources like disk usage, memory, and CPU, applying predefined rules without manual intervention.
- Webhook Integration - Trigger deployments or actions via webhooks from GitHub Actions, GitLab CI, Bitbucket Pipelines, or any external CI/CD system.
- Command Line Tool - Control Coolify from the terminal using the official CLI to deploy apps, view logs, or manage servers with natural language prompts via AI assistants.
- Collaborative Projects - Invite team members with granular role-based permissions to manage shared applications and servers securely.
Common Use Cases
- Running a full-stack SaaS product - A startup deploys a Laravel + React app with PostgreSQL and Redis on a Hetzner VPS using Coolify, automating deployments from GitHub and backing up data to MinIO.
- Hosting multiple personal projects - A developer uses Coolify to deploy Next.js, Svelte, and Node.js apps on a single Raspberry Pi, managing them all through one dashboard with automatic SSL.
- Deploying open-source tools internally - A DevOps team uses Coolify to self-host tools like Portainer, Watchtower, and Tailscale on their private server with one-click installs and team access control.
- Managing multi-server infrastructure - A small business runs a WordPress site on one server, a PostgreSQL database on another, and a Redis cache on a third — all managed through Coolify’s unified interface with automated backups.
Under The Hood
Architecture
- Clear separation of concerns through domain-driven Laravel structure with dedicated namespaces for actions, models, and notifications
- Service layer implemented via actionable classes with AsAction trait, decoupling complex workflows from controllers and jobs
- Event-driven orchestration using Laravel’s queue system with prioritized jobs for critical operations like deployment cleanup
- Modular Docker-based deployment with isolated, health-checked services and persistent volumes for scalability
- Comprehensive API contract defined in OpenAPI format with versioned endpoints supporting both public and authenticated workflows
Tech Stack
- Laravel backend with Fortify authentication and Spatie’s Ray for debugging, powered by PHP 8.2+ and Docker-based development workflows
- Vue 3 frontend with Vite, Tailwind CSS, and Laravel-Vite-Plugin for seamless hot-reload and asset management
- Real-time communication via Soketi as a Pusher-compatible WebSocket server, integrated with Laravel Echo and Pusher-js
- PostgreSQL and Redis as primary data stores, orchestrated through Docker Compose with health checks and volume persistence
- Automated testing and deployment pipelines using MinIO, Mailpit, Playwright, and git-cliff for changelog automation
Code Quality
- Extensive test coverage spanning unit, integration, and end-to-end scenarios with proper dependency isolation
- Robust security practices including input sanitization, shell injection prevention, and defensive parsing in critical system paths
- Strong type safety enforced through encrypted casts, strict attribute validation, and explicit data typing
- Consistent, domain-focused code organization with well-named actions, events, and services following Laravel conventions
- Comprehensive linting and validation embedded in APIs and models to ensure data integrity before processing
What Makes It Unique
- Native GitHub/GitLab PR preview environments with automated cleanup and container orchestration, removing dependency on external CI/CD tools
- Unified deployment pipeline abstracting Docker, Kubernetes, and cloud providers into a single declarative workflow with real-time status updates
- Granular API token permissions with hierarchical access levels enabling secure third-party integrations without exposing infrastructure
- Built-in multi-channel notifications (email, Discord, Slack) with dynamic template rendering tied directly to deployment events
- Live resource monitoring and real-time operational feedback loops via broadcasted events to team channels
- Permission-aware Livewire components that dynamically adapt UI elements based on user roles and team policies