Newer
Older
function getEnvVariable(envVar) {
// Thanks for the tip: https://dev.to/jsheridanwells/dockerizing-a-mongo-database-4jf2
const command = run("sh", "-c", `printenv --null ${envVar} >/mongoinit/${envVar}.txt`);
// note: 'printenv --null' prevents adding line break to value
if (command != 0) return Error("Failed to retrieve env variable : " + envVar);
// .replace(/\0/g, '') removes the NULL characters
return cat(`/mongoinit/${envVar}.txt`).replace(/\0/g, '');
}
db.createUser({
user: getEnvVariable("MONGO_INITDB_NON_ROOT_USERNAME"),
pwd: getEnvVariable("MONGO_INITDB_NON_ROOT_PASSWORD"),
roles: [
{
role: "readWrite",
db: getEnvVariable("MONGO_INITDB_DATABASE")
}
]
});
db = new Mongo().getDB(getEnvVariable("MONGO_INITDB_DATABASE"));
db.createCollection("articles");
db.createCollection("administrators");
db.administrators.createIndex({ "username": 1 }, { unique: true });
db.administrators.createIndex({ "auth_token": 1 }, { unique: true });
run("sh", "-c", "rm -rf /mongoinit/*");