coolify
coolify copied to clipboard
[Improvement]: Allow coolify installation via docker compose
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