2023-04-12 19:23:32 +00:00
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
|
|
coolify:
|
2024-01-12 20:26:51 +00:00
|
|
|
image: "ghcr.io/coollabsio/coolify:${LATEST_IMAGE:-4.0.0-beta.190}"
|
2023-04-27 10:09:41 +00:00
|
|
|
volumes:
|
2023-04-28 09:00:21 +00:00
|
|
|
- type: bind
|
|
|
|
source: /data/coolify/source/.env
|
|
|
|
target: /var/www/html/.env
|
|
|
|
read_only: true
|
2023-05-25 10:55:34 +00:00
|
|
|
- /data/coolify/ssh:/var/www/html/storage/app/ssh
|
2023-08-09 12:44:36 +00:00
|
|
|
- /data/coolify/applications:/var/www/html/storage/app/applications
|
|
|
|
- /data/coolify/databases:/var/www/html/storage/app/databases
|
2024-01-12 20:26:51 +00:00
|
|
|
- /data/coolify/services:/var/www/html/storage/app/services
|
2023-08-09 12:44:36 +00:00
|
|
|
- /data/coolify/backups:/var/www/html/storage/app/backups
|
2023-04-12 19:23:32 +00:00
|
|
|
environment:
|
2023-07-14 12:19:31 +00:00
|
|
|
- APP_ID
|
2023-04-13 13:48:27 +00:00
|
|
|
- APP_ENV=production
|
|
|
|
- APP_DEBUG
|
|
|
|
- APP_NAME
|
|
|
|
- APP_KEY
|
|
|
|
- APP_URL
|
|
|
|
- DB_CONNECTION
|
|
|
|
- DB_HOST
|
|
|
|
- DB_PORT
|
|
|
|
- DB_DATABASE
|
|
|
|
- DB_USERNAME
|
|
|
|
- DB_PASSWORD
|
|
|
|
- QUEUE_CONNECTION
|
2023-05-10 07:44:04 +00:00
|
|
|
- REDIS_HOST
|
2023-05-10 07:39:38 +00:00
|
|
|
- REDIS_PASSWORD
|
2023-10-18 13:49:50 +00:00
|
|
|
- HORIZON_MAX_PROCESSES
|
2023-11-24 09:12:37 +00:00
|
|
|
- HORIZON_BALANCE_MAX_SHIFT
|
|
|
|
- HORIZON_BALANCE_COOLDOWN
|
2023-05-26 09:31:46 +00:00
|
|
|
- SSL_MODE=off
|
2023-05-09 13:45:24 +00:00
|
|
|
- PHP_PM_CONTROL=dynamic
|
2023-06-30 08:49:00 +00:00
|
|
|
- PHP_PM_START_SERVERS=1
|
|
|
|
- PHP_PM_MIN_SPARE_SERVERS=1
|
2023-05-09 19:32:43 +00:00
|
|
|
- PHP_PM_MAX_SPARE_SERVERS=10
|
2023-12-05 12:56:11 +00:00
|
|
|
- PUSHER_HOST
|
2023-12-06 13:22:19 +00:00
|
|
|
- PUSHER_BACKEND_HOST
|
2023-12-05 12:56:11 +00:00
|
|
|
- PUSHER_PORT
|
2023-12-06 13:22:19 +00:00
|
|
|
- PUSHER_BACKEND_PORT
|
2023-12-05 12:56:11 +00:00
|
|
|
- PUSHER_SCHEME
|
|
|
|
- PUSHER_APP_ID
|
|
|
|
- PUSHER_APP_KEY
|
|
|
|
- PUSHER_APP_SECRET
|
2023-12-11 19:40:05 +00:00
|
|
|
- AUTOUPDATE
|
2023-07-14 11:58:05 +00:00
|
|
|
- SELF_HOSTED
|
2023-08-15 14:05:31 +00:00
|
|
|
- WAITLIST
|
2023-08-24 15:08:32 +00:00
|
|
|
- SUBSCRIPTION_PROVIDER
|
|
|
|
- STRIPE_API_KEY
|
|
|
|
- STRIPE_WEBHOOK_SECRET
|
|
|
|
- STRIPE_PRICE_ID_BASIC_MONTHLY
|
|
|
|
- STRIPE_PRICE_ID_BASIC_YEARLY
|
|
|
|
- STRIPE_PRICE_ID_PRO_MONTHLY
|
|
|
|
- STRIPE_PRICE_ID_PRO_YEARLY
|
|
|
|
- STRIPE_PRICE_ID_ULTIMATE_MONTHLY
|
|
|
|
- STRIPE_PRICE_ID_ULTIMATE_YEARLY
|
2023-11-13 07:46:17 +00:00
|
|
|
- STRIPE_EXCLUDED_PLANS
|
2023-08-24 15:08:32 +00:00
|
|
|
- PADDLE_VENDOR_ID
|
|
|
|
- PADDLE_WEBHOOK_SECRET
|
|
|
|
- PADDLE_VENDOR_AUTH_CODE
|
|
|
|
- PADDLE_PUBLIC_KEY
|
|
|
|
- PADDLE_PRICE_ID_BASIC_MONTHLY
|
|
|
|
- PADDLE_PRICE_ID_BASIC_YEARLY
|
|
|
|
- PADDLE_PRICE_ID_PRO_MONTHLY
|
|
|
|
- PADDLE_PRICE_ID_PRO_YEARLY
|
|
|
|
- PADDLE_PRICE_ID_ULTIMATE_MONTHLY
|
|
|
|
- PADDLE_PRICE_ID_ULTIMATE_YEARLY
|
2023-08-17 14:22:49 +00:00
|
|
|
- LEMON_SQUEEZY_API_KEY
|
2023-07-14 11:58:05 +00:00
|
|
|
- LEMON_SQUEEZY_WEBHOOK_SECRET
|
2023-08-24 15:08:32 +00:00
|
|
|
- LEMON_SQUEEZY_CHECKOUT_ID_BASIC_MONTHLY
|
|
|
|
- LEMON_SQUEEZY_CHECKOUT_ID_BASIC_YEARLY
|
|
|
|
- LEMON_SQUEEZY_CHECKOUT_ID_PRO_MONTHLY
|
|
|
|
- LEMON_SQUEEZY_CHECKOUT_ID_PRO_YEARLY
|
|
|
|
- LEMON_SQUEEZY_CHECKOUT_ID_ULTIMATE_MONTHLY
|
|
|
|
- LEMON_SQUEEZY_CHECKOUT_ID_ULTIMATE_YEARLY
|
2023-08-14 13:22:29 +00:00
|
|
|
- LEMON_SQUEEZY_BASIC_PLAN_IDS
|
|
|
|
- LEMON_SQUEEZY_PRO_PLAN_IDS
|
|
|
|
- LEMON_SQUEEZY_ULTIMATE_PLAN_IDS
|
2023-04-13 13:48:27 +00:00
|
|
|
ports:
|
|
|
|
- "${APP_PORT:-8000}:80"
|
2023-04-28 09:06:55 +00:00
|
|
|
expose:
|
|
|
|
- "${APP_PORT:-8000}"
|
|
|
|
healthcheck:
|
|
|
|
test: curl --fail http://localhost:80/api/health || exit 1
|
2023-12-05 14:15:01 +00:00
|
|
|
interval: 5s
|
|
|
|
retries: 10
|
2023-04-28 09:06:55 +00:00
|
|
|
timeout: 2s
|
2023-04-13 13:48:27 +00:00
|
|
|
depends_on:
|
|
|
|
postgres:
|
|
|
|
condition: service_healthy
|
2023-06-15 09:12:42 +00:00
|
|
|
redis:
|
|
|
|
condition: service_healthy
|
2023-04-12 19:23:32 +00:00
|
|
|
postgres:
|
2023-04-13 13:48:27 +00:00
|
|
|
volumes:
|
2023-04-27 13:16:24 +00:00
|
|
|
- coolify-db:/var/lib/postgresql/data
|
2023-04-12 19:23:32 +00:00
|
|
|
environment:
|
2023-06-12 15:49:11 +00:00
|
|
|
POSTGRES_USER: "${DB_USERNAME:-coolify}"
|
2023-04-12 19:23:32 +00:00
|
|
|
POSTGRES_PASSWORD: "${DB_PASSWORD}"
|
2023-06-12 15:49:11 +00:00
|
|
|
POSTGRES_DB: "${DB_DATABASE:-coolify}"
|
2023-12-05 13:56:00 +00:00
|
|
|
healthcheck:
|
2023-04-13 13:48:27 +00:00
|
|
|
test:
|
|
|
|
[
|
|
|
|
"CMD-SHELL",
|
2023-06-12 15:49:11 +00:00
|
|
|
"pg_isready -U ${DB_USERNAME:-coolify}",
|
2023-04-13 13:48:27 +00:00
|
|
|
"-d",
|
2023-06-12 15:49:11 +00:00
|
|
|
"${DB_DATABASE:-coolify}"
|
2023-04-13 13:48:27 +00:00
|
|
|
]
|
2023-12-05 14:15:01 +00:00
|
|
|
interval: 5s
|
|
|
|
retries: 10
|
2023-04-13 13:48:27 +00:00
|
|
|
timeout: 2s
|
2023-05-10 07:26:25 +00:00
|
|
|
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
|
2023-12-05 14:15:01 +00:00
|
|
|
interval: 5s
|
|
|
|
retries: 10
|
2023-05-10 07:26:25 +00:00
|
|
|
timeout: 2s
|
2023-12-05 12:56:11 +00:00
|
|
|
soketi:
|
2023-12-05 14:09:46 +00:00
|
|
|
ports:
|
|
|
|
- "${SOKETI_PORT:-6001}:6001"
|
2023-12-05 12:56:11 +00:00
|
|
|
environment:
|
|
|
|
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}"
|
2023-12-05 14:15:01 +00:00
|
|
|
healthcheck:
|
|
|
|
test: wget -qO- http://localhost:6001/ready || exit 1
|
|
|
|
interval: 5s
|
|
|
|
retries: 10
|
|
|
|
timeout: 2s
|
2023-04-27 13:16:24 +00:00
|
|
|
volumes:
|
|
|
|
coolify-db:
|
|
|
|
name: coolify-db
|
2023-05-10 07:26:25 +00:00
|
|
|
coolify-redis:
|
|
|
|
name: coolify-redis
|