coolify/rootfs/usr/local/bin/coolify-setup
casjay 7bc059c3dc
🗃️ Committing everything that changed 🗃️
rootfs/root/docker/setup/01-system.sh
rootfs/root/docker/setup/02-packages.sh
rootfs/usr/local/bin/coolify-setup
2024-09-17 15:38:24 -04:00

79 lines
3.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
##@Version : 202409171124-git
# @@Author : CasjaysDev
# @@Contact : CasjaysDev <docker-admin@casjaysdev.pro>
# @@License : MIT
# @@ReadME :
# @@Copyright : Copyright 2023 CasjaysDev
# @@Created : Mon Aug 28 06:48:42 PM EDT 2023
# @@File : init.sh
# @@Description : script to initialize coolify
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# shellcheck shell=bash
# shellcheck disable=SC2016
# shellcheck disable=SC2031
# shellcheck disable=SC2120
# shellcheck disable=SC2155
# shellcheck disable=SC2199
# shellcheck disable=SC2317
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set bash options
set -o pipefail
[ "$DEBUGGER" = "on" ] && echo "Enabling debugging" && set -x$DEBUGGER_OPTIONS
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set env variables
exitCode=0
[ -f "/data/.installed" ] || COOLIFY_INIT=yes
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Predifined actions
if [ "$COOLIFY_INIT" = "yes" ]; then
if [ ! -f "/data/coolify/source/.env" ]; then
[ -d "/data/coolify/source" ] || mkdir -p /data/coolify/source
cat <<HERE >"/data/coolify/source/.env"
APP_NAME=\${APP_NAME:-Coolify}
APP_ID=\${APP_ID:-$(openssl rand -hex 16)}
APP_KEY=base64:\${APP_KEY:-$(openssl rand -base64 32)}
AUTOUPDATE=\${AUTOUPDATE:-false}
# PostgreSQL Database Configuration
DB_USERNAME=\${DB_USERNAME:-coolify}
DB_PASSWORD=\${DB_PASSWORD:-$(openssl rand -base64 32)}
# Redis Configuration
REDIS_PASSWORD=\${REDIS_PASSWORD:-$(openssl rand -base64 32)}
# Pusher Configuration
PUSHER_APP_ID=\${PUSHER_APP_ID:-$(openssl rand -hex 32)}
PUSHER_APP_KEY=\${PUSHER_APP_KEY:-$(openssl rand -hex 32)}
PUSHER_APP_SECRET=\${PUSHER_APP_SECRET:-$(openssl rand -hex 32)}
HERE
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
mkdir -p /data/coolify/proxy/dynamic
mkdir -p /data/coolify/ssh/{keys,mux}
mkdir -p /data/coolify/{source,ssh,applications,databases,backups,services,proxy,webhooks-during-maintenance}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ -d "$HOME/.ssh" ] || mkdir -p "$HOME/.ssh"
[ -f "$HOME/.ssh/authorized_keys" ] || touch "$HOME/.ssh/authorized_keys"
[ -f "/data/coolify/ssh/keys/id.root@host.docker.internal" ] || ssh-keygen -f /data/coolify/ssh/keys/id.root@host.docker.internal -t ed25519 -N '' -C root@coolify
SSH_PUB_KEY="$(<"cat /data/coolify/ssh/keys/id.root@host.docker.internal.pub")"
if ! grep -q "$SSH_PUB_KEY" "$HOME/.ssh/authorized_keys"; then
cat /data/coolify/ssh/keys/id.root@host.docker.internal.pub >>"$HOME/.ssh/authorized_keys"
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
chmod 700 "$HOME/.ssh"
chmod 600 "$HOME/.ssh/authorized_keys"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
exitCode=$?
[ $exitCode -eq 0 ] && echo "$(date)" >"/data/.installed"
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Main script
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set the exit code
exit $exitCode