# Managed by Ansible — manual changes will be overwritten on next deployment services: coolify: image: "${REGISTRY_URL:-ghcr.io}/coollabsio/coolify:${LATEST_IMAGE:-latest}" volumes: - type: bind source: /data/coolify/source/.env target: /var/www/html/.env read_only: true - /data/coolify/ssh:/var/www/html/storage/app/ssh - /data/coolify/applications:/var/www/html/storage/app/applications - /data/coolify/databases:/var/www/html/storage/app/databases - /data/coolify/services:/var/www/html/storage/app/services - /data/coolify/backups:/var/www/html/storage/app/backups environment: - APP_ENV=${APP_ENV:-production} - PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-128M} - PHP_FPM_PM_CONTROL=${PHP_FPM_PM_CONTROL:-dynamic} - PHP_FPM_PM_START_SERVERS=${PHP_FPM_PM_START_SERVERS:-1} - PHP_FPM_PM_MIN_SPARE_SERVERS=${PHP_FPM_PM_MIN_SPARE_SERVERS:-1} - PHP_FPM_PM_MAX_SPARE_SERVERS=${PHP_FPM_PM_MAX_SPARE_SERVERS:-10} env_file: - /data/coolify/source/.env ports: - name: web target: 8080 published: ${APP_PORT:-8000} host_ip: 127.0.0.1 protocol: tcp app_protocol: http expose: - "${APP_PORT:-8000}" healthcheck: test: curl --fail http://127.0.0.1:8080/api/health || exit 1 interval: 5s retries: 10 timeout: 2s postgres: volumes: - coolify-db:/var/lib/postgresql/data environment: POSTGRES_USER: "${DB_USERNAME}" POSTGRES_PASSWORD: "${DB_PASSWORD}" POSTGRES_DB: "${DB_DATABASE:-coolify}" healthcheck: test: - CMD-SHELL - pg_isready -U ${DB_USERNAME} -d ${DB_DATABASE:-coolify} interval: 5s retries: 10 timeout: 2s redis: command: redis-server --save 20 1 --loglevel warning --requirepass ${REDIS_PASSWORD} environment: REDIS_PASSWORD: "${REDIS_PASSWORD}" volumes: - coolify-redis:/data healthcheck: test: redis-cli ping interval: 5s retries: 10 timeout: 2s # soketi: # image: "${REGISTRY_URL:-ghcr.io}/coollabsio/coolify-realtime:1.0.10" # ports: # - name: soketi # target: 6001 # published: ${SOKETI_PORT:-6001} # host_ip: 127.0.0.1 # protocol: tcp # app_protocol: http # - name: terminal # target: 6002 # published: 6002 # host_ip: 127.0.0.1 # protocol: tcp # app_protocol: http # volumes: # - /data/coolify/ssh:/var/www/html/storage/app/ssh # environment: # APP_NAME: "${APP_NAME:-Coolify}" # SOKETI_DEBUG: "${SOKETI_DEBUG:-false}" # SOKETI_DEFAULT_APP_ID: "${PUSHER_APP_ID}" # SOKETI_DEFAULT_APP_KEY: "${PUSHER_APP_KEY}" # SOKETI_DEFAULT_APP_SECRET: "${PUSHER_APP_SECRET}" # healthcheck: # test: # - CMD-SHELL # - wget -qO- http://127.0.0.1:6001/ready && wget -qO- http://127.0.0.1:6002/ready || exit 1 # interval: 5s # retries: 10 # timeout: 2s volumes: coolify-db: name: coolify-db coolify-redis: name: coolify-redis networks: coolify: external: true