jshimko / meteor-launchpad Goto Github PK
View Code? Open in Web Editor NEWA base Docker image for Meteor applications.
Home Page: https://hub.docker.com/r/jshimko/meteor-launchpad/
License: MIT License
A base Docker image for Meteor applications.
Home Page: https://hub.docker.com/r/jshimko/meteor-launchpad/
License: MIT License
Hey @jshimko ,
Thanks for taking the time to put this together. I'm trying to migrate from mup to meteor-launchpad but I'm hitting the below error when building the image, do you have any ideas on how I can resolve this?
docker build -t nzwade/portfoliorobot_meteor:latest .
Sending build context to Docker daemon 79.26 MB
Step 1 : FROM jshimko/meteor-launchpad:latestExecuting 2 build triggers...
Step 1 : COPY . $APP_SOURCE_DIR
Step 1 : RUN cd $APP_SOURCE_DIR && bash $BUILD_SCRIPTS_DIR/install-meteor.sh && bash $BUILD_SCRIPTS_DIR/build-meteor.sh && bash $BUILD_SCRIPTS_DIR/post-build-cleanup.sh
---> Running in 130abcb98d36
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7786 0 7786 0 0 18393 0 --:--:-- --:--:-- --:--:-- 18450[-] Installing Meteor 1.4.1.2...
Downloading Meteor distribution
Meteor 1.4.1.2 has been installed in your home directory (~/.meteor).
Writing a launcher script to /usr/local/bin/meteor for your convenience.To get started fast:
$ meteor create ~/my_cool_app
$ cd ~/my_cool_app
$ meteorOr see the docs at:
docs.meteor.com
[-] Building Meteor application...
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
/opt/build_scripts/build-meteor.sh: line 17: 65 Killed meteor build --directory $APP_BUNDLE_DIR
The command '/bin/sh -c cd $APP_SOURCE_DIR && bash $BUILD_SCRIPTS_DIR/install-meteor.sh && bash $BUILD_SCRIPTS_DIR/build-meteor.sh && bash $BUILD_SCRIPTS_DIR/post-build-cleanup.sh' returned a non-zero code: 137
My dev environment is MacOS, for deployment I copied all the Meteor files over to my Ubuntu virtual machine (excluding the .meteor/local file) and ran the above in terminal.
Let me know if I can provide anything else that will help
I'm looking to incorporate testing into the build process.
At what point should the following command be run? I've forked this repository and tried adding it after meteor gets installed in build-meteor.sh, but the command seems to be ignored (the build succeeds but the logs show no trace of the tests running):
meteor test --once --driver-package dispatch:mocha-phantomjs
Hello,
I'm trying to bind an external volume to keep my settings persistent (as expected) so I'm trying to run docker with argument:
-v /home/sercan/mongoclient_data2/:/data/db
But it fails to run, that's probably you've changed how to install mongodb and now it's being started as mongodb user.
Is there a workaround to run docker with this argument ?
Thanks in advance.
Hi @jshimko,
I like the way you can add build options on the launchpad.conf
Is there a way to add this dependencies?
apt-get install libpq-dev
Can this be add on this docker image?
This is regarding mup error deployment failed on libpq and bycript
Can this be used by meteor up? I am having an error using docker image
Started TaskList: Pushing Meteor
[35.161.182.5] - Pushing Meteor App Bundle to The Server
[35.161.182.5] - Pushing Meteor App Bundle to The Server: SUCCESS
[35.161.182.5] - Pushing the Startup Script
[35.161.182.5] - Pushing the Startup Script: SUCCESS
Started TaskList: Configuring Meteor Environment Variables
[35.161.182.5] - Sending Environment Variables
[35.161.182.5] - Sending Environment Variables: SUCCESS
Started TaskList: Start Meteor
[35.161.182.5] - Start Meteor
[35.161.182.5] x Start Meteor: FAILED
-----------------------------------STDERR-----------------------------------
Error response from daemon: No such container: UBOApollo-frontend
docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"./entrypoint.sh\\\": stat ./entrypoint.sh: no such file or directory\"\n".
-----------------------------------STDOUT-----------------------------------
exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
d5ef090d63fc: Already exists
cd3b8f133612: Already exists
06fc68af5ec4: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
a3ed95caeb02: Already exists
Digest: sha256:059b6c5648f9e1e0da41fbeb4ad05693e2103dd833b6e8568f23b029c03b94fc
Status: Image is up to date for jshimko/meteor-launchpad:latest
d528ad6b0eb7b427639412f2f51791562f23b3a5221b364c21c3350495e9a266
----------------------------------------------------------------------------
Thanks for your help.
I was using your excellent meteord image; the build failing (saying image not found) brought me here to try meteor-launchpad.
My app builds correctly, but when launched on staging I get:
25/10/2016 23:04:02Error: Module did not self-register.
25/10/2016 23:04:02 at Error (native)
25/10/2016 23:04:02 at Object.Module._extensions..node (module.js:434:18)
25/10/2016 23:04:02 at Module.load (module.js:343:32)
25/10/2016 23:04:02 at Module.Mp.load (/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/babel-compiler/node_modules/reify/node/runtime.js:16:23)
25/10/2016 23:04:02 at Function.Module._load (module.js:300:12)
25/10/2016 23:04:02 at Module.require (module.js:353:17)
25/10/2016 23:04:02 at require (internal/module.js:12:17)
25/10/2016 23:04:02 at bindings (/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:76:44)
25/10/2016 23:04:02 at Object. (/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt/node_modules/bcrypt/bcrypt.js:3:35)
25/10/2016 23:04:02 at Module._compile (module.js:409:26)
25/10/2016 23:04:04=> Starting app on port 80...
25/10/2016 23:04:09/opt/meteor/dist/bundle/programs/server/node_modules/fibers/future.js:280
25/10/2016 23:04:09 throw(ex);
The only reason this doesn't already exist is because the :latest
tag always depends on the :base
tag. If I version one, I need to version the other as well. And that means having to dynamically change the FROM
directive in the :latest
Dockerfile at build time. That shouldn't be a problem if I use something like sed
when it builds on CircleCI. That just means I'll have to build twice. Once for the versioned set of images and once more for the :latest
.
That's what automation is for though. :)
I'll get this knocked out this week.
Per the instructions:
# or specify a custom image name
./build.sh myorg/myimage
Does not respect the docker base images inside of dev.dockerfile and prod.dockerfile.
https://github.com/krismeister/meteor-launchpad/blob/master/dev.dockerfile#L1
https://github.com/krismeister/meteor-launchpad/blob/master/prod.dockerfile#L1
Expected result:
prod.dockerfile & dev.dockerfile uses the new custom base image myorg/myimage:base
ps: this was a very tricky issue to find, I built many times before understanding what was happening.
I gave up on the meteorhacks/meteord
images a while back as it broke with the latest Meteor version, so I started using yours. Thank you for the work on it!
The new Docker Security Scanning on dockerhub notified me that there's a published CVE found in the OpenSSL version in my Meteor app image that's based on your image. It's interesting to note that the meteord
image I still have in our dockerhub repo has the same vulnerability.
Question: Is this something that you are able to update from your upstream linux distro? Mentioning here so it's tracked until it gets included.
Report from docker hub:
New vulnerabilities were detected in your repositories due to a CVE database update.
To learn more about Docker Security Scanning, see https://docs.docker.com/docker-cloud/builds/image-scan/.
You can address the vulnerability by using a more secure version of the component (if available). If the vulnerability is in a base layer, you can rebuild your image once the base layer's vulnerability has been fixed and repush the new image. We will scan it again.
Integer overflow in the MDC2_Update function in crypto/mdc2/mdc2dgst.c in OpenSSL before 1.1.0 allows remote attackers to cause a denial of service (out-of-bounds write and application crash) or possibly have unspecified other impact via unknown vectors.
would you consider adding support for phantomjs?
https://github.com/meteorhacks/meteord/blob/master/base/scripts/lib/install_phantomjs.sh
maybe along with 2.1.1 instead of 1.9.8 ? or a customizable ENV for phantomjs version number?
I was playing around trying to build this image locally, and it took me awhile to figure out that you have to run the build.sh file first to get it to work so others might have trouble as well.
Maybe add a "Building the Image Locally" section with "Run the build.sh file" line to the readme.
I'm getting this error in docker cloud automated builds, but not in quay.io builds. Quay builds perfectly. I don't know what a cross-device link is, in docker context.
The full error is:
Error: EXDEV: cross-device link not permitted, rename '/opt/meteor/dist/bundle' -> '/opt/meteor/dist/bundle-garbage-14tplr2'
Cross posted here:
docker/hub-feedback#852
Hey,
first Thank You very much for this nice project, it might be exactly what will save my project from going into the trash bin (if it wasn't for Debian having a like 5 years old MPV player version).
So my application is a little unorthodox, it was never intended to run on a web server in some server cluster. It should run inside your home network on a Pi or your Laptop, that's why it has to be easy to set up (And meteor apps really are not...) and that's why for this app it perfectly fine to run MongoDb from inside in production mode.
What did I do?
For testing I downloaded the simple-todos app from the meteor repository
wget https://github.com/meteor/simple-todos.git
I created a Dockerfile
and a launchpad.conf
with INSTALL_MONGO=true
. Then I ran
docker build -t jan/simple-todos
When I then tried to run it with
docker run -p 80:3000 jan/test-todos
omitting the MONGO_URL as stated in your Readme, I get the following Error
=> Starting app on port 3000...
/opt/meteor/dist/bundle/programs/server/node_modules/fibers/future.js:280
throw(ex);
^
Error: MONGO_URL must be set in environment
at Object.<anonymous> (packages/mongo/remote_collection_driver.js:36:11)
at Object.defaultRemoteCollectionDriver (packages/underscore/underscore.js:750:1)
at new Mongo.Collection (packages/mongo/collection.js:103:40)
at AccountsServer.AccountsCommon (packages/accounts-base/accounts_common.js:23:18)
at new AccountsServer (packages/accounts-base/accounts_server.js:18:5)
at meteorInstall.node_modules.meteor.accounts-base.server_main.js (packages/accounts-base/server_main.js:9:12)
at fileEvaluate (packages/modules-runtime/.npm/package/node_modules/install/install.js:153:1)
at require (packages/modules-runtime/.npm/package/node_modules/install/install.js:82:1)
at /opt/meteor/dist/bundle/programs/server/packages/accounts-base.js:1798:15
at /opt/meteor/dist/bundle/programs/server/packages/accounts-base.js:1809:3
I have checked your code and didn't find anywhere, where the environment variable MONGO_URL is actually set. All I found was the part in entrypoint.sh with the if condition, but it does not seem to actually set the MONGO_URL.
Unfortunately I'm not really good with bash scripting, that's why fixing it myself and opening a pull request wasn't possible.
I particularly tried it with the meteor example app, the rule out the possibility of my app having anything to do with it. It is just the plain simple-todos app, no modifications what so ever.
Cheers,
Jan
If package.json
contains dependencies that pull from github, the install will fail:
npm ERR! git clone --template=/root/.meteor/packages/meteor-tool/1.4.2_3/mt-os.linux.x86_64/dev_bundle/.npm/_git-remotes/_templates --mirror [email protected]:adcpm/steem.git /root/.meteor/packages/meteor-tool/1.4.2_3/mt-os.linux.x86_64/dev_bundle/.npm/_git-remotes/git-github-com-adcpm-steem-git-dev-82fc4f60: undefined
npm ERR! git clone --template=/root/.meteor/packages/meteor-tool/1.4.2_3/mt-os.linux.x86_64/dev_bundle/.npm/_git-remotes/_templates --mirror [email protected]:adcpm/steem.git /root/.meteor/packages/meteor-tool/1.4.2_3/mt-os.linux.x86_64/dev_bundle/.npm/_git-remotes/git-github-com-adcpm-steem-git-dev-82fc4f60: undefined
npm ERR! Linux 4.4.31-1-lts
npm ERR! argv "/root/.meteor/packages/meteor-tool/.1.4.2_3.17tso1e++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node" "/root/.meteor/packages/meteor-tool/1.4.2_3/mt-os.linux.x86_64/dev_bundle/bin/npm" "install"
npm ERR! node v4.6.2
npm ERR! npm v3.10.9
npm ERR! code ENOGIT
npm ERR! not found: git
npm ERR!
npm ERR! Failed using git.
npm ERR! This is most likely not a problem with npm itself.
npm ERR! Please check if you have git installed and in your PATH.
npm ERR! Please include the following file with any support request:
npm ERR! /opt/meteor/src/npm-debug.log
When I try run docker container based on meteor-launchpad:v1.1.4 (or previous versions) getting openshift warning/error.
Image apinf/platform:upgrade-meteor-launchpad runs as the root user which might not be permitted by your cluster administrator.
It requires additional setting for the user who runs container, but in reality, in many cases, admin of cluster will not allow run the command as root user.
When trying to build a 1.6-beta.2 application it fails with Node v8.1.2. Might have something to do with npm (1.6 doesn't support npm5 at the moment, but will, what npm version does launchpad select automatically?), but doesn't explain why it cannot download the Meteor distribution...
[-] Installing Meteor 1.6-beta.2...
�[91mDownloading Meteor distribution
�[0m�[91mRetrying download in 5 seconds...
�[0m�[91mRetrying download in 5 seconds...
�[0m�[91mRetrying download in 5 seconds...
�[0m�[91mRetrying download in 5 seconds...
�[0m�[91mRetrying download in 5 seconds...
�[0m�[91mRetrying download in 5 seconds...
�[0m�[91mRetrying download in 5 seconds...
�[0m�[91mRetrying download in 5 seconds...
�[0m�[91mRetrying download in 5 seconds...
�[0m�[91mRetrying download in 5 seconds...
�[0mThe command '/bin/sh -c cd $APP_SOURCE_DIR && $BUILD_SCRIPTS_DIR/install-deps.sh && $BUILD_SCRIPTS_DIR/install-node.sh && $BUILD_SCRIPTS_DIR/install-phantom.sh && $BUILD_SCRIPTS_DIR/install-graphicsmagick.sh && $BUILD_SCRIPTS_DIR/install-mongo.sh && $BUILD_SCRIPTS_DIR/install-meteor.sh && $BUILD_SCRIPTS_DIR/build-meteor.sh && $BUILD_SCRIPTS_DIR/post-build-cleanup.sh' returned a non-zero code: 1
Build step 'Docker Build and Publish' marked build as failure
Taking single-use slave mesos-jenkins-431ba98af7494ee19510df176157c034 offline.
Finished: FAILURE
The build process is lasting very long and I´m wondering why nothing is getting cached. I´m currently using the dev image of meteor-launchpad.
ONBUILD RUN cd $APP_SOURCE_DIR &&
$BUILD_SCRIPTS_DIR/install-deps.sh &&
$BUILD_SCRIPTS_DIR/install-node.sh &&
$BUILD_SCRIPTS_DIR/install-phantom.sh &&
$BUILD_SCRIPTS_DIR/install-graphicsmagick.sh &&
$BUILD_SCRIPTS_DIR/install-mongo.sh &&
$BUILD_SCRIPTS_DIR/install-meteor.sh &&
$BUILD_SCRIPTS_DIR/build-meteor.sh &&
$BUILD_SCRIPTS_DIR/post-build-cleanup.sh
Why does that run everytime again, and can´t that be modified to make caching possible?
It´s possible to cache NPM by doing the installation of the packages outside from the project and copy the contents into the project afterwards
ADD package.json /tmp/package.json
RUN cd /tmp && npm install
RUN mkdir -p /opt/app && cp -a /tmp/node_modules /opt/app/
Are there any reasons for not doing that in Meteor projects?
Another problem is that I install the Android SDK afterwards and it seems that doesn´t get cached either which is really a headache as it has multiple GB.
If I understood Docker correctly, child layers need to be rebuild as soon as the parent changes.
What would be the best solution in that case? I thought about modifying meteor-launchpad and make the android docker image the base image of meteor-launchpad.
Another attempt would be caching meteor-launchpad build completely and prevent layers from changing at all, but I guess this isn´t possible because as soon as files of my application change, I need to rebuild the Meteor application anyway which leads to a rebuild of all layers again.
Do you have any advice?
I´m trying to get my application running, but it terminates immediately and I cannot find a reason for that.
myapplication | => Starting app on port 3000...
myapplication exited with code 0
docker logs just shows "exited with code 0"
How can I see what is going on within the container?
When go in the containers bash and start the application manually, it tells me it cannot reach the database. However, when I launch another docker container I can reach the database without any problems.
version: "3"
services:
app:
image: application:v0.0.3
container_name: myapplication
build:
context: "."
ports:
- "80:3000"
volumes:
- "/application:/var/lib/application"
environment:
- MONGO_URL=mongodb://database:27017/meteor
- DATA_DIRECTORY=/var/lib/application
- ROOT_URL=http://localhost
command: chmod a+rwx -R /var/lib/application
database:
image: mongo:3.0
volumes:
- "/application/db:/data/db:rw"
command: mongod --smallfiles --quiet --logpath=/dev/null
networks:
default:
external:
name: service-tier
Hey, looks like this is currently most active Meteor Docker image project!
But it misses support of private npm modules.
It's easy achievable with just two lines of code - https://docs.npmjs.com/private-modules/docker-and-private-modules
ARG NPM_TOKEN
RUN echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc
Custom npm registry also can be adjusted, but I doubt this feature is wanted enough.
Also not sure if node creates empty .npmrc
after installation, so maybe we should write token somewhere after install-node.sh
, something to look at.
Anyway, thanks for putting your effort!
Hi! Thanks for this docker image, the only working with latest meteor I've found... Tell me please, do you know how can I easily pass settings json file to my container on build step? I've found this one meteorhacks/meteord#16 but it looks so terrible to me 🙈 Thanks a lot!
Can you specify the licence 📜 for this repository?
Thanks 🌠
I don't have a the exact Dockerfile i used to create the error trace below.
However, I experienced several unsuccessful attempts at building with the latest
jshimko/meteor-launchpad:devbuild in docker hub. At first glance it appears to be a deep Docker issue. I suspect it might be a bad path somewhere in docker or build code.
I do really appreciate this project, I have come to understand how hard it is to create a container for meteor.
node-v4.8.3-linux-x64/lib/node_modules/npm/node_modules/umask/README.md
node-v4.8.3-linux-x64/lib/node_modules/npm/node_modules/umask/.npmignore
Step 1/1 : RUN bash $BUILD_SCRIPTS_DIR/install-meteor.sh
---> Running in 466bd047eeee
[-] Installing the latest version of Meteor...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7782 0 7782 0 0 25288 0 --:--:-- --:--:-- --:--:-- 25348
Downloading Meteor distribution
Meteor 1.5 has been installed in your home directory (~/.meteor).
Writing a launcher script to /usr/local/bin/meteor for your convenience.
To get started fast:
$ meteor create ~/my_cool_app
$ cd ~/my_cool_app
$ meteor
Or see the docs at:
docs.meteor.com
Step 1/1 : COPY . $APP_SOURCE_DIR
ERROR: Service 'miso3' failed to build: Error processing tar file(exit status 1): Error setting up pivot dir: mkdir /var/lib/docker/aufs/mnt/6848c3101ac84d6f2270459d5a36da23d8a347918fbd7cdf497df27a765ca474/opt/meteor/src/.pivot_root090992472: not a directory
Kriss-MacBook-Pro:miso3 kris$
Me again.
I´m trying to create a custom image in order to make meteor-launch not the base layer anymore, because I want to speed up the build process. It seems that it doesn´t work on Windows 10.
This is the log
---> 49b198f9b174
Removing intermediate container d31191409055
Step 15/42 : RUN bash $BUILD_SCRIPTS_DIR/install-deps.sh && bash $BUILD_SCRIPTS_DIR/post-install-cleanup.sh
---> Running in affae9705315
/opt/build_scripts/install-deps.sh: line 2: $'\r': command not found
: invalid optionts/install-deps.sh: line 3: set: -
set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
/opt/build_scripts/install-deps.sh: line 4: $'\r': command not found[-] Installing base OS dependencies...
/opt/build_scripts/install-deps.sh: line 6: $'\r': command not found
/opt/build_scripts/install-deps.sh: line 8: $'\r': command not found
E: Invalid operation update
/opt/build_scripts/install-deps.sh: line 10: $'\r': command not found
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package apt-transport-https
E: Unable to locate package ca-certificates
/opt/build_scripts/install-deps.sh: line 14: $'\r': command not found
/opt/build_scripts/install-deps.sh: line 46: syntax error: unexpected end of file
The command '/bin/sh -c bash $BUILD_SCRIPTS_DIR/install-deps.sh && bash $BUILD_SCRIPTS_DIR/post-install-cleanup.sh' returned a non-zero code: 2
Is it possible to build that image on Windows somehow?
Thank you for creating this image, I have seen many people recommending it. When I use this image however my build fails, but only when using a local meteor package. It works fine with no local packages, so I am absolutely stumped at what the problem is. I created a dummy meteor app and build the image just fine, then added a dummy package, verified meteor build works, and then it still fails. Following is the full stack trace if it is useful. I do not believe the error is with your image, but I am at my wits end and I appreciate ANY help or suggestions you have.
Thanks in advance!
`
/root/.meteor/packages/ecmascript/.0.5.9.ui3230++os+web.browser+web.cordova/plugin.compile-ecmascript.os/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:190
throw error;
^
Error: EXDEV: cross-device link not permitted, rename '/opt/meteor/src/.meteor/local/isopacks/pigknows_conversion-collections' -> '/opt/meteor/src/.meteor/local/isopacks/pigknows_conversion-collections-garbage-p6wxcy'
at Error (native)
at Object.fs.renameSync (fs.js:681:18)
at Object.wrapper [as rename] (/tools/fs/files.js:1531:35)
at Object.files.renameDirAlmostAtomically (/tools/fs/files.js:963:11)
at Builder.complete (/tools/isobuild/builder.js:608:13)
at /tools/isobuild/isopack.js:1679:15
at Isopack.saveToPath (/tools/isobuild/isopack.js:1191:9)
at /tools/isobuild/isopack-cache.js:378:23
at /tools/utils/buildmessage.js:359:18
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:352:34
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:350:23
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at Object.enterJob (/tools/utils/buildmessage.js:324:26)
at IsopackCache.loadLocalPackage (/tools/isobuild/isopack-cache.js:315:18)
at /tools/isobuild/isopack-cache.js:249:16
at Function.time (/tools/tool-env/profile.js:305:10)
at /tools/isobuild/isopack-cache.js:248:17
at /tools/utils/buildmessage.js:359:18
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:352:34
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:350:23
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at Object.enterJob (/tools/utils/buildmessage.js:324:26)
at IsopackCache.ensurePackageLoaded (/tools/isobuild/isopack-cache.js:239:20)
at /tools/isobuild/isopack-cache.js:76:14
at /tools/packaging/package-map.js:57:7
at Function..each..forEach (/root/.meteor/packages/meteor-tool/.1.4.2.1r0536n++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:87:22)
at [object Object].eachPackage (/tools/packaging/package-map.js:49:7)
at IsopackCache.buildLocalPackages (/tools/isobuild/isopack-cache.js:75:24)
at /tools/project-context.js:809:25
at /tools/utils/buildmessage.js:359:18
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:352:34
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:350:23
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at Object.enterJob (/tools/utils/buildmessage.js:324:26)
at ProjectContext._buildLocalPackages (/tools/project-context.js:808:18)
at /tools/project-context.js:268:9
at /tools/utils/buildmessage.js:359:18
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:352:34
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:350:23
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at Object.enterJob (/tools/utils/buildmessage.js:324:26)
at ProjectContext._completeStagesThrough (/tools/project-context.js:258:18)
at /tools/project-context.js:250:12
at Function.run (/tools/tool-env/profile.js:490:12)
at ProjectContext.prepareProjectForBuild (/tools/project-context.js:249:13)
at /tools/cli/commands.js:854:20
at /tools/utils/buildmessage.js:271:13
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:264:29
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:262:18
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at /tools/utils/buildmessage.js:253:23
at [object Object].withValue (/tools/utils/fiber-helpers.js:89:14)
at Object.capture (/tools/utils/buildmessage.js:252:19)
at Object.main.captureAndExit (/tools/cli/main.js:273:29)
at buildCommand (/tools/cli/commands.js:853:8)
at Command.func (/tools/cli/commands.js:802:12)
at /tools/cli/main.js:1454:23
`
What is GOSU_VERSION
?
Just noticed in the Dockerfile, no idea what it is for/does...
😕
hi i'm not experienced in docker, i wonder should i set oplog inside docker by myself
When I build my container based on jshimko/meteor-launchpad:latest , I'm getting out of memory errors. (meteor/meteor#8157) . (Only fails in the Docker build, it is fine otherwise). To find a workaround, I'm trying to debug my partially built container with:
docker run -t - i <image> --entrypoint /bin/sh
but I keep getting:
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"./entrypoint.sh\": stat ./entrypoint.sh: no such file or directory".
Trying to use meteor-launchpad for the first time today.
Getting different errors with "devbuild" and "latest".
Probably something I am doing incorrectly. Please point me in the right direction.
Dockerfile
FROM jshimko/meteor-launchpad:devbuild
Error:
$ docker build -t rhicks/app .
Sending build context to Docker daemon 35.84 kB
Step 1 : FROM jshimko/meteor-launchpad:devbuild
# Executing 6 build triggers...
Step 1 : RUN bash $BUILD_SCRIPTS_DIR/install-meteor.sh
---> Using cache
Step 1 : COPY . $APP_SOURCE_DIR
Step 1 : RUN $BUILD_SCRIPTS_DIR/build-meteor.sh
---> Running in a28cea4f3b27
[-] Running npm install in app directory...
npm WARN enoent ENOENT: no such file or directory, open '/opt/meteor/src/package.json'
npm WARN src No description
npm WARN src No repository field.
npm WARN src No README data
npm WARN src No license field.
[-] Building Meteor application...
build: You're not in a Meteor project directory.
To create a new Meteor project:
meteor create <project name>
For example:
meteor create myapp
For more help, see 'meteor --help'.
The command '/bin/sh -c $BUILD_SCRIPTS_DIR/build-meteor.sh' returned a non-zero code: 1
Dockerfile
FROM jshimko/meteor-launchpad:latest
Error:
$ docker build -t rhicks/app .
Sending build context to Docker daemon 35.84 kB
Step 1 : FROM jshimko/meteor-launchpad:latest
# Executing 5 build triggers...
Step 1 : COPY . $APP_SOURCE_DIR
Step 1 : RUN bash $BUILD_SCRIPTS_DIR/install-phantom.sh
---> Running in bab0d8d995fd
Step 1 : RUN bash $BUILD_SCRIPTS_DIR/install-mongo.sh
---> Running in fa5fe541fad4
Step 1 : RUN bash $BUILD_SCRIPTS_DIR/install-graphicsmagick.sh
---> Running in 308c27b31e19
Step 1 : RUN cd $APP_SOURCE_DIR && bash $BUILD_SCRIPTS_DIR/install-meteor.sh && bash $BUILD_SCRIPTS_DIR/build-meteor.sh && bash $BUILD_SCRIPTS_DIR/post-build-cleanup.sh
---> Running in f461603b79af
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7786 0 7786 0 0 10090 0 --:--:-- --:--:-- --:--:-- 10085
head: cannot open '/opt/meteor/src/.meteor/release' for reading: No such file or directory
[-] Installing Meteor ...
Downloading Meteor distribution
Retrying download in 5 seconds...
Retrying download in 5 seconds...
Retrying download in 5 seconds...
Retrying download in 5 seconds...
Retrying download in 5 seconds...
Retrying download in 5 seconds...
Retrying download in 5 seconds...
Retrying download in 5 seconds...
Retrying download in 5 seconds...
Retrying download in 5 seconds...
The command '/bin/sh -c cd $APP_SOURCE_DIR && bash $BUILD_SCRIPTS_DIR/install-meteor.sh && bash $BUILD_SCRIPTS_DIR/build-meteor.sh && bash $BUILD_SCRIPTS_DIR/post-build-cleanup.sh' returned a non-zero code: 1
hi,
I did not build or do anything yet, just put the dockerfile and the yml file in the project root.
FROM jshimko/meteor-launchpad:devbuild
# docker-compose.yml
app:
image: qhose/qrsmeteor:version0.1
ports:
- "80:3000"
links:
- mongo
environment:
- ROOT_URL=http://example.com
- MONGO_URL=mongodb://mongo:27017/meteor
mongo:
image: mongo:latest --storageEngine=wiredTiger
I get this error
C:\Github\QRSMeteor (master)
λ docker-compose up -d
ERROR: no such image: mongo:latest+--storageEngine=wiredTiger: invalid reference format
if I do a pull its there: C:\Github\QRSMeteor (master) λ docker pull mongo:latest latest: Pulling from library/mongo Digest: sha256:f1ae736ea5f115822cf6fcef6458839d87bdaea06f40b97934ad913ed348f67d Status: Image is up to date for mongo:latest
I think you're doing a great job maintaining this image. I vote for it to be the foundation of the meteor reference implementation as discussed here:
https://forums.meteor.com/t/docker-team-up-to-create-a-reference-docker-image-for-meteor/30829/26
@jshimko Can we get your input on this thread? :)
Of note, I do note want to build iOS apps in Linux, that is merely the strange error I get when building, same on dockerhub:
�[91mCurrently, it is only possible to build iOS apps on an OS X system. �[0m �[91mSupply the server hostname and port in the --server option for mobile app builds.
Have I done something wrong? I am adapting this to the meteor create --example todos
example meteor project. I have only created the Dockerfile
and .dockerignore
files. Branch here
RUN cd $APP_SOURCE_DIR && $BUILD_SCRIPTS_DIR/install-deps.sh && $BUILD_SCRIPTS_DIR/install-node.sh && $BUILD_SCRIPTS_DIR/install-phantom.sh && $BUILD_SCRIPTS_DIR/install-graphicsmagick.sh && $BUILD_SCRIPTS_DIR/install-mongo.sh && $BUILD_SCRIPTS_DIR/install-meteor.sh && $BUILD_SCRIPTS_DIR/build-meteor.sh && $BUILD_SCRIPTS_DIR/post-build-cleanup.sh
---> Running in a51f5b01b87f
[-] Installing base OS dependencies...
E: The method driver /usr/lib/apt/methods/https could not be found.
The command '/bin/sh -c cd $APP_SOURCE_DIR && $BUILD_SCRIPTS_DIR/install-deps.sh && $BUILD_SCRIPTS_DIR/install-node.sh && $BUILD_SCRIPTS_DIR/install-phantom.sh && $BUILD_SCRIPTS_DIR/install-graphicsmagick.sh && $BUILD_SCRIPTS_DIR/install-mongo.sh && $BUILD_SCRIPTS_DIR/install-meteor.sh && $BUILD_SCRIPTS_DIR/build-meteor.sh && $BUILD_SCRIPTS_DIR/post-build-cleanup.sh' returned a non-zero code: 100
I was trying to use APT_GET_INSTALL in my launchpad.conf because I needed libssl-dev and was wondering why it ignores the command.
It seems that the REAMDE.md is updated and contains explanation of this functionality, but the pull request #40 is still not merged and the functionality is missing.
Besides that the config is not "APT_GET_INSTALL", but "INSTALL_APTGET_PACKAGES"
I'm coming from https://github.com/meteorhacks/meteord and am not sure if I'm missing something or if this project has no possibility to simply run .tar.gz archives created by meteor build
.
If it has sorry for the inconvenience and it would be nice if you could point me to it.
If not it maybe would be worth considering adding it. In my case it would be cumbersome to deploy the meteor app in question to all docker hosts without bundling it beforehand. The dev environments (which also is a little bit different from developer to developer) on the other hand have no docker so we would need to add it and change the build pipeline. Seems like a lot of effort and afaik meteor build
isn't depreciated or has drawbacks or is there a problem I don't see?
Firstly thanks for your work in maintaining this image!
In the latest version (& with Meteor 1.4.2), and without any .launchpad.conf file, phantomJS nevertheless tries to install and results in the following error:
47 > [email protected] install /opt/meteor/dist/bundle/programs/server/node_modules/fibers > node build.js || nodejs build.js
48`linux-x64-46` exists; testing
49Binary is fine; exiting
50 > [email protected] install /opt/meteor/dist/bundle/programs/server > node npm-rebuild.js
51 > [email protected] install /opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/fsevents > node-pre-gyp install --fallback-to-build
52node-pre-gyp
53 ERR! Tried to download: https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.0.14/fse-v1.0.14-node-v46-linux-x64.tar.gz
54node-pre-gyp
55ERR!
56Pre-built binaries not found for [email protected] and [email protected] (node-v46 ABI) (falling back to source compile with node-gyp)
57
58make: Entering directory '/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/fsevents/build'
59 SOLINK_MODULE(target) Release/obj.target/.node
60 COPY Release/.node
61make: Leaving directory '/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/fsevents/build'
62 > [email protected] postinstall /opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/sauce-connect-launcher > node scripts/install.js
63 > [email protected] install /opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/phantomjs-prebuilt > node install.js
64PhantomJS not found on PATH
65Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
66Saving to /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
67Receiving...
68
69Received 22866K total.
70Extracting tar contents (via spawned process)
71Removing /opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/phantomjs-prebuilt/lib/phantom
72Copying extracted folder /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1477693519804/phantomjs-2.1.1-linux-x86_64 -> /opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/phantomjs-prebuilt/lib/phantom
73Writing location.js file
74Phantom installation failed { [Error: EACCES: permission denied, open '/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/phantomjs-prebuilt/lib/location.js'] errno: -13, code: 'EACCES', syscall: 'open', path: '/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/phantomjs-prebuilt/lib/location.js' } Error: EACCES: permission denied, open '/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/phantomjs-prebuilt/lib/location.js' at Error (native) at Object.fs.openSync (fs.js:549:18) at Object.fs.writeFileSync (fs.js:1156:15) at writeLocationFile (/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/phantomjs-prebuilt/lib/util.js:84:6) at Promise._successFn (/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/phantomjs-prebuilt/install.js:88:5) at nextTickCallback (/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/momentjs_moment/node_modules/kew/kew.js:47:28) at nextTickCallbackWith0Args (node.js:420:9) at process._tickCallback (node.js:349:13)
Hi
In Kubernetes it would be nice to store settings.json as a secret and have the secret volume mounted into the pod. To solve that I added the following code to my fork entrypoint.sh
# Use settings file if available
if [ -e /opt/meteor/settings/settings.json ]; then
export METEOR_SETTINGS=$(cat /opt/meteor/settings/settings.json | tr -ds '\n' ' ')
fi
Then I mount the secret to /opt/meteor/settings. Example yaml snipped.
volumeMounts:
-
name: secrets
mountPath: /opt/meteor/settings
readOnly: true
Maybe you know better ways to do that. But I think meteor-launchpad should have such an option.
Virtualbox hosting RHEL 7.2 (latest)
Docker version 1.13.0, build 49bf474
build.sh - post-install-cleanup.sh is failing with "Directory not empty"
with meteor 1.5 I get this error. also see nodejs/node#6861
/root/.meteor/packages/meteor-tool/.1.5.0.utbu0o++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:218
throw error;
^
Error: EISDIR: illegal operation on a directory, unlink '/opt/meteor/src/.meteor/local/dev_bundle'
at Error (native)
at Object.fs.unlinkSync (fs.js:932:18)
at exports.makeLink (/tools/cli/dev-bundle-links.js:20:8)
at [object Object]._.extend.ensureDevBundleLink (/tools/project-context.js:1476:7)
at [object Object]._.extend._readFile (/tools/project-context.js:1410:10)
at new exports.ReleaseFile (/tools/project-context.js:1360:8)
at /tools/cli/main.js:898:22
If add iOS/Android platform, docker image will failed to build
Supply the server hostname and port in the --server option for mobile app builds.
Remove iOS/Android platform could fix this.
Does here has any way to keep it both?
any idea what i'm doing wrong?
FROM GITLAB-RUNNER HOST
Purging configuration files for wget (1.16-1+deb8u1) ...
Step 1 : RUN bash $BUILD_SCRIPTS_DIR/install-mongo.sh
---> Running in b83ec9573d9d
current mongo setting is INSTALL_MONGO = false
Step 1 : RUN cd $APP_SOURCE_DIR && bash $BUILD_SCRIPTS_DIR/install-meteor.sh && bash $BUILD_SCRIPTS_DIR/build-meteor.sh && bash $BUILD_SCRIPTS_DIR/post-build-cleanup.sh
---> Running in b0d163991c45
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 7784 0 7784 0 0 15385 0 --:--:-- --:--:-- --:--:-- 15383
sed: -e expression #1, char 29: unterminated `s' command
The command '/bin/sh -c cd $APP_SOURCE_DIR && bash $BUILD_SCRIPTS_DIR/install-meteor.sh && bash $BUILD_SCRIPTS_DIR/build-meteor.sh && bash $BUILD_SCRIPTS_DIR/post-build-cleanup.sh' returned a non-zero code: 1
ERROR: Build failed: exit code 1
FROM MAC OS
---> Running in 608aaa13397f
current mongo setting is INSTALL_MONGO = false
Step 1 : RUN cd $APP_SOURCE_DIR && bash $BUILD_SCRIPTS_DIR/install-meteor.sh && bash $BUILD_SCRIPTS_DIR/build-meteor.sh && bash $BUILD_SCRIPTS_DIR/post-build-cleanup.sh
---> Running in 7afab25ff5a2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7784 0 7784 0 0 15985 0 --:--:-- --:--:-- --:--:-- 16016
sed: -e expression #1, char 29: unterminated `s' command
The command '/bin/sh -c cd $APP_SOURCE_DIR && bash $BUILD_SCRIPTS_DIR/install-meteor.sh && bash $BUILD_SCRIPTS_DIR/build-meteor.sh && bash $BUILD_SCRIPTS_DIR/post-build-cleanup.sh' returned a non-zero code: 1
Hello @jshimko
unfortunately there's a tar problem while installing METEORJS to container which randomly works. What I mean is, I've two repositories that one of them is the fork of another. Both are identical. And one of them is being built successfully and the another throws following errors during meteor install:
.meteor/release file: [email protected]
error:
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/node_modules/npm/node_modules/request/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/node_modules/npm/node_modules/node-gyp/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/node_modules/npm/node_modules/node-gyp/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/node_modules/npm/node_modules/node-gyp: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/node_modules/npm/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-fetch/node_modules/cordova-common/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-fetch/node_modules/cordova-common/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-fetch/node_modules/cordova-common: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-fetch/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-fetch/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-fetch: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-create/node_modules/cordova-common/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-create/node_modules/cordova-common/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-create/node_modules/cordova-common: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-create/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-create/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-create: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-common/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-common/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-common: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/browser-launcher2/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/browser-launcher2/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/browser-launcher2: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/babel-plugin-minify-constant-folding/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/babel-plugin-minify-constant-folding/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/babel-plugin-minify-constant-folding: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/astw/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/astw/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/astw: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/meteor-tool/.1.4.4_1.1t9hste++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/modules/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/modules/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/modules: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/compileLessBatch/node_modules/less/node_modules/request/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/compileLessBatch/node_modules/less/node_modules/request/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/compileLessBatch/node_modules/less/node_modules/request: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/compileLessBatch/node_modules/less/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/compileLessBatch/node_modules/less/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/compileLessBatch/node_modules/less: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/compileLessBatch/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/compileLessBatch/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/compileLessBatch: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/babel-compiler/node_modules/regjsparser/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/babel-compiler/node_modules/regjsparser/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/babel-compiler/node_modules/regjsparser: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/babel-compiler/node_modules/.bin: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/babel-compiler/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor/babel-compiler: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules/meteor: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm/node_modules: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os/npm: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova/plugin.compileLessBatch.os: Directory renamed before its status could be extracted
tar: .meteor/packages/less/.2.7.9.1b514af++os+web.browser+web.cordova: Directory renamed before its status could be extracted
tar: .meteor/packages/less: Directory renamed before its status could be extracted
Dockerfile contains FROM directive with your base image. Do you have an idea what can be the root cause ?
Maybe it would be a better option to build meteor application instead of installing meteor to docker container to build application, what do you think ?
Thanks in advance
First, big thanks for the image.
I noticed that your latest modifications of the image impact on the reading of the launchpad.conf file. Indeed, when I run a container using the latest image I get a mongoDB URL error ( although I've set INSTALL_MONGO=true in the launchpad.conf file), when I use the previous version of the image (v1.2.0) everything is OK.
Thanks again.
Docker Version: 1.6.0
Jenkins Version: 2.19.3
When building our docker image on Jenkins, we get the following error.
[91minfo�[0m�[91m �[0m�[91merror reading version TypeError: Cannot read property 'readFileSync' of undefined
�[0m�[91minfo error reading version at /root/.meteor/packages/meteor-tool/.1.4.1_3.8dq62w++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/node_modules/npm/lib/npm.js:42:24
�[0m�[91minfo error reading version�[0m�[91m at Object. (/root/.meteor/packages/meteor-tool/.1.4.1_3.8dq62w++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/node_modules/npm/lib/npm.js:475:3)
We're running into an issue with the build process running out of memory, as described here: meteor/meteor#8157
The fix appears to set an ENV
TOOL_NODE_FLAGS="--max-old-space-size=4096 --optimize_for_size --gc-interval=100"
Which gets used inside Meteor's node build command.
It would be helpful if there was an option to set this in meteor-launchpad.
Please add git
to install-deps.sh
to add support for public and private git repositories in package.json like: git+https://github.com/Jank1310/XYZ.git
apt-get install -y --no-install-recommends curl ca-certificates bzip2 build-essential numactl python wget git
P.S. Thank you for making this image 👍
--unsafe-perm: unknown option.
Usage: meteor build [--debug] [--directory] [--server-only]
[--mobile-settings settings.json] [--server http://example.com:3000]
Package this project up for deployment. The command outputs a directory with
builds for all platforms in this project.
If you have added mobile platforms to your project with the
'meteor add-platform' command, then the output directory will contain
subdirectories named 'android' (with the APK bundle and Android project
source) and/or 'ios' (with the Xcode project source).
Building on docker cloud with your docker-compose.yml produces the following error, using Meteor 1.5.1:
> [email protected] install /opt/meteor/dist/bundle/programs/server
> node npm-rebuild.js
> [email protected] install /opt/meteor/dist/bundle/programs/server/npm/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build
module.js:327
throw err;
^
Error: Cannot find module '../'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/opt/meteor/dist/bundle/programs/server/npm/node_modules/.bin/node-pre-gyp:15:20)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
Firstly, thanks for a well maintained docker image!
Couldn't this use ARG in the dockerfile? IMHO it would be cleaner to have those definitions in one file.
https://docs.docker.com/engine/reference/builder/#/arg
Thanks again
Are there any plans to add Lets Encrypt SSL support as an option to deployment.
I think this would be a killer feature.
If not, do you happen to know any good ways to setup nginx or other reverse proxy in combination with meteor-launchpad?
Can I specify which node version to install when building a Docker image with yours as a base? And is there a reason to why you are using v4 and not v6, which is the latest LTS version?
Great work btw!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.