Production Quality Meteor Deployment to Anywhere
mup validate
shows message when config is validapp
property exists in the config, but app.path
is missing.Prepare Bundle
task is now only shown when Prepare Bundle
is enabledNo such container
errors in the script for Prepare Bundle since they are normal and could cause confusion on what caused the script to failPlugins
_origionalConfig
property, with the config before it was normalized or prepared by pluginsmeteor
addLocation
ending location with a period when a detail's path is emptyStart Meteor
task always succeeding despite errors starting the app when using Prepare Bundle
Verifying Deployment
when app.env.PORT
is setVerifying Deployment
when using the host networkproxy.setup
when running mup setup
for the first timeapp.docker.imagePort
documentationPlugins
pluginApi.commandHistory
to check which commands have runStatus
The mup status
command gives an overview of what is running on the servers and shows any problems plugins detected.
Reverse Proxy
mup proxy nginx-config
command to view the generated configHTTP_FORWARDED_COUNT
defaults to 1 when using the reverse proxy (@jehartzog)app.env.PORT
is set to a value other than 80Mongo
app.env.MONGO_OPLOG_URL
to mongodb://mongodb/local
(@edemaine)Start Mongo
task now waits until mongo has sucessfully started before finishingStart Mongo
task will now failDepreciations
meteor.ssl
, meteor.nginx
, and meteor.docker.imageFrontendServer
are depreciated. It uses a different implementation for custom certificates and lets encrypt, each with different features and restrictions. Also, the custom certificate implementation has security problems. The reverse proxy should be used instead. It doesn't have the security problems, uses the same implementation for custom certificates and lets encrypt, and has many additional features. Learn how to use the reverse proxy in the docs.
proxy.shared.clientUploadLimit
is depreciated. Use proxy.clientUploadLimit
instead, which allows each app to have a different value.
Other Changes
mup init
will create a .deploy
folder when run in the same folder as a Meteor appmup init
is run, the default config's app.path
will be the path to that appNo such file
, it will tell the user to run mup setup
to fix itreconfig
hooks will now run during mup deploy
--show
is no longer needed to show the config when mup validate --scrub
is runmup ssh
will not require the name of a serverzodern/meteor
to list of images that Prepare Bundle is automatically enabled fordeployCheckWaitTime
mup restart
and mup meteor restart
when config has an app
object instead of meteor
/built_app
foldermup ssh
without specifying a servernpm install
will still succeed even if Open Collectives's post-install hook failsDocs
HTTP_FORWARDED_COUNT
(@jehartzog)app.buildOptions.debug
to false
in example configszodern:meteor
image to list of docker imagesPlugins
post.status
hook, plugins can show their statussolution
property to errors. Mup will show the solution in yellow before exitingutils.addDepreciation
servers
object is missing from the config has been removed since some deployment plugins might not need itmup init
has the correct docker image for Meteor 1.6Plugins
app.type
in the config is set to something besides meteor
mup validate
is now 1 when there are validation errorsproxy.shared.clientUploadLimit
--scrub
option to mup validate
, which when used with --show
shows the config with most of the sensitive information removedmup mongo logs
accepts the same options as mup logs
and other log commandsPlugins and Hooks
meteor.build
, which is run by meteor.deploy
and meteor.push
. This allows plugins or hooks to modify the bundle before it is archived and uploaded to the servers.scrubConfig(config, utils)
function, which should return the config with all sensitive information removedapi.scrubConfig()
was added, which returns the config after modified by any scrubConfig
functions from pluginsapi.validateConfig
only shows the errors on the console the first time it is runMODULE_NOT_FOUND
errors are now shown when a plugin fails to load due to being unable to resolve a moduleDocs
mup validate
mup validate
command, which validates the config. Has --show
option which shows the config after it has been normalized and modified by plugin's prepareConfig
functionsmup proxy logs-le
to view the Let's Encrypt logsapp.dockerImage
in the config when using Mongo, the reverse proxy, or Redisnpm install
during Prepare Bundle"meteor.name" has a period
app.env
is missingapp.name
is missingmup ssh <server>
commandsudo
mup proxy stop
doesn't require the proxy
object to be in the configapp.docker.prepareBundle
to enable or disable prepare bundle