Files
hsmod/docker/couchbase-init.sh
T

36 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
HOST=${COUCHBASE_HOST:-couchbase}
ADMIN_USER=${COUCHBASE_ADMIN_USER:-Administrator}
ADMIN_PASS=${COUCHBASE_ADMIN_PASS:-password}
BUCKET=${COUCHBASE_BUCKET:-hbs}
BUCKET_PASS=${COUCHBASE_BUCKET_PASS:-aci}
echo "Waiting for Couchbase at ${HOST}:8091..."
until curl -s "http://${HOST}:8091/pools" >/dev/null; do
sleep 2
done
status=$(curl -s -o /dev/null -w "%{http_code}" "http://${HOST}:8091/pools/default")
if [ "$status" != "200" ]; then
couchbase-cli cluster-init -c "${HOST}:8091" \
--cluster-username "${ADMIN_USER}" \
--cluster-password "${ADMIN_PASS}" \
--cluster-ramsize 512 \
--services data
fi
if ! couchbase-cli bucket-list -c "${HOST}:8091" -u "${ADMIN_USER}" -p "${ADMIN_PASS}" | grep -q "${BUCKET}"; then
couchbase-cli bucket-create -c "${HOST}:8091" \
-u "${ADMIN_USER}" -p "${ADMIN_PASS}" \
--bucket="${BUCKET}" \
--bucket-password="${BUCKET_PASS}" \
--bucket-type=couchbase \
--bucket-ramsize=200 \
--bucket-replica=1 \
--wait
fi
echo "Couchbase initialized."