fix: infra files

This commit is contained in:
Andras Bacsai 2024-09-02 09:53:09 +02:00
parent c6df243623
commit 4169d727fd
7 changed files with 82 additions and 43 deletions

View File

@ -1,16 +1,31 @@
APP_NAME=Coolify-localhost # Coolify Configuration
APP_ID=development
APP_ENV=local APP_ENV=local
APP_NAME="Coolify Development"
APP_ID=development
APP_KEY= APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost APP_URL=http://localhost
APP_PORT=8000 APP_PORT=8000
APP_DEBUG=true
MUX_ENABLED=false MUX_ENABLED=false
# Enable Laravel Telescope for debugging
TELESCOPE_ENABLED=false
# Selenium Driver URL for Dusk
DUSK_DRIVER_URL=http://selenium:4444 DUSK_DRIVER_URL=http://selenium:4444
## For Andras only # PostgreSQL Database Configuration
# To purge cache DB_DATABASE=coolify
DB_USERNAME=coolify
DB_PASSWORD=password
DB_HOST=host.docker.internal
DB_PORT=5432
#Set custom ray port
RAY_PORT=
# Special Keys for Andras
# For cache purging
BUNNY_API_KEY= BUNNY_API_KEY=
# To upload assets # For asset uploads
BUNNY_STORAGE_API_KEY= BUNNY_STORAGE_API_KEY=

View File

@ -1,10 +1,16 @@
# Coolify Configuration
APP_ID= APP_ID=
APP_NAME=Coolify APP_NAME=Coolify
APP_KEY= APP_KEY=
# PostgreSQL Database Configuration
DB_USERNAME=coolify
DB_PASSWORD= DB_PASSWORD=
# Redis Configuration
REDIS_PASSWORD= REDIS_PASSWORD=
# Pusher Configuration
PUSHER_APP_ID= PUSHER_APP_ID=
PUSHER_APP_KEY= PUSHER_APP_KEY=
PUSHER_APP_SECRET= PUSHER_APP_SECRET=

View File

@ -13,19 +13,18 @@ services:
- /data/coolify/backups:/var/www/html/storage/app/backups - /data/coolify/backups:/var/www/html/storage/app/backups
- /data/coolify/webhooks-during-maintenance:/var/www/html/storage/app/webhooks-during-maintenance - /data/coolify/webhooks-during-maintenance:/var/www/html/storage/app/webhooks-during-maintenance
environment: environment:
- PHP_MEMORY_LIMIT
- APP_ID
- APP_ENV=production - APP_ENV=production
- APP_DEBUG
- APP_NAME - APP_NAME
- APP_ID
- APP_KEY - APP_KEY
- APP_URL - APP_URL
- DB_CONNECTION - APP_DEBUG
- DB_HOST
- DB_PORT
- DB_DATABASE - DB_DATABASE
- DB_USERNAME - DB_USERNAME
- DB_PASSWORD - DB_PASSWORD
- DB_HOST
- DB_PORT
- DB_CONNECTION
- QUEUE_CONNECTION - QUEUE_CONNECTION
- REDIS_HOST - REDIS_HOST
- REDIS_PASSWORD - REDIS_PASSWORD
@ -34,6 +33,7 @@ services:
- HORIZON_BALANCE_MAX_SHIFT - HORIZON_BALANCE_MAX_SHIFT
- HORIZON_BALANCE_COOLDOWN - HORIZON_BALANCE_COOLDOWN
- SSL_MODE=off - SSL_MODE=off
- PHP_MEMORY_LIMIT
- PHP_PM_CONTROL=dynamic - PHP_PM_CONTROL=dynamic
- PHP_PM_START_SERVERS=1 - PHP_PM_START_SERVERS=1
- PHP_PM_MIN_SPARE_SERVERS=1 - PHP_PM_MIN_SPARE_SERVERS=1
@ -83,21 +83,17 @@ services:
condition: service_healthy condition: service_healthy
redis: redis:
condition: service_healthy condition: service_healthy
soketi:
condition: service_healthy
postgres: postgres:
volumes: volumes:
- coolify-db:/var/lib/postgresql/data - coolify-db:/var/lib/postgresql/data
environment: environment:
POSTGRES_USER: "${DB_USERNAME:-coolify}" POSTGRES_USER: "${DB_USERNAME}"
POSTGRES_PASSWORD: "${DB_PASSWORD}" POSTGRES_PASSWORD: "${DB_PASSWORD}"
POSTGRES_DB: "${DB_DATABASE:-coolify}" POSTGRES_DB: "${DB_DATABASE:-coolify}"
healthcheck: healthcheck:
test: test: [ "CMD-SHELL", "pg_isready -U ${DB_USERNAME}", "-d", "${DB_DATABASE:-coolify}" ]
[
"CMD-SHELL",
"pg_isready -U ${DB_USERNAME:-coolify}",
"-d",
"${DB_DATABASE:-coolify}"
]
interval: 5s interval: 5s
retries: 10 retries: 10
timeout: 2s timeout: 2s
@ -130,3 +126,7 @@ volumes:
name: coolify-db name: coolify-db
coolify-redis: coolify-redis:
name: coolify-redis name: coolify-redis
networks:
coolify:
external: true

View File

@ -71,14 +71,14 @@ services:
volumes: volumes:
- coolify-db:/var/lib/postgresql/data - coolify-db:/var/lib/postgresql/data
environment: environment:
POSTGRES_USER: "${DB_USERNAME:-coolify}" POSTGRES_USER: "${DB_USERNAME}"
POSTGRES_PASSWORD: "${DB_PASSWORD}" POSTGRES_PASSWORD: "${DB_PASSWORD}"
POSTGRES_DB: "${DB_DATABASE:-coolify}" POSTGRES_DB: "${DB_DATABASE:-coolify}"
healthcheck: healthcheck:
test: test:
[ [
"CMD-SHELL", "CMD-SHELL",
"pg_isready -U ${DB_USERNAME:-coolify}", "pg_isready -U ${DB_USERNAME}",
"-d", "-d",
"${DB_DATABASE:-coolify}" "${DB_DATABASE:-coolify}"
] ]

View File

@ -10,6 +10,7 @@ services:
depends_on: depends_on:
- postgres - postgres
- redis - redis
- soketi
postgres: postgres:
image: postgres:15-alpine image: postgres:15-alpine
container_name: coolify-db container_name: coolify-db
@ -32,4 +33,4 @@ networks:
coolify: coolify:
name: coolify name: coolify
driver: bridge driver: bridge
external: true external: false

View File

@ -6,11 +6,12 @@ set -e # Exit immediately if a command exits with a non-zero status
#set -u # Treat unset variables as an error and exit #set -u # Treat unset variables as an error and exit
set -o pipefail # Cause a pipeline to return the status of the last command that exited with a non-zero status set -o pipefail # Cause a pipeline to return the status of the last command that exited with a non-zero status
VERSION="1.3.3" VERSION="1.3.4"
DOCKER_VERSION="26.0" DOCKER_VERSION="26.0"
CDN="https://cdn.coollabs.io/coolify" CDN="https://cdn.coollabs.io/coolify-nightly"
OS_TYPE=$(grep -w "ID" /etc/os-release | cut -d "=" -f 2 | tr -d '"') OS_TYPE=$(grep -w "ID" /etc/os-release | cut -d "=" -f 2 | tr -d '"')
ENV_FILE="/data/coolify/source/.env"
# Check if the OS is manjaro, if so, change it to arch # Check if the OS is manjaro, if so, change it to arch
if [ "$OS_TYPE" = "manjaro" ] || [ "$OS_TYPE" = "manjaro-arm" ]; then if [ "$OS_TYPE" = "manjaro" ] || [ "$OS_TYPE" = "manjaro-arm" ]; then
@ -69,7 +70,7 @@ fi
echo -e "-------------" echo -e "-------------"
echo -e "Welcome to Coolify v4 beta installer!" echo -e "Welcome to Coolify v4 beta installer!"
echo -e "This script will install everything for you." echo -e "This script will install everything for you."
echo -e "(Source code: https://github.com/coollabsio/coolify/blob/main/scripts/install.sh )\n" echo -e "Source code: https://github.com/coollabsio/coolify/blob/main/scripts/install.sh\n"
echo -e "-------------" echo -e "-------------"
echo "OS: $OS_TYPE $OS_VERSION" echo "OS: $OS_TYPE $OS_VERSION"
@ -83,8 +84,8 @@ arch)
pacman -Sy --noconfirm --needed curl wget git jq >/dev/null || true pacman -Sy --noconfirm --needed curl wget git jq >/dev/null || true
;; ;;
ubuntu | debian | raspbian) ubuntu | debian | raspbian)
apt update -y >/dev/null apt-get update -y >/dev/null
apt install -y curl wget git jq >/dev/null apt-get install -y curl wget git jq >/dev/null
;; ;;
centos | fedora | rhel | ol | rocky | almalinux | amzn) centos | fedora | rhel | ol | rocky | almalinux | amzn)
if [ "$OS_TYPE" = "amzn" ]; then if [ "$OS_TYPE" = "amzn" ]; then
@ -93,7 +94,10 @@ centos | fedora | rhel | ol | rocky | almalinux | amzn)
if ! command -v dnf >/dev/null; then if ! command -v dnf >/dev/null; then
yum install -y dnf >/dev/null yum install -y dnf >/dev/null
fi fi
dnf install -y curl wget git jq >/dev/null if ! command -v curl >/dev/null; then
dnf install -y curl >/dev/null
fi
dnf install -y wget git jq >/dev/null
fi fi
;; ;;
sles | opensuse-leap | opensuse-tumbleweed) sles | opensuse-leap | opensuse-tumbleweed)
@ -285,15 +289,24 @@ curl -fsSL $CDN/.env.production -o /data/coolify/source/.env.production
curl -fsSL $CDN/upgrade.sh -o /data/coolify/source/upgrade.sh curl -fsSL $CDN/upgrade.sh -o /data/coolify/source/upgrade.sh
# Copy .env.example if .env does not exist # Copy .env.example if .env does not exist
if [ ! -f /data/coolify/source/.env ]; then if [ ! -f $ENV_FILE ]; then
cp /data/coolify/source/.env.production /data/coolify/source/.env cp /data/coolify/source/.env.production $ENV_FILE
sed -i "s|APP_ID=.*|APP_ID=$(openssl rand -hex 16)|g" /data/coolify/source/.env # Generate a secure APP_ID and APP_KEY
sed -i "s|APP_KEY=.*|APP_KEY=base64:$(openssl rand -base64 32)|g" /data/coolify/source/.env sed -i "s|^APP_ID=.*|APP_ID=$(openssl rand -hex 16)|" "$ENV_FILE"
sed -i "s|DB_PASSWORD=.*|DB_PASSWORD=$(openssl rand -base64 32)|g" /data/coolify/source/.env sed -i "s|^APP_KEY=.*|APP_KEY=base64:$(openssl rand -base64 32)|" "$ENV_FILE"
sed -i "s|REDIS_PASSWORD=.*|REDIS_PASSWORD=$(openssl rand -base64 32)|g" /data/coolify/source/.env
sed -i "s|PUSHER_APP_ID=.*|PUSHER_APP_ID=$(openssl rand -hex 32)|g" /data/coolify/source/.env # Generate a secure Postgres DB username and password
sed -i "s|PUSHER_APP_KEY=.*|PUSHER_APP_KEY=$(openssl rand -hex 32)|g" /data/coolify/source/.env # Causes issues: database "random-user" does not exist
sed -i "s|PUSHER_APP_SECRET=.*|PUSHER_APP_SECRET=$(openssl rand -hex 32)|g" /data/coolify/source/.env # sed -i "s|^DB_USERNAME=.*|DB_USERNAME=$(openssl rand -hex 16)|" "$ENV_FILE"
sed -i "s|^DB_PASSWORD=.*|DB_PASSWORD=$(openssl rand -base64 32)|" "$ENV_FILE"
# Generate a secure Redis password
sed -i "s|^REDIS_PASSWORD=.*|REDIS_PASSWORD=$(openssl rand -base64 32)|" "$ENV_FILE"
# Generate secure Pusher credentials
sed -i "s|^PUSHER_APP_ID=.*|PUSHER_APP_ID=$(openssl rand -hex 32)|" "$ENV_FILE"
sed -i "s|^PUSHER_APP_KEY=.*|PUSHER_APP_KEY=$(openssl rand -hex 32)|" "$ENV_FILE"
sed -i "s|^PUSHER_APP_SECRET=.*|PUSHER_APP_SECRET=$(openssl rand -hex 32)|" "$ENV_FILE"
fi fi
# Merge .env and .env.production. New values will be added to .env # Merge .env and .env.production. New values will be added to .env
@ -331,5 +344,8 @@ fi
bash /data/coolify/source/upgrade.sh "${LATEST_VERSION:-latest}" bash /data/coolify/source/upgrade.sh "${LATEST_VERSION:-latest}"
echo -e "\nCongratulations! Your Coolify instance is ready to use.\n" echo "Waiting for 20 seconds for Coolify to be ready..."
sleep 20
echo "Please visit http://$(curl -4s https://ifconfig.io):8000 to get started." echo "Please visit http://$(curl -4s https://ifconfig.io):8000 to get started."
echo -e "\nCongratulations! Your Coolify instance is ready to use.\n"

View File

@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
## Do not modify this file. You will lose the ability to autoupdate! ## Do not modify this file. You will lose the ability to autoupdate!
VERSION="1.0.5" VERSION="1.0.6"
CDN="https://cdn.coollabs.io/coolify" CDN="https://cdn.coollabs.io/coolify-nightly"
curl -fsSL $CDN/docker-compose.yml -o /data/coolify/source/docker-compose.yml curl -fsSL $CDN/docker-compose.yml -o /data/coolify/source/docker-compose.yml
curl -fsSL $CDN/docker-compose.prod.yml -o /data/coolify/source/docker-compose.prod.yml curl -fsSL $CDN/docker-compose.prod.yml -o /data/coolify/source/docker-compose.prod.yml
@ -25,12 +25,13 @@ if grep -q "PUSHER_APP_SECRET=$" /data/coolify/source/.env; then
fi fi
# Make sure coolify network exists # Make sure coolify network exists
# It is created when starting Coolify with docker compose
docker network create --attachable coolify 2>/dev/null docker network create --attachable coolify 2>/dev/null
# docker network create --attachable --driver=overlay coolify-overlay 2>/dev/null # docker network create --attachable --driver=overlay coolify-overlay 2>/dev/null
if [ -f /data/coolify/source/docker-compose.custom.yml ]; then if [ -f /data/coolify/source/docker-compose.custom.yml ]; then
echo "docker-compose.custom.yml detected." echo "docker-compose.custom.yml detected."
docker run -v /data/coolify/source:/data/coolify/source -v /var/run/docker.sock:/var/run/docker.sock --rm ghcr.io/coollabsio/coolify-helper bash -c "LATEST_IMAGE=${1:-} docker compose --env-file /data/coolify/source/.env -f /data/coolify/source/docker-compose.yml -f /data/coolify/source/docker-compose.prod.yml -f /data/coolify/source/docker-compose.custom.yml up -d --remove-orphans --force-recreate" docker run -v /data/coolify/source:/data/coolify/source -v /var/run/docker.sock:/var/run/docker.sock --rm ghcr.io/coollabsio/coolify-helper bash -c "LATEST_IMAGE=${1:-} docker compose --env-file /data/coolify/source/.env -f /data/coolify/source/docker-compose.yml -f /data/coolify/source/docker-compose.prod.yml -f /data/coolify/source/docker-compose.custom.yml up -d --remove-orphans --force-recreate --wait --wait-timeout 60"
else else
docker run -v /data/coolify/source:/data/coolify/source -v /var/run/docker.sock:/var/run/docker.sock --rm ghcr.io/coollabsio/coolify-helper bash -c "LATEST_IMAGE=${1:-} docker compose --env-file /data/coolify/source/.env -f /data/coolify/source/docker-compose.yml -f /data/coolify/source/docker-compose.prod.yml up -d --remove-orphans --force-recreate" docker run -v /data/coolify/source:/data/coolify/source -v /var/run/docker.sock:/var/run/docker.sock --rm ghcr.io/coollabsio/coolify-helper bash -c "LATEST_IMAGE=${1:-} docker compose --env-file /data/coolify/source/.env -f /data/coolify/source/docker-compose.yml -f /data/coolify/source/docker-compose.prod.yml up -d --remove-orphans --force-recreate --wait --wait-timeout 60"
fi fi