Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 2.52 KB

README.md

File metadata and controls

51 lines (38 loc) · 2.52 KB

Image which can serve as a base Docker image for dockerizing Meteor applications.

In the root directory of your Meteor application (the one with .meteor directory) create a Dockerfile file with the following content:

FROM tozd/meteor

And your Meteor application is dockerized. To optimize image building, especially if you are building the image from a directory where you are also developing the application, add .dockerignore file with something like:

.meteor/local
packages/*/.build*
node_modules

The intended use of this image is that it is run alongside the tozd/meteor-mongodb image for MongoDB database for your Meteor application. You will probably want a HTTP reverse proxy in front. You can use tozd/docker-nginx-proxy image which provides nginx configured as a reverse proxy with automatic SSL support provided by Let's encrypt.

When running Docker image with your Meteor application, you have to configure the following environment variables:

  • ROOT_URL – used by Meteor to construct absolute URLs, it should not contain a trailing /; example: http://example.com
  • MAIL_URL – used to configure e-mail server; example: smtp://user:password@mailhost:port/
  • METEOR_SETTINGS – JSON string of your Meteor settings
  • MONGO_URL - MongoDB database URL; example: mongodb://mongodb/meteor
  • MONGO_OPLOG_URL – MongoDB database oplog URL; example: mongodb://mongodb/local

You can specify those environment variables when running an image, but you can also export them from the script file volume mounted under /etc/service/meteor/run.config.

Example of a run.config file:

MONGODB_ADMIN_PWD='<pass>'
MONGODB_CREATE_PWD='<pass>'
MONGODB_OPLOGGER_PWD='<pass>'

export MONGO_URL="mongodb://meteor:${MONGODB_CREATE_PWD}@mongodb/meteor"
export MONGO_OPLOG_URL="mongodb://oplogger:${MONGODB_OPLOGGER_PWD}@mongodb/local?authSource=admin"

Only export lines are necessary for this image, but others are used by tozd/meteor-mongodb image. You can export also other environment variables.

When you are extending this image, you can add a script /etc/service/meteor/run.initialization which will be run at a container startup, after the container is initialized, but before the Meteor application is run.