36 lines
1.1 KiB
Bash
Executable File
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."
|