coolify Documentation

An open-source, self-hostable PaaS alternative to Vercel, Heroku & Netlify that lets you easily deploy static sites, databases, full-stack applications and...

RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy coolify on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name coolify -p 8000:8000 --restart always coolify:dev
Configured Services & Ports
βš™οΈ coolify
image: coolify:dev
πŸ”Œ Ports: ${APP_PORT:-8000}:8080, ${FORWARD_PUSHER_PORT:-6001}:6001, 6002:6002
βš™οΈ postgres
image: build locally
πŸ”Œ Ports: ${FORWARD_DB_PORT:-5432}:5432
βš™οΈ redis
image: build locally
πŸ”Œ Ports: ${FORWARD_REDIS_PORT:-6379}:6379
βš™οΈ vite
image: node:24-alpine
πŸ”Œ Ports: ${VITE_PORT:-5173}:${VITE_PORT:-5173}
βš™οΈ testing-host
image: coolify-testing-host:dev
βš™οΈ mailpit
image: axllent/mailpit:latest
πŸ”Œ Ports: ${FORWARD_MAILPIT_PORT:-1025}:1025, ${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025
βš™οΈ minio
image: ghcr.io/coollabsio/minio:RELEASE.2025-10-15T17-29-55Z
πŸ”Œ Ports: ${FORWARD_MINIO_PORT:-9000}:9000, ${FORWARD_MINIO_PORT_CONSOLE:-9001}:9001
βš™οΈ minio-init
image: ghcr.io/coollabsio/mx:0.1.0
docker-compose.yml
yaml (docker-compose.yml)
services:
  coolify:
    image: coolify:dev
    pull_policy: never
    build:
      context: .
      dockerfile: ./docker/development/Dockerfile
      args:
        - USER_ID=${USERID:-1000}
        - GROUP_ID=${GROUPID:-1000}
    ports:
      - "${APP_PORT:-8000}:8080"
      - "${FORWARD_PUSHER_PORT:-6001}:6001"
      - "6002:6002"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    environment:
      AUTORUN_ENABLED: false
      PUSHER_HOST: "${PUSHER_HOST:-}"
      PUSHER_PORT: "${PUSHER_PORT:-6001}"
      PUSHER_BACKEND_PORT: "${PUSHER_BACKEND_PORT:-6001}"
      PUSHER_SCHEME: "${PUSHER_SCHEME:-http}"
      PUSHER_APP_ID: "${PUSHER_APP_ID:-coolify}"
      PUSHER_APP_KEY: "${PUSHER_APP_KEY:-coolify}"
      PUSHER_APP_SECRET: "${PUSHER_APP_SECRET:-coolify}"
    healthcheck:
      test: curl -sf http://127.0.0.1:8080/api/health || exit 1
      interval: 5s
      retries: 10
      timeout: 2s
    volumes:
      - .:/var/www/html/:cached
      - dev_backups_data:/var/www/html/storage/app/backups
      - ./docker/coolify-terminal/terminal-server.js:/terminal/terminal-server.js
      - ./docker/coolify-terminal/terminal-utils.js:/terminal/terminal-utils.js
    networks:
      - coolify
  postgres:
    pull_policy: always
    ports:
      - "${FORWARD_DB_PORT:-5432}:5432"
    env_file:
      - .env
    environment:
      POSTGRES_USER: "${DB_USERNAME:-coolify}"
      POSTGRES_PASSWORD: "${DB_PASSWORD:-password}"
      POSTGRES_DB: "${DB_DATABASE:-coolify}"
      POSTGRES_HOST_AUTH_METHOD: "trust"
    healthcheck:
      test: [ "CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" ]
      interval: 5s
      retries: 10
      timeout: 2s
    volumes:
      - dev_postgres_data:/var/lib/postgresql/data
  redis:
    pull_policy: always
    ports:
      - "${FORWARD_REDIS_PORT:-6379}:6379"
    env_file:
      - .env
    healthcheck:
      test: redis-cli ping
      interval: 5s
      retries: 10
      timeout: 2s
    volumes:
      - dev_redis_data:/data
  vite:
    image: node:24-alpine
    pull_policy: always
    container_name: coolify-vite
    working_dir: /var/www/html
    environment:
      # Set VITE_HOST in .env to a browser-reachable IP/hostname for LAN/Tailscale access
      VITE_HOST: "${VITE_HOST:-localhost}"
      VITE_PORT: "${VITE_PORT:-5173}"
    ports:
      - "${VITE_PORT:-5173}:${VITE_PORT:-5173}"
    volumes:
      - .:/var/www/html/:cached
    command: sh -c "npm install && npm run dev"
    networks:
      - coolify
  testing-host:
    image: coolify-testing-host:dev
    pull_policy: never
    build:
      context: .
      dockerfile: ./docker/testing-host/Dockerfile
    init: true
    container_name: coolify-testing-host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - dev_coolify_data:/data/coolify
      - dev_backups_data:/data/coolify/backups
      - dev_postgres_data:/data/coolify/_volumes/database
      - dev_redis_data:/data/coolify/_volumes/redis
      - dev_minio_data:/data/coolify/_volumes/minio
    networks:
      - coolify
  mailpit:
    image: axllent/mailpit:latest
    pull_policy: always
    container_name: coolify-mail
    ports:
      - "${FORWARD_MAILPIT_PORT:-1025}:1025"
      - "${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025"
    networks:
      - coolify
  # maxio:
  #   image: ghcr.io/coollabsio/maxio 
  #   pull_policy: always
  #   container_name: coolify-maxio
  #   ports:
  #     - "${FORWARD_MAXIO_PORT:-9000}:9000"
  #   environment:
  #     MAXIO_ACCESS_KEY: "${MAXIO_ACCESS_KEY:-maxioadmin}"
  #     MAXIO_SECRET_KEY: "${MAXIO_SECRET_KEY:-maxioadmin}"
  #   volumes:
  #     - dev_maxio_data:/data
  #   networks:
  #     - coolify
  minio:
    image: ghcr.io/coollabsio/minio:RELEASE.2025-10-15T17-29-55Z # Released on 15 October 2025
    pull_policy: always
    container_name: coolify-minio
    command: server /data --console-address ":9001"
    ports:
      - "${FORWARD_MINIO_PORT:-9000}:9000"
      - "${FORWARD_MINIO_PORT_CONSOLE:-9001}:9001"
    environment:
      MINIO_ACCESS_KEY: "${MINIO_ACCESS_KEY:-minioadmin}"
      MINIO_SECRET_KEY: "${MINIO_SECRET_KEY:-minioadmin}"
    volumes:
      - dev_minio_data:/data
      - dev_maxio_data:/data
    networks:
      - coolify
  # maxio-init:
  #   image: ghcr.io/coollabsio/mx:0.1.0
  #   pull_policy: always
  #   container_name: coolify-maxio-init
  #   restart: no
  #   depends_on:
  #     - maxio
  #   entrypoint: >
  #     /bin/sh -c "
  #     echo 'Waiting for MaxIO to be ready...';
  #     until mc alias set local http://coolify-maxio:9000 maxioadmin maxioadmin 2>/dev/null; do
  #       echo 'MaxIO not ready yet, waiting...';
  #       sleep 2;
  #     done;
  #     echo 'MaxIO is ready, creating bucket if needed...';
  #     mc mb local/local --ignore-existing;
  #     echo 'MaxIO initialization complete - bucket local is ready';
  #     "
  #   networks:
  #     - coolify
  minio-init:
    image: ghcr.io/coollabsio/mx:0.1.0
    pull_policy: always
    container_name: coolify-minio-init
    restart: no
    depends_on:
      - minio
    entrypoint: >
      /bin/sh -c "
      echo 'Waiting for MinIO to be ready...';
      until mc alias set local http://coolify-minio:9000 minioadmin minioadmin 2>/dev/null; do
        echo 'MinIO not ready yet, waiting...';
        sleep 2;
      done;
      echo 'MinIO is ready, creating bucket if needed...';
      mc mb local/local --ignore-existing;
      echo 'MinIO initialization complete - bucket local is ready';
      "
    networks:
      - coolify

volumes:
  dev_backups_data:
  dev_postgres_data:
  dev_redis_data:
  dev_coolify_data:
  dev_minio_data:
  dev_maxio_data:

networks:
  coolify:
    name: coolify
    external: false

About the Project

Coolify is an open-source & self-hostable alternative to Heroku / Netlify / Vercel / etc.

It helps you manage your servers, applications, and databases on your own hardware; you only need an SSH connection. You can manage VPS, Bare Metal, Raspberry PIs, and anything else.

Imagine having the ease of a cloud but with your own servers. That is Coolify.

No vendor lock-in, which means that all the configurations for your applications/databases/etc are saved to your server. So, if you decide to stop using Coolify (oh nooo), you could still manage your running resources. You lose the automations and all the magic. πŸͺ„️

For more information, take a look at our landing page at coolify.io.

Installation

bash
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

You can find the installation script source here.

[!NOTE]
Please refer to the docs for more information about the installation.

Support

Contact us at coolify.io/docs/contact.

Cloud

If you do not want to self-host Coolify, there is a paid cloud version available: app.coolify.io

For more information & pricing, take a look at our landing page coolify.io.

Why should I use the Cloud version?

The recommended way to use Coolify is to have one server for Coolify and one (or more) for the resources you are deploying. A server is around 4-5$/month.

By subscribing to the cloud version, you get the Coolify server for the same price, but with:

  • High-availability
  • Free email notifications
  • Better support
  • Less maintenance for you

Donations

To stay completely free and open-source, with no feature behind the paywall and evolve the project, we need your help. If you like Coolify, please consider donating to help us fund the project's future development.

coolify.io/sponsorships

Thank you so much!

Huge Sponsors

  • Context.dev - Web scraping API for AI agents
  • SerpAPI - Google Search API β€” Scrape Google and other search engines from our fast, easy, and complete API.
  • MVPS - Cheap VPS servers at the highest possible quality
  • ScreenshotOne - Screenshot API for devs
  • PrivateAlps - Cloud Services Provider, VPS, servers infrastructure for people who care about privacy and control
  • Seibert Group - Boost productivity company-wide with AI agents like Claude Code
  • Contabo - Cloud VPS & dedicated servers at unbeatable prices

Big Sponsors

  • Cloudways - Managed cloud hosting platform by DigitalOcean
  • ByteBase - Database CI/CD and Security at Scale
  • Ramnode - High Performance Cloud VPS Hosting
  • 23M - Your experts for high-availability hosting solutions!
  • Macarne - Best IP Transit & Carrier Ethernet Solutions for Simplified Network Connectivity
  • Hetzner - Server, cloud, hosting, and data center solutions
  • Logto - The better identity infrastructure for developers
  • Supadata - Scrape YouTube, web, and files. Get AI-ready, clean data for your next project.
  • Tolgee - The open source localization platform
  • Best Consultant - Your trusted technology consulting partner
  • ArcJet - Advanced web security and performance solutions
  • SupaGuide - Your comprehensive guide to Supabase
  • CodeRabbit - Cut Code Review Time & Bugs in Half
  • Convex - Convex is the open-source reactive database for web app developers.
  • GoldenVM - Premium virtual machine hosting solutions
  • Comit International - New York Times award–winning contractor!
  • Compai - The open source compliance automation platform that does everything you need to get compliant, fast. Open source alternative to Drata & Vanta.
  • Tigris - Modern S3 Alternative
  • Blacksmith - Infrastructure automation platform
  • JobsCollider - 30,000+ remote jobs for developers
  • Darweb - Design. Develop. Deliver. Specialized in 3D CPQ Solutions for eCommerce.
  • Hostinger - Web hosting and VPS solutions
  • Mobb - Secure Your AI-Generated Code to Unlock Dev Productivity
  • Ubicloud - Open source cloud infrastructure platform
  • PFGLabs - Build Real Projects with Golang
  • JuxtDigital - Digital PR & AI Authority Building Agency
  • SaasyKit - Complete SaaS starter kit for developers
  • American Cloud - US-based cloud infrastructure services
  • LiquidWeb - Premium managed hosting solutions
  • Greptile - The AI Code Reviewer
  • VPSDime - Cheap VPS Hosting - 4GB for $5/month
  • dataforest Cloud - Deploy cloud servers as seeds independently in seconds. Enterprise hardware, premium network, 100% made in Germany.
  • ISHosting - Hosting and VPS solutions
  • PetroSky Cloud - Open source cloud deployment solutions
  • QuickSrv - Fast and reliable server hosting

Small Sponsors









































...and many more at GitHub Sponsors

Recognitions

Core Maintainers

Andras Bacsai πŸ”οΈ Peak

Repo Activity

Star History