LibrePortal/start.sh
librelad 875a60f90f LibrePortal v0.1.0 — initial release
A free, open, self-hosted app platform (GNU AGPLv3): one-click app deploys,
Traefik reverse proxy with automatic SSL, rootless Docker support, gluetun
VPN routing, and a web dashboard to manage it all.

Free & open forever to self-host; optional paid hosted services fund it.
See PROMISE.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-21 20:37:54 +01:00

66 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# Used for mainly CLI
initial_command1="$1"
initial_command2="$2"
initial_command3="$3"
initial_command4="$4"
initial_command5="$5"
initial_command6="$6"
initial_command7="$7"
displayLibrePortalLogo()
{
[[ "$LIBREPORTAL_SKIP_LOGO" == "1" ]] && return
echo "
____ ____ ____ _ _ ___ ____ ____ _ _ ____ ____
|___ |__| [__ \_/ | \ | | | |_/ |___ |__/
|___ | | ___] | |__/ |__| |___ | \_ |___ | \ "
echo ""
}
showRunHelp()
{
displayLibrePortalLogo;
echo "Available Run Commands:"
echo ""
echo " libreportal run install - Run the automated installer (WebUI flow)"
echo " libreportal run terminal - Open the terminal menu / Setup Wizard"
echo ""
echo "Pick one to continue."
echo ""
}
initLibrePortal()
{
# For the full application loading
if [[ "$initial_command1" == "run" ]]; then
if [[ -z "$initial_command2" ]]; then
showRunHelp;
exit 0
fi
init_run_flag="true"
# Capture the install run to a log so credentials/URLs can be recovered
# after we clear the screen at the end.
if [[ "$initial_command2" == "install" ]]; then
install_log_path="/docker/logs/install-$(date +%Y%m%d-%H%M%S).log"
sudo mkdir -p /docker/logs 2>/dev/null
sudo touch "$install_log_path" 2>/dev/null
sudo chmod 644 "$install_log_path" 2>/dev/null
export install_log_path
exec > >(tee -a "$install_log_path") 2>&1
fi
displayLibrePortalLogo;
source "scripts/source/load_sources.sh"
else
# For the CLI loading
init_run_flag="false"
displayLibrePortalLogo;
source "scripts/source/load_sources.sh"
fi
}
initLibrePortal;