Bootstrap initial admin via env and add compose profiles
This commit is contained in:
35
build.sh
35
build.sh
@@ -7,6 +7,23 @@ cd "$SCRIPT_DIR"
|
||||
|
||||
BACKEND_ENV_FILE="$SCRIPT_DIR/backend/.env"
|
||||
|
||||
PROFILE="${1:-current}"
|
||||
|
||||
case "$PROFILE" in
|
||||
master)
|
||||
PROFILE_ENV_FILE="$SCRIPT_DIR/.env.master"
|
||||
PROJECT_NAME="ss-tools-master"
|
||||
;;
|
||||
current)
|
||||
PROFILE_ENV_FILE="$SCRIPT_DIR/.env.current"
|
||||
PROJECT_NAME="ss-tools-current"
|
||||
;;
|
||||
*)
|
||||
echo "Error: unknown profile '$PROFILE'. Use one of: master, current."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if ! command -v docker >/dev/null 2>&1; then
|
||||
echo "Error: docker is not installed or not in PATH."
|
||||
exit 1
|
||||
@@ -80,11 +97,23 @@ PY
|
||||
|
||||
ensure_backend_encryption_key
|
||||
|
||||
COMPOSE_ARGS=(-p "$PROJECT_NAME")
|
||||
if [[ -f "$PROFILE_ENV_FILE" ]]; then
|
||||
COMPOSE_ARGS+=(--env-file "$PROFILE_ENV_FILE")
|
||||
else
|
||||
echo "[build] Warning: profile env file not found at $PROFILE_ENV_FILE, using compose defaults."
|
||||
fi
|
||||
|
||||
echo "[build] Profile: $PROFILE (project: $PROJECT_NAME)"
|
||||
if [[ -f "$PROFILE_ENV_FILE" ]]; then
|
||||
echo "[build] Env file: $PROFILE_ENV_FILE"
|
||||
fi
|
||||
|
||||
echo "[1/2] Building project images..."
|
||||
"${COMPOSE_CMD[@]}" build
|
||||
"${COMPOSE_CMD[@]}" "${COMPOSE_ARGS[@]}" build
|
||||
|
||||
echo "[2/2] Starting Docker services..."
|
||||
"${COMPOSE_CMD[@]}" up -d
|
||||
"${COMPOSE_CMD[@]}" "${COMPOSE_ARGS[@]}" up -d
|
||||
|
||||
echo "Done. Services are running."
|
||||
echo "Use '${COMPOSE_CMD[*]} ps' to check status and '${COMPOSE_CMD[*]} logs -f' to stream logs."
|
||||
echo "Use '${COMPOSE_CMD[*]} ${COMPOSE_ARGS[*]} ps' to check status and '${COMPOSE_CMD[*]} ${COMPOSE_ARGS[*]} logs -f' to stream logs."
|
||||
|
||||
Reference in New Issue
Block a user