feat: make initializing pages first for all apps

This commit is contained in:
lolwierd
2026-03-30 16:55:35 +05:30
parent 471c36fa91
commit 52982ca9e7
15 changed files with 66 additions and 18 deletions

View File

@@ -16,6 +16,14 @@
SCRIPT_DIR_CADDY="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
reload_or_start_caddy() {
if systemctl is-active --quiet caddy; then
systemctl reload caddy
else
systemctl enable --now caddy
fi
}
write_loading_pages() {
local app_name="$1"
local app_dir="$2"
@@ -48,8 +56,7 @@ https://${domain} {
}
EOF
systemctl enable caddy
systemctl reload caddy
reload_or_start_caddy
echo "Caddy serving initializing page for ${app_name}"
}
@@ -89,7 +96,7 @@ EOF
fi
touch "${app_dir}/.excloud/.ready"
systemctl reload caddy
reload_or_start_caddy
echo "App is ready — Caddy switched to reverse proxy"
}
@@ -119,7 +126,7 @@ https://${domain} {
EOF
fi
systemctl reload caddy
reload_or_start_caddy
echo "Domain switched to ${domain}"
}

View File

@@ -17,11 +17,16 @@ if [ -z "${DOMAIN}" ]; then
fi
ERPNEXT_DIR="${APP_DIR}/${APP_NAME}"
BOOTSTRAP_DIR="${APP_DIR}/.${APP_NAME}-bootstrap"
STATE_DIR="${ERPNEXT_DIR}/.excloud"
COMPOSE_FILE="${ERPNEXT_DIR}/pwd.yml"
ADMIN_PASSWORD_FILE="${STATE_DIR}/admin-password"
apt-get install -y caddy git openssl
mkdir -p "${BOOTSTRAP_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$BOOTSTRAP_DIR"
apt-get install -y git openssl
if git -C "${ERPNEXT_DIR}" rev-parse 2>/dev/null; then
echo "Git repo exists"

View File

@@ -18,8 +18,13 @@ if [ -z "${DOMAIN}" ]; then
fi
GHOST_DIR="${APP_DIR}/${APP_NAME}"
BOOTSTRAP_DIR="${APP_DIR}/.${APP_NAME}-bootstrap"
apt-get install -y caddy git openssl
mkdir -p "${BOOTSTRAP_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$BOOTSTRAP_DIR"
apt-get install -y git openssl
if [ ! -d "${GHOST_DIR}/.git" ]; then
git clone "${REPO_URL}" "${GHOST_DIR}"

View File

@@ -19,8 +19,9 @@ fi
GITEA_DIR="${APP_DIR}/${APP_NAME}"
COMPOSE_FILE="${GITEA_DIR}/docker-compose.yml"
apt-get install -y caddy
mkdir -p "${GITEA_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$GITEA_DIR"
cat > "${COMPOSE_FILE}" <<EOF
services:

View File

@@ -19,8 +19,10 @@ fi
JELLYFIN_DIR="${APP_DIR}/${APP_NAME}"
COMPOSE_FILE="${JELLYFIN_DIR}/docker-compose.yml"
apt-get install -y caddy
mkdir -p "${JELLYFIN_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$JELLYFIN_DIR"
mkdir -p /srv/media/movies /srv/media/shows /srv/media/music
cat > "${COMPOSE_FILE}" <<EOF

View File

@@ -19,8 +19,9 @@ fi
METABASE_DIR="${APP_DIR}/${APP_NAME}"
COMPOSE_FILE="${METABASE_DIR}/docker-compose.yml"
apt-get install -y caddy
mkdir -p "${METABASE_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$METABASE_DIR"
cat > "${COMPOSE_FILE}" <<EOF
services:

View File

@@ -19,8 +19,9 @@ fi
N8N_DIR="${APP_DIR}/${APP_NAME}"
COMPOSE_FILE="${N8N_DIR}/docker-compose.yml"
apt-get install -y caddy
mkdir -p "${N8N_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$N8N_DIR"
cat > "${COMPOSE_FILE}" <<EOF
services:

View File

@@ -19,8 +19,9 @@ fi
NOCODB_DIR="${APP_DIR}/${APP_NAME}"
COMPOSE_FILE="${NOCODB_DIR}/docker-compose.yml"
apt-get install -y caddy
mkdir -p "${NOCODB_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$NOCODB_DIR"
cat > "${COMPOSE_FILE}" <<EOF
services:

View File

@@ -19,8 +19,11 @@ fi
OPEN_WEBUI_DIR="${APP_DIR}/${APP_NAME}"
COMPOSE_FILE="${OPEN_WEBUI_DIR}/docker-compose.yml"
apt-get install -y caddy openssl
mkdir -p "${OPEN_WEBUI_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$OPEN_WEBUI_DIR"
apt-get install -y openssl
WEBUI_SECRET_KEY="$(openssl rand -hex 32)"

View File

@@ -17,8 +17,13 @@ if [ -z "${DOMAIN}" ]; then
fi
OPENCLAW_DIR="${APP_DIR}/${APP_NAME}"
BOOTSTRAP_DIR="${APP_DIR}/.${APP_NAME}-bootstrap"
apt-get install -y caddy git openssl
mkdir -p "${BOOTSTRAP_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$BOOTSTRAP_DIR"
apt-get install -y git openssl
if [ ! -d "${OPENCLAW_DIR}/.git" ]; then
git clone "${REPO_URL}" "${OPENCLAW_DIR}"

View File

@@ -17,8 +17,13 @@ if [ -z "${DOMAIN}" ]; then
fi
PICOCLAW_DIR="${APP_DIR}/${APP_NAME}"
BOOTSTRAP_DIR="${APP_DIR}/.${APP_NAME}-bootstrap"
apt-get install -y caddy git
mkdir -p "${BOOTSTRAP_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$BOOTSTRAP_DIR"
apt-get install -y git
if [ ! -d "${PICOCLAW_DIR}/.git" ]; then
git clone "${REPO_URL}" "${PICOCLAW_DIR}"

View File

@@ -19,8 +19,13 @@ if [ -z "${DOMAIN}" ]; then
fi
PLAUSIBLE_DIR="${APP_DIR}/${APP_NAME}"
BOOTSTRAP_DIR="${APP_DIR}/.${APP_NAME}-bootstrap"
apt-get install -y caddy git openssl
mkdir -p "${BOOTSTRAP_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$BOOTSTRAP_DIR"
apt-get install -y git openssl
if [ ! -d "${PLAUSIBLE_DIR}/.git" ]; then
git clone -b "${REPO_REF}" --single-branch "${REPO_URL}" "${PLAUSIBLE_DIR}"

View File

@@ -18,12 +18,17 @@ fi
JWT_SECRET=$(openssl rand -hex 16 | cut -c-32)
SIGNOZ_DIR="${APP_DIR}/signoz"
BOOTSTRAP_DIR="${APP_DIR}/.${APP_NAME}-bootstrap"
STATE_DIR="${SIGNOZ_DIR}/.excloud"
COMPOSE_FILE="${SIGNOZ_DIR}/deploy/docker/docker-compose.yaml"
OTEL_SERVICE_PATH='.services["otel-collector"].ports'
SIGNOZ_SERVICE_PATH=".services.signoz.ports"
apt-get install -y caddy yq
mkdir -p "${BOOTSTRAP_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$BOOTSTRAP_DIR"
apt-get install -y yq
if git -C "${SIGNOZ_DIR}" rev-parse 2>/dev/null; then
echo "Git repo exists"

View File

@@ -19,8 +19,9 @@ fi
UPTIME_KUMA_DIR="${APP_DIR}/${APP_NAME}"
COMPOSE_FILE="${UPTIME_KUMA_DIR}/docker-compose.yml"
apt-get install -y caddy
mkdir -p "${UPTIME_KUMA_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$UPTIME_KUMA_DIR"
cat > "${COMPOSE_FILE}" <<EOF
services:

View File

@@ -19,8 +19,9 @@ fi
VAULTWARDEN_DIR="${APP_DIR}/${APP_NAME}"
COMPOSE_FILE="${VAULTWARDEN_DIR}/docker-compose.yml"
apt-get install -y caddy
mkdir -p "${VAULTWARDEN_DIR}"
source /var/excloud/scripts/caddy-setup.sh
setup_initializing_page "$DOMAIN" "$APP_NAME" "$VAULTWARDEN_DIR"
cat > "${COMPOSE_FILE}" <<EOF
services: