7ba5e888b4
- App.tsx: bypass auth gate, swap canvas save/load to localStorage - Sidebar.tsx: hide scan views and Scan Network button - useStatusPolling.ts: skip WebSocket connection - Dockerfile.frontend: accept VITE_STANDALONE build arg - docker-publish.yml: build ghcr.io/pouzor/homelable-frontend-standalone image - docker-compose.standalone.yml: frontend-only compose file - install.sh: add --standalone flag Usage: curl -fsSL .../install.sh | bash -s -- --standalone cd homelable && docker compose up -d
65 lines
1.7 KiB
Bash
Executable File
65 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
REPO="Pouzor/homelable"
|
|
INSTALL_DIR="${HOMELABLE_DIR:-homelable}"
|
|
RAW="https://raw.githubusercontent.com/${REPO}/main"
|
|
STANDALONE=0
|
|
|
|
for arg in "$@"; do
|
|
case $arg in
|
|
--standalone) STANDALONE=1 ;;
|
|
esac
|
|
done
|
|
|
|
# Detect install vs update
|
|
if [ -f "${INSTALL_DIR}/docker-compose.yml" ]; then
|
|
echo "Updating Homelable in ./${INSTALL_DIR}/"
|
|
IS_UPDATE=1
|
|
else
|
|
if [ "${STANDALONE}" -eq 1 ]; then
|
|
echo "Installing Homelable (standalone mode) into ./${INSTALL_DIR}/"
|
|
else
|
|
echo "Installing Homelable into ./${INSTALL_DIR}/"
|
|
fi
|
|
IS_UPDATE=0
|
|
fi
|
|
|
|
mkdir -p "${INSTALL_DIR}"
|
|
cd "${INSTALL_DIR}"
|
|
|
|
if [ "${STANDALONE}" -eq 1 ]; then
|
|
curl -fsSL "${RAW}/docker-compose.standalone.yml" -o docker-compose.yml
|
|
else
|
|
curl -fsSL "${RAW}/docker-compose.prebuilt.yml" -o docker-compose.yml
|
|
curl -fsSL "${RAW}/.env.example" -o .env.example
|
|
fi
|
|
|
|
if [ "${IS_UPDATE}" -eq 1 ]; then
|
|
echo ""
|
|
echo " docker-compose.yml updated."
|
|
echo " Restart with:"
|
|
echo " cd ${INSTALL_DIR} && docker compose pull && docker compose up -d"
|
|
else
|
|
if [ "${STANDALONE}" -eq 1 ]; then
|
|
echo ""
|
|
echo " Standalone mode: no backend, no login, canvas saves to browser localStorage."
|
|
echo ""
|
|
echo " Run:"
|
|
echo " cd ${INSTALL_DIR} && docker compose up -d"
|
|
else
|
|
if [ ! -f .env ]; then
|
|
cp .env.example .env
|
|
fi
|
|
echo ""
|
|
echo " Edit .env if needed (default login: admin / admin):"
|
|
echo " - Set SECRET_KEY to a random string"
|
|
echo " - Change AUTH_PASSWORD_HASH before exposing on a network"
|
|
echo ""
|
|
echo " Run:"
|
|
echo " cd ${INSTALL_DIR} && docker compose up -d"
|
|
fi
|
|
echo ""
|
|
echo " Open http://localhost:3000"
|
|
fi
|