84 lines
1.9 KiB
Bash
Executable File
84 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
STACK_ENV="${STACK_ENV:-$ROOT_DIR/stack.env}"
|
|
|
|
if [[ -f "$STACK_ENV" ]]; then
|
|
set -a
|
|
. "$STACK_ENV"
|
|
set +a
|
|
fi
|
|
|
|
STACK_ID="${GIA_STACK_ID:-${STACK_ID:-}}"
|
|
STACK_ID="$(echo "$STACK_ID" | tr -cs 'a-zA-Z0-9._-' '-' | sed 's/^-*//; s/-*$//')"
|
|
|
|
name_with_stack() {
|
|
local base="$1"
|
|
if [[ -n "$STACK_ID" ]]; then
|
|
echo "${base}_${STACK_ID}"
|
|
else
|
|
echo "$base"
|
|
fi
|
|
}
|
|
|
|
MANTICORE_CONTAINER="$(name_with_stack "manticore_gia")"
|
|
MANTICORE_CONFIG_FILE="${MANTICORE_CONFIG_FILE:-$ROOT_DIR/utilities/memory/manticore.conf}"
|
|
MANTICORE_DATA_DIR="${MANTICORE_DATA_DIR:-$ROOT_DIR/.podman/gia_manticore_data}"
|
|
MANTICORE_LOG_DIR="${MANTICORE_LOG_DIR:-$ROOT_DIR/.podman/gia_manticore_log}"
|
|
MANTICORE_MYSQL_PORT="${MANTICORE_MYSQL_PORT:-9306}"
|
|
MANTICORE_HTTP_PORT="${MANTICORE_HTTP_PORT:-9308}"
|
|
MANTICORE_SPHINX_PORT="${MANTICORE_SPHINX_PORT:-9312}"
|
|
|
|
mkdir -p "$MANTICORE_DATA_DIR" "$MANTICORE_LOG_DIR"
|
|
|
|
up() {
|
|
podman run -d \
|
|
--replace \
|
|
--name "$MANTICORE_CONTAINER" \
|
|
-p "${MANTICORE_MYSQL_PORT}:9306" \
|
|
-p "${MANTICORE_HTTP_PORT}:9308" \
|
|
-p "${MANTICORE_SPHINX_PORT}:9312" \
|
|
-v "$MANTICORE_DATA_DIR:/var/lib/manticore" \
|
|
-v "$MANTICORE_LOG_DIR:/var/log/manticore" \
|
|
-v "$MANTICORE_CONFIG_FILE:/etc/manticoresearch/manticore.conf:ro" \
|
|
docker.io/manticoresearch/manticore:latest >/dev/null
|
|
echo "Started $MANTICORE_CONTAINER"
|
|
}
|
|
|
|
down() {
|
|
podman rm -f "$MANTICORE_CONTAINER" >/dev/null 2>&1 || true
|
|
echo "Stopped $MANTICORE_CONTAINER"
|
|
}
|
|
|
|
status() {
|
|
podman ps --format "table {{.Names}}\t{{.Status}}" | grep -E "^$MANTICORE_CONTAINER\b" || true
|
|
}
|
|
|
|
logs() {
|
|
podman logs -f "$MANTICORE_CONTAINER"
|
|
}
|
|
|
|
case "${1:-}" in
|
|
up)
|
|
up
|
|
;;
|
|
down)
|
|
down
|
|
;;
|
|
restart)
|
|
down
|
|
up
|
|
;;
|
|
status)
|
|
status
|
|
;;
|
|
logs)
|
|
logs
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {up|down|restart|status|logs}" >&2
|
|
exit 2
|
|
;;
|
|
esac
|