Favicon of Coolify

Coolify

Deploy applications, databases, and services to your own server. This open-source platform offers Git integration, free SSL certificates, and automatic backups.

Coolify is an open-source and self-hostable platform that simplifies deploying your applications, databases, and services to your own server. It serves as a powerful alternative to services like Heroku and Vercel, giving you full control over your infrastructure without vendor lock-in. Connect any server with an SSH connection and start deploying.

Key features include:

  • Git-Based Workflows: Integrate with GitHub, GitLab, and others for push-to-deploy functionality and automated pull request deployments.
  • Automated Management: Get free, auto-renewing SSL certificates, automatic database backups to S3-compatible storage, and server monitoring.
  • Broad Compatibility: Deploy static sites, APIs, and backends written in almost any language or framework, plus over 280 one-click services.
  • Team Collaboration: Share projects with team members and manage permissions to work together on deployments.
  • Powerful Integrations: Use webhooks and a robust API to connect with your existing CI/CD pipelines and other tools.

Directory Structure

coolify
data
applications
backups
databases
services
ssh
webhooks-during-maintenance
postgres-data
redis-data
.env
docker-compose.yml

docker-compose.yml

services:
  coolify:
    image: ghcr.io/coollabsio/coolify:latest
    pull_policy: always
    restart: always
    working_dir: /var/www/html
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - .env:/var/www/html/.env:ro
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data/applications:/var/www/html/storage/app/applications
      - ./data/backups:/var/www/html/storage/app/backups
      - ./data/databases:/var/www/html/storage/app/databases
      - ./data/services:/var/www/html/storage/app/services
      - ./data/ssh:/var/www/html/storage/app/ssh
      - ./data/webhooks-during-maintenance:/var/www/html/storage/app/webhooks-during-maintenance
    environment:
      - APP_ID=${APP_ID}
      - APP_ENV=production
      - APP_KEY=${APP_KEY}
      - DB_PASSWORD=${DB_PASSWORD}
      - REDIS_PASSWORD=${REDIS_PASSWORD}
      - PUSHER_APP_ID=${PUSHER_APP_ID}
      - PUSHER_APP_KEY=${PUSHER_APP_KEY}
      - PUSHER_APP_SECRET=${PUSHER_APP_SECRET}
    ports:
      - "8000:80"
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy

  postgres:
    image: postgres:15-alpine
    restart: always
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: coolify
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_DB: coolify
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U coolify"]
      interval: 5s
      timeout: 5s
      retries: 5

  redis:
    image: redis:alpine
    restart: always
    command: redis-server --requirepass ${REDIS_PASSWORD}
    volumes:
      - ./redis-data:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 5s
      timeout: 5s
      retries: 5

  soketi:
    image: ghcr.io/coollabsio/coolify-realtime:1.0.0
    restart: always
    ports:
      - "6001:6001"
    environment:
      SOKETI_DEBUG: "false"
      SOKETI_DEFAULT_APP_ID: ${PUSHER_APP_ID}
      SOKETI_DEFAULT_APP_KEY: ${PUSHER_APP_KEY}
      SOKETI_DEFAULT_APP_SECRET: ${PUSHER_APP_SECRET}

.env

APP_ID=coolify-default-id
APP_KEY=base64:your_super_secret_app_key_here_must_be_32_chars=
DB_PASSWORD=your_super_secret_db_password
REDIS_PASSWORD=your_super_secret_redis_password
PUSHER_APP_ID=coolify-pusher-id
PUSHER_APP_KEY=your_super_secret_pusher_key
PUSHER_APP_SECRET=your_super_secret_pusher_secret
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Coolify

Favicon

 

  
  
Favicon

 

  
  
Favicon