mirror of
https://github.com/casjaysdevdocker/coolify
synced 2025-01-18 12:34:39 -05:00
7bc059c3dc
rootfs/root/docker/setup/01-system.sh rootfs/root/docker/setup/02-packages.sh rootfs/usr/local/bin/coolify-setup
79 lines
3.3 KiB
Bash
Executable File
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
|