Files
nextcloud-collabora-nodered/install.sh
T

49 lines
1.7 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# install.sh — integrera Collabora-noder i befintlig nextcloud-node-red (:1880)
#
# Standard: INSTALL_MODE=integrate (ingen ny container, ingen port 1881)
# Sidecar (endast om du uttryckligen vill): INSTALL_MODE=sidecar
#
set -euo pipefail
VERSION="1.0.0"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
INSTALL_DIR="${INSTALL_DIR:-$SCRIPT_DIR}"
INSTALL_MODE="${INSTALL_MODE:-integrate}"
NODERED_DIR="${NODERED_DIR:-/home/ncdeploy/nextcloud-node-red}"
CODE_CONTAINER="${CODE_CONTAINER:-code}"
COLLABORA_IP="${COLLABORA_IP:-172.17.0.2}"
log() { printf '[install] %s\n' "$*"; }
die() { printf '[install] FEL: %s\n' "$*" >&2; exit 1; }
log "nextcloud-collabora-nodered v${VERSION} (läge: ${INSTALL_MODE})"
if [ "${INSTALL_MODE}" = "sidecar" ]; then
log "Sidecar-läge — varning: standard är integrate (befintlig :1880)"
require_cmd() { command -v "$1" >/dev/null 2>&1 || die "Saknar: $1"; }
require_cmd docker
COMPOSE="docker compose"
docker compose version >/dev/null 2>&1 || COMPOSE="docker-compose"
cd "${INSTALL_DIR}"
[ -f docker-compose.yml ] || die "docker-compose.yml saknas"
[ -f .env ] || cp .env.example .env
if ! docker ps --format '{{.Names}}' | grep -qx "${CODE_CONTAINER}"; then
die "CODE-container '${CODE_CONTAINER}' körs inte"
fi
${COMPOSE} build
${COMPOSE} up -d
log "Sidecar startad på :1881 (ej rekommenderat om :1880 redan kör)"
exit 0
fi
# === integrate (default) ===
chmod +x "${SCRIPT_DIR}/scripts/integrate-into-nodered.sh"
PKG_SRC="${INSTALL_DIR}" \
NODERED_DIR="${NODERED_DIR}" \
CODE_CONTAINER="${CODE_CONTAINER}" \
COLLABORA_IP="${COLLABORA_IP}" \
bash "${SCRIPT_DIR}/scripts/integrate-into-nodered.sh"
log "Klart."