coolify icon indicating copy to clipboard operation
coolify copied to clipboard

[Improvement]: Allow coolify installation via docker compose

Open peaklabs-dev opened this issue 7 months ago • 1 comments

Description

I want to use an imuteable OS called NixOS and for that I need to deploy docker manually and then install coolify via docker compose. For that I need a fully functional docker compose file.

Minimal Reproduction (if possible, example repository)

This is my sample compose. I am not sure if I set up everything correctly and would be greatful for a review of @andrasbacsai to ensure I am doing it right: Docker compose file:

version: '3.8'

services:
  coolify:
    image: coollabsio/coolify:latest
    container_name: coolify
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - coolify_data:/data/coolify
    environment:
      - COOLIFY_APP_ID=${COOLIFY_APP_ID}
      - COOLIFY_SECRET_KEY=${COOLIFY_SECRET_KEY}
      - COOLIFY_DATABASE_URL=postgresql://coolify:${DB_PASSWORD}@db:5432/coolify
      - COOLIFY_REDIS_URL=redis://:${REDIS_PASSWORD}@redis:6379
    ports:
      - "8000:8000"
    depends_on:
      - db
      - redis
    networks:
      - coolify_network

  db:
    image: postgres:14-alpine
    container_name: coolify_db
    restart: unless-stopped
    volumes:
      - coolify_db_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=coolify
      - POSTGRES_PASSWORD=${DB_PASSWORD}
      - POSTGRES_DB=coolify
    networks:
      - coolify_network

  redis:
    image: redis:6-alpine
    container_name: coolify_redis
    restart: unless-stopped
    command: redis-server --requirepass ${REDIS_PASSWORD}
    volumes:
      - coolify_redis_data:/data
    networks:
      - coolify_network

  proxy:
    image: traefik:v2.5
    container_name: coolify_proxy
    restart: unless-stopped
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - coolify_network

volumes:
  coolify_data:
  coolify_db_data:
  coolify_redis_data:

networks:
  coolify_network:
    name: coolify
    external: false

peaklabs-dev avatar Jun 29 '24 20:06 peaklabs-dev