coolify/docker-compose.prod.yml

142 lines
4.0 KiB
YAML
Raw Normal View History

2023-04-12 21:23:32 +02:00
version: '3.8'
services:
coolify:
2024-01-26 11:34:18 +01:00
image: "ghcr.io/coollabsio/coolify:${LATEST_IMAGE:latest}"
2023-04-27 12:09:41 +02:00
volumes:
2023-04-28 11:00:21 +02:00
- type: bind
source: /data/coolify/source/.env
target: /var/www/html/.env
read_only: true
2023-05-25 12:55:34 +02:00
- /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
2023-04-12 21:23:32 +02:00
environment:
2023-07-14 14:19:31 +02:00
- APP_ID
2023-04-13 15:48:27 +02: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 09:44:04 +02:00
- REDIS_HOST
2023-05-10 09:39:38 +02:00
- REDIS_PASSWORD
2023-10-18 15:49:50 +02:00
- HORIZON_MAX_PROCESSES
- HORIZON_BALANCE_MAX_SHIFT
- HORIZON_BALANCE_COOLDOWN
2023-05-26 11:31:46 +02:00
- SSL_MODE=off
2023-05-09 15:45:24 +02:00
- PHP_PM_CONTROL=dynamic
2023-06-30 10:49:00 +02:00
- PHP_PM_START_SERVERS=1
- PHP_PM_MIN_SPARE_SERVERS=1
2023-05-09 21:32:43 +02:00
- PHP_PM_MAX_SPARE_SERVERS=10
2023-12-05 13:56:11 +01:00
- PUSHER_HOST
2023-12-06 14:22:19 +01:00
- PUSHER_BACKEND_HOST
2023-12-05 13:56:11 +01:00
- PUSHER_PORT
2023-12-06 14:22:19 +01:00
- PUSHER_BACKEND_PORT
2023-12-05 13:56:11 +01:00
- PUSHER_SCHEME
- PUSHER_APP_ID
- PUSHER_APP_KEY
- PUSHER_APP_SECRET
2023-12-11 20:40:05 +01:00
- AUTOUPDATE
2023-07-14 13:58:05 +02:00
- SELF_HOSTED
2023-08-15 16:05:31 +02:00
- WAITLIST
2023-08-24 17:08:32 +02: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
- STRIPE_EXCLUDED_PLANS
2023-08-24 17:08:32 +02: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 16:22:49 +02:00
- LEMON_SQUEEZY_API_KEY
2023-07-14 13:58:05 +02:00
- LEMON_SQUEEZY_WEBHOOK_SECRET
2023-08-24 17:08:32 +02: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 15:22:29 +02:00
- LEMON_SQUEEZY_BASIC_PLAN_IDS
- LEMON_SQUEEZY_PRO_PLAN_IDS
- LEMON_SQUEEZY_ULTIMATE_PLAN_IDS
2023-04-13 15:48:27 +02:00
ports:
- "${APP_PORT:-8000}:80"
2023-04-28 11:06:55 +02:00
expose:
- "${APP_PORT:-8000}"
healthcheck:
test: curl --fail http://localhost:80/api/health || exit 1
2023-12-05 15:15:01 +01:00
interval: 5s
retries: 10
2023-04-28 11:06:55 +02:00
timeout: 2s
2023-04-13 15:48:27 +02:00
depends_on:
postgres:
condition: service_healthy
2023-06-15 11:12:42 +02:00
redis:
condition: service_healthy
2023-04-12 21:23:32 +02:00
postgres:
2023-04-13 15:48:27 +02:00
volumes:
2023-04-27 15:16:24 +02:00
- coolify-db:/var/lib/postgresql/data
2023-04-12 21:23:32 +02:00
environment:
2023-06-12 17:49:11 +02:00
POSTGRES_USER: "${DB_USERNAME:-coolify}"
2023-04-12 21:23:32 +02:00
POSTGRES_PASSWORD: "${DB_PASSWORD}"
2023-06-12 17:49:11 +02:00
POSTGRES_DB: "${DB_DATABASE:-coolify}"
2023-12-05 14:56:00 +01:00
healthcheck:
2023-04-13 15:48:27 +02:00
test:
[
"CMD-SHELL",
2023-06-12 17:49:11 +02:00
"pg_isready -U ${DB_USERNAME:-coolify}",
2023-04-13 15:48:27 +02:00
"-d",
2023-06-12 17:49:11 +02:00
"${DB_DATABASE:-coolify}"
2023-04-13 15:48:27 +02:00
]
2023-12-05 15:15:01 +01:00
interval: 5s
retries: 10
2023-04-13 15:48:27 +02:00
timeout: 2s
2023-05-10 09:26:25 +02: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 15:15:01 +01:00
interval: 5s
retries: 10
2023-05-10 09:26:25 +02:00
timeout: 2s
2023-12-05 13:56:11 +01:00
soketi:
2023-12-05 15:09:46 +01:00
ports:
- "${SOKETI_PORT:-6001}:6001"
2023-12-05 13:56:11 +01: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 15:15:01 +01:00
healthcheck:
test: wget -qO- http://localhost:6001/ready || exit 1
interval: 5s
retries: 10
timeout: 2s
2023-04-27 15:16:24 +02:00
volumes:
coolify-db:
name: coolify-db
2023-05-10 09:26:25 +02:00
coolify-redis:
name: coolify-redis