Bundle and then fibers make error in a Docker image


#1

We at Unee-T have a one step CI which uses the ulexus/meteor image to run out Meteor bundle. It’s been fine until we updated recently to meteor 1.7:

To my surprise the bundle (fibers package to be exact) now seems to require some building with make.

So this has led me to look at other Meteor docker images. I skimmed this monster thread Docker: team up to create a reference docker image for meteor and https://github.com/assetsagacity/meteor-do was pointed out last, but since it has like zeros stars I am a bit hesitant to invest energy in it.

Is there some bundle option I am missing to avoid this build? Could anyone else please share how they deploy Meteor on AWS ECS?

Many thanks!


#2

How is one supposed to run meteor in production?

https://github.com/CyCoreSystems/docker-meteor/blob/master/entrypoint.sh#L200 doesn’t seem quite right.


#3

Once Meteor is built for production, it is a standard nodejs app. So launching it with node is the correct way to run it.

The issue with Fibers looks to be because the version it was built for (Node 8.11.x <- bundled with Meteor 1.7) mismatches with the version that is installed.
Because of the mismatch, it attempts to rebuild Fibers from source, which fails because the build tools are missing

Then the issue with destructuring syntax const { pause } = require("./debug.js"); is also because it’s running an old version of Node that doesn’t support those language features.

For any Meteor deployment, you should try to match the Nodejs version to the version that ships with that Meteor version, which for Meteor 1.7.x is Node 8.11.x