diff --git a/mongo-express/content.md b/mongo-express/content.md new file mode 100644 index 00000000..cec690da --- /dev/null +++ b/mongo-express/content.md @@ -0,0 +1,64 @@ +# What is mongo-express? + +mongo-express is a web-based MongoDB admin interface written in Node.js, Express.js, and Bootstrap3. + +> [github.com/mongo-express/mongo-express](https://github.com/mongo-express/mongo-express) + +%%LOGO%% + +# How to use this image + +```console +$ docker run --link some_mongo_container:mongo -p 8081:8081 mongo-express +``` + +Then you can hit `http://localhost:8081` or `http://host-ip:8081` in your browser. + +## Security Notice + +JSON documents are parsed through a javascript virtual machine, so the web interface can be used for executing malicious javascript on a server. + +**mongo-express should only be used privately for development purposes.** + +# Configuration + +Environment vairables are passed to the `run` command for configuring a mongo-express container. + + Name | Default | Description + --------------------------------|-----------------|------------ + ME_CONFIG_BASICAUTH_USERNAME | '' | mongo-express web username + ME_CONFIG_BASICAUTH_PASSWORD | '' | mongo-express web password + ME_CONFIG_MONGODB_ENABLE_ADMIN | 'true' | Enable admin access to all databases. Send strings: `"true"` or `"false"` + ME_CONFIG_MONGODB_ADMINUSERNAME | '' | MongoDB admin username + ME_CONFIG_MONGODB_ADMINPASSWORD | '' | MongoDB admin password + ME_CONFIG_MONGODB_PORT | 27017 | MongoDB port + ME_CONFIG_MONGODB_SERVER | 'mongo' | MongoDB container name + ME_CONFIG_OPTIONS_EDITORTHEME | 'default' | mongo-express editor color theme, [more here](http://codemirror.net/demo/theme.html) + ME_CONFIG_REQUEST_SIZE | '100kb' | Maximum payload size. CRUD operations above this size will fail in [body-parser](https://www.npmjs.com/package/body-parser). + ME_CONFIG_SITE_BASEURL | '/' | Set the baseUrl to ease mounting at a subdirectory. Remember to include a leading and trailing slash. + ME_CONFIG_SITE_COOKIESECRET | 'cookiesecret' | String used by [cookie-parser middleware](https://www.npmjs.com/package/cookie-parser) to sign cookies. + ME_CONFIG_SITE_SESSIONSECRET | 'sessionsecret' | String used to sign the session ID cookie by [express-session middleware](https://www.npmjs.com/package/express-session). + ME_CONFIG_SITE_SSL_ENABLED | 'false' | Enable SSL. + ME_CONFIG_SITE_SSL_CRT_PATH | '' | SSL certificate file. + ME_CONFIG_SITE_SSL_KEY_PATH | '' | SSL key file. + +The following are only needed if `ME_CONFIG_MONGODB_ENABLE_ADMIN` is **"false"** + + Name | Default | Description + --------------------------------|-----------------|------------ + ME_CONFIG_MONGODB_AUTH_DATABASE | 'db' | Database name + ME_CONFIG_MONGODB_AUTH_USERNAME | 'admin' | Database username + ME_CONFIG_MONGODB_AUTH_PASSWORD | 'pass' | Database password + +## Example + + docker run -it --rm \ + --name mongo-express \ + --link web_db_1:mongo \ + -p 8081:8081 \ + -e ME_CONFIG_OPTIONS_EDITORTHEME="ambiance" \ + -e ME_CONFIG_BASICAUTH_USERNAME="user" \ + -e ME_CONFIG_BASICAUTH_PASSWORD="fairly long password" \ + knickers/mongo-express + +This example links to a container name typical of `docker-compose`, changes the editor's color theme, and enables basic authentication. diff --git a/mongo-express/logo.png b/mongo-express/logo.png new file mode 100644 index 00000000..339762f0 Binary files /dev/null and b/mongo-express/logo.png differ