40 lines
1.9 KiB
Bash
Executable File
40 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
REPO_ROOT="$(cd "$ROOT/../../.." && pwd)"
|
|
ENV_FILE="$ROOT/.env"
|
|
# load UID/GID from repo config first (so they take precedence over any stale .env values)
|
|
if [[ -f "$REPO_ROOT/scripts/common/build_user.sh" ]]; then
|
|
# shellcheck disable=SC1091
|
|
source "$REPO_ROOT/scripts/common/build_user.sh" 2>/dev/null || true
|
|
if declare -f load_build_user >/dev/null 2>&1; then
|
|
load_build_user
|
|
fi
|
|
fi
|
|
set -a; source "$ENV_FILE"; set +a
|
|
|
|
PROJECT="${SERVER_PROJECT:-argus-swarm-server}"
|
|
COMPOSE_FILE="$ROOT/docker-compose.server.yml"
|
|
|
|
echo "[SERVER] starting compose project: $PROJECT"
|
|
docker compose -p "$PROJECT" -f "$COMPOSE_FILE" up -d
|
|
|
|
echo "[SERVER] containers:"; docker compose -p "$PROJECT" -f "$COMPOSE_FILE" ps
|
|
|
|
# Optional post-start permission alignment (disabled by default). Enable with SWARM_FIX_PERMS=1
|
|
if [[ "${SWARM_FIX_PERMS:-0}" == "1" ]]; then
|
|
echo "[SERVER] aligning permissions in containers (best-effort)"
|
|
for c in argus-master-sys argus-prometheus argus-grafana argus-ftp argus-es-sys argus-kibana-sys argus-web-frontend argus-web-proxy argus-alertmanager; do
|
|
docker exec "$c" sh -lc 'mkdir -p /private/argus && chmod -R 777 /private/argus' 2>/dev/null || true
|
|
done
|
|
echo "[SERVER] restarting selected supervised programs to pick up new permissions"
|
|
docker exec argus-prometheus sh -lc 'supervisorctl restart prometheus targets-updater >/dev/null 2>&1 || true' || true
|
|
docker exec argus-grafana sh -lc 'rm -f /private/argus/etc/grafana.metric.argus.com 2>/dev/null || true; supervisorctl restart grafana >/dev/null 2>&1 || true' || true
|
|
docker exec argus-es-sys sh -lc 'supervisorctl restart elasticsearch >/dev/null 2>&1 || true' || true
|
|
docker exec argus-kibana-sys sh -lc 'supervisorctl restart kibana >/dev/null 2>&1 || true' || true
|
|
fi
|
|
|
|
echo "[SERVER] done"
|