mirror of
https://github.com/okxlin/appstore.git
synced 2026-09-23 08:01:00 +00:00
43 lines
1.0 KiB
Bash
Executable File
43 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
paths=(
|
|
"${CONFIG_PATH:-./data/config}"
|
|
"${MONGO_DATA_PATH:-./data/mongo}"
|
|
"${MONGO_INIT_PATH:-./data/mongo-init}"
|
|
)
|
|
|
|
mkdir -p "${paths[@]}"
|
|
for path in "${paths[@]}"; do
|
|
case "$path" in
|
|
./*|../*) chown -R 1000:1000 "$path" 2>/dev/null || true ;;
|
|
esac
|
|
done
|
|
|
|
mongo_init_path="${MONGO_INIT_PATH:-./data/mongo-init}"
|
|
mkdir -p "$mongo_init_path"
|
|
cat > "$mongo_init_path/init-mongo.sh" <<'EOF'
|
|
#!/bin/bash
|
|
if which mongosh > /dev/null 2>&1; then
|
|
mongo_init_bin='mongosh'
|
|
else
|
|
mongo_init_bin='mongo'
|
|
fi
|
|
"${mongo_init_bin}" <<MONGOEOF
|
|
use ${MONGO_AUTHSOURCE}
|
|
db.auth("${MONGO_INITDB_ROOT_USERNAME}", "${MONGO_INITDB_ROOT_PASSWORD}")
|
|
db.createUser({
|
|
user: "${MONGO_USER}",
|
|
pwd: "${MONGO_PASS}",
|
|
roles: [
|
|
"clusterMonitor",
|
|
{ db: "${MONGO_DBNAME}", role: "dbOwner" },
|
|
{ db: "${MONGO_DBNAME}_stat", role: "dbOwner" },
|
|
{ db: "${MONGO_DBNAME}_audit", role: "dbOwner" },
|
|
{ db: "${MONGO_DBNAME}_restore", role: "dbOwner" }
|
|
]
|
|
})
|
|
MONGOEOF
|
|
EOF
|
|
chmod 755 "$mongo_init_path/init-mongo.sh"
|