Giter Site home page Giter Site logo

docker-meteor's Introduction

Meteor 1.8+

We are working on a more modern system for this package which will integrate the benefits of the multi-stage builder. In the mean time, however, I invite you to take a look at our new Dockerfile generator.

We have developed a multi-stage Dockerfile which provides:

  • much faster container startup
  • more reliable builds
  • better CI/CD compatibility
  • better version support of Node

To generate a multi-stage Dockerfile for your Meteor app, you can use the meteor-dockerfilegen tool. Binary releases of this tool are located here.

This tool reads your Meteor application and builds the Dockerfile with appropriate versions of Node and Meteor, as specified by your Meteor application's metadata.

Meteor 1.4+

The latest Docker tag and the master git branch are for Meteor 1.4+. For prior versions of Meteor, please use the legacy tag and branch.

Build tag

In order to keep the size of the image down, the current tag does not include build-essential tools. If you are using modules which do not supply binary versions for your platform, please use the build tag, which does include build-essential.

NOTE build-essential is necessary if you use the bcrypt module, which is used by the accounts-password package, so if you are using password-based logins on your site, you must use the :build Docker tag (build git branch).

Features:

  • Meteor 1.4+ package/bundle support (for previous Meteor versions, use the legacy branch/tag)
  • Bundle-based execution
    • directory referenced as APP_DIR (meteor build --directory); defaults to /home/meteor/www
    • compressed directory referenced as BUNDLE_FILE (meteor build);
    • downloaded with curl from BUNDLE_URL (if supplied)
    • set CURL_OPTS if you need to pass additional parameters
  • Source-based build/execution
    • Downloads latest Meteor tool at runtime (always the latest tool version unless a RELEASE is specified, but apps run with their own versions)
    • Supply source at SRC_DIR (defaults to /home/meteor/src)
    • Supply source from REPO (git clone URL)
      • Optionally specify a DEPLOY_KEY file for SSH authentication to private repositories
      • Optionally specify a BRANCH is not the default master (can also be a tag name)
  • References your external MongoDB database
    • Uses Docker links (i.e. MONGO_PORT...)
    • Explicit Mongo URLs by at MONGO_URL
    • NOTE: This does NOT set MONGO_OPLOG_URL. There were too many potential complications. As a result, unless you explicitly set MONGO_OPLOG_URL, Meteor will fall back to a polling-based approach to database synchronization. Note that oplog tailing requires a working replica set on your MongoDB server as well as access to the local database.
  • Optionally specify the port on which the web server should run (PORT); defaults to 3000
  • Non-root location of Meteor tree; the script will search for the first .meteor directory
  • NOTE: PhantomJS is no longer pre-installed. This package was swelling the size of the image by 50%, and it is not maintainable with the standard Docker Node images. Instead, please use one of the docker-friendly (read port-based) spiderable packages on Meteor, such as ongoworks:spiderable; if there is demand, please create an issue on Github, and I'll see about managing a separate branch for it.

Versions

The Meteor tool (if required; see Modes of Operation below) is downloaded at runtime, so it is no longer packaged and the version of this docker image does not matter for the version of meteor.

You can specify which version of Meteor you want to be installed by setting the RELEASE as required. However, this release of ulexus/meteor does require a minimum version of 1.4 for your Meteor application.

Modes of operation

There are two basic modes of operation for this image: source and pre-bundled. The source method allows the greatest flexibility, since it builds and bundles Meteor on the deployment system inside the same container. However, it also takes much longer and requires a much larger disk footprint.

Source mode

To utilize source mode, define one of SRC_DIR or REPO:

  • SRC_DIR If you put your application source in the directory pointed to by SRC_DIR (/home/meteor/src, by default), this container will download the Meteor tool, build your application, bundle it, then execute it. It is usually sufficient to simply pass docker run an argument like -v /srv/myApp:/src/app.

  • REPO If you populate the REPO environment variable, it is presumed that this is where your application source resides. This container will git pull your REPO, change to master or the supplied BRANCH (which can also be a tag). The source tree will be placed in APP_DIR, and the script will pick up processing APP_DIR (above) from there.

When the container is run, the appropriate version of the Meteor tool will be downloaded and installed, your application will be built/bundled, and then it will be run. This process can take several minutes to complete.

Running without root

As of Meteor 1.4.2, running Meteor as root has been strongly dissuaded. As a result, we now drop root privileges after starting the container. This means that if you are bind-mounting your source or bundle directories, the files must be readable and writable by the container's unprivileged user (UID 1000).

Pre-bundled mode

To utilize the pre-bundled mode, DO NOT define SRC_DIR or REPO. Instead define one of APP_DIR or BUNDLE_DIR:

  • APP_DIR If you put your bundled application in the directory pointed to by APP_DIR (/home/meteor/www, by default), this container will attempt to find a Meteor bundle in this directory and then start Node to run that bundle. The Meteor tool will not be installed (as a bundled Meteor app needs only Node). The default APP_DIR is /home/meteor/www, so you may attach that as a volume, for greatest simplicity. Something like: -v /srv/myApp:/home/meteor/www.
  • BUNDLE_FILE If you put your compressed (*.tar.gz) application in the directory pointed to by BUNDLE_FILE, this container will attempt to find a compressed Meteor bundle in this directory, decompress the file, and then start Node to run that bundle. The Meteor tool will not be installed (as a bundled Meteor app needs only Node). You may attach that as a volume, for greatest simplicity. Something like: -e BUNDLE_FILE='home/meteor/build.tar.gz -v /srv/build.tar.gz:/home/meteor/build.tar.gz.
  • BUNDLE_URL If you populate BUNDLE_URL, the container expects to find a bundled tarball, as generated by meteor build ./ at this URL. The tarball is downloaded (with curl... so you may set CURL_OPTS as required) and extracted to the bundle directory, and the process continues from BUNDLE_DIR (above).

When the container is run, the Meteor tool will NOT be downloaded. Instead, npm install will be run to resolve any dependencies for the server, and your application will be run directly with NodeJS.

Examples:

git repo with non-default (master) branch

docker run --rm \
  -e ROOT_URL=http://testsite.com \
  -e REPO=https://github.com/yourName/testsite \
  -e BRANCH=testing \
  -e MONGO_URL=mongodb://mymongoserver.com:27017/mydatabase \
  -e MONGO_OPLOG_URL=mongodb://mymongoserver.com:27017/local \
  ulexus/meteor

app source from a local directory on host (/home/user/myapp)

docker run --rm \
  -e ROOT_URL=http://testsite.com \
  -v /home/user/myapp:/home/meteor/src \
  -e MONGO_URL=mongodb://mymongoserver.com:27017/appdb \
  -e MONGO_OPLOG_URL=mongodb://mymongoserver.com:27017/local \
  ulexus/meteor

pre-bundled app from a local directory on host (/home/user/myapp)

docker run --rm \
  -e ROOT_URL=http://testsite.com \
  -v /home/user/myapp:/home/meteor/www \
  -e MONGO_URL=mongodb://mymongoserver.com:27017/appdb \
  -e MONGO_OPLOG_URL=mongodb://mymongoserver.com:27017/local \
  ulexus/meteor

pre-bundled and compressed app from a local directory on host (/home/user/build.tar.gz)

docker run --rm \
  -e ROOT_URL=http://testsite.com \
  -e BUNDLE_FILE=/home/meteor/build.tar.gz \
  -v /home/user/build.tar.gz:/home/meteor/build.tar.gz \
  -e MONGO_URL=mongodb://mymongoserver.com:27017/appdb \
  -e MONGO_OPLOG_URL=mongodb://mymongoserver.com:27017/local \
  ulexus/meteor

local app source directory on host (/home/user/myapp) with specific Meteor release (1.4.2.1)

docker run --rm \
  -e ROOT_URL=http://testsite.com \
  -v /home/user/myapp:/home/meteor/src \
  -e MONGO_URL=mongodb://mymongoserver.com:27017/appdb \
  -e MONGO_OPLOG_URL=mongodb://mymongoserver.com:27017/local \
  -e RELEASE=1.4.2.1 \
  ulexus/meteor

Unit file

There is also a sample systemd unit file in the Github repository.

Build with bundled app

Pre-bundling your Meteor application will make it start much faster and will allow the container to maintain a smaller storage footprint. However, it does require that you build for the same architecture on which you will be deploying.

cd $app_source
meteor build --directory /tmp/export-meteor/build
cat >/tmp/export-meteor/Dockerfile <<ENDHERE
FROM ulexus/meteor
COPY build /home/meteor/www
RUN chown -R meteor:meteor /home/meteor/
ENDHERE
cd /tmp/export-meteor
docker build -t myapp .
docker push myapp

Kubernetes

There is a complete example with build script of building and running a versioned container in kubernetes in the examples directory.

docker-meteor's People

Contributors

104player avatar coolestnerdiii avatar dd137 avatar dipspb avatar liamfiddler avatar patte avatar supermock avatar ulexus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-meteor's Issues

Unable to locate server directory in; using mup

I'm using Kadira/Mup with the following config

module.exports = {
  servers: {
    one: {
      host: "55.55.84.25",
      username: "root",
      pem: "/Users/avi/.ssh/id_rsa.pem",
    }
  },

  meteor: {
    name: 'app',
    path: '../',
    servers: {
      one: {}
    },
    buildOptions: {
      serverOnly: true,
    },
    env: {
      ROOT_URL: 'http://app.com',
      MONGO_URL: 'mongodb://localhost:27017/app'
    },

    dockerImage: 'ulexus/meteor:v1.4',
    deployCheckWaitTime: 280
  },

  mongo: {
    oplog: true,
    port: 27017,
    servers: {
      one: {},
    },
  },
};

and I keep getting

pasted_image_9_23_16__9_07_am

I'm not sure how familiar you are with mup but incase you are were hoping you could lead me in the right direction

best practive to hot push new code into a running container

what is the best practice you recommend ? Ideally I'd like to trigger a git pull inside a running container and have meteor doing the rest. I'm using '''docker-compose''' so I guess it would be possible to just run a command inside the container. I'm wondering if this is the best way of doing this, or I'm missing something. Maybe adding a simple script in the container to do the job ?

thank you !

Not getting the latest git commits

Maybe this is intended but this code

   echo "Getting ${REPO}..."
   if [ -e /usr/src/app/.git ]; then
      pushd /usr/src/app
      git fetch
      popd
   else
      git clone ${REPO} /usr/src/app
   fi

   cd /usr/src/app

   echo "Switching to branch/tag ${BRANCH}..."
   git checkout ${BRANCH}

Basically says, if there's no '.git' folder clone the git repo. If there is a '.git' folder fetch the data. NOTE: fetch does not change any files in the current folder, it only grabs the latest blobs and puts them inside the .git folder

The script then checks out the branch. All that does it is switch to the branch in its current state on the machine

Did you mean to update to the latest? The git fetch should be git pull origin ${BRANCH}

either that or add a

git reset --hard origin/${BRANCH}

after the git checkout

Otherwise there's not much point to the git fetch. I won't effect anything.

you also might want it to be

git reset --hard origin/${BRANCH}
git clean -d -f  

That will delete any directories and files that git doesn't know about, basically making sure the current folder is exactly the state it should be after checking out. (of course maybe the app wrote stuff should stick around?)

npm install never finishes on run

Hey there. I've tried a bunch of different Meteor app repos and I keep getting stopped up the same point in the run process.

I run:

docker run --rm \
  -e ROOT_URL=http://DOCKER_HOST_IP \
  -e REPO=https://github.com/meteor/simple-todos.git \
  -e BRANCH=master \
  -e MONGO_URL=mongodb://NAME:PW@URL:PORT/DB \
  ulexus/meteor

Then I get here the following and it hangs indefinitely.

Getting https://github.com/meteor/simple-todos.git...
Cloning into '/usr/src/app'...
Switching to branch/tag master...
Already on 'master'
Your branch is up-to-date with 'origin/master'.
/var/www/bundle/programs/server /usr/src/app
npm WARN package.json [email protected] No description
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data

> [email protected] install /var/www/bundle/programs/server/node_modules/fibers
> node ./build.js

`linux-x64-v8-3.14` exists; testing
Binary is fine; exiting
[email protected] node_modules/progress

[email protected] node_modules/ip

[email protected] node_modules/underscore

[email protected] node_modules/semver

[email protected] node_modules/chalk
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
└── [email protected] ([email protected])

[email protected] node_modules/source-map-support
└── [email protected] ([email protected])

[email protected] node_modules/fibers
/usr/src/app

For what it's worth, I can successfully deploy with Arunoda's MeteorD with the exact same repo and database url, so it's definitely not the code or the env vars. His package gets the job done, but I'd really prefer the convenience of deploying from a github repo instead of having to Dockerize every app I want to deploy.

Any suggestions on what I may be missing here? Thanks in advance!

Docker help

Hi

Does docker pull meteor mean that my working IDE is in Win or Mac OSX, but the actual running and deployment of code to be in the Linux environment based on shared library?

Local dev on windows

Hello I'm new to docker and I may like to use this image to run a local server on my Windows host so I can test docker a bit (besides I'm wondering if this way, Meteor could be faster than with the Windows native way).
Seemingly I need to provide a MONGO_URL and a ROOT_URL I'm not sure to understand that part, when one runs meteor in the command line a server is started which is accessible localhost:3000, he doesn't have to do anything special. I understand that these URLs must be furnished for prod but then how do I do in local dev (if it's even possible).
I tried :

docker run --rm -v /Easy_16.1.1/eds-www/28bis-WORKSHEETS:/home/meteor/src -e ROOT_URL=http://localhost -e MONGO_URL=127.0.0.1:3001/meteor ulexus/meteor
Unable to locate server directory in ; hold on: we're likely to fail
Failed to locate main.js in ; cannot start application.

Mounting volume with APP_DIR

when I use: -e APP_DIR=/home/myUser/mymetorFolder

I get a message :
Unable to locate server directory; hold on: we're likely to fail
/usr/bin/entrypoint.sh: line 101: cd: /home/myUser/mymetorFolder: No such file or directory

This folder does exist ... and I have no permissions problem on mounting volumes with other containers from that folder...

How to set DEPLOY_KEY

Do I need to build a Dockerfile on top of your container to use?
I'm trying to do:

=> cp: cannot stat '/Users/maxim/repos/frontend/docker_meteor': No such file or directory

I have tried to set key permissions to 777 but that doesn't seem to help.

Utilize multi-stage builds

Now that Docker finally supports multi-stage builds, we should use them in order to reduce the footprint of the resulting images (separating build requirements from runtime requirements).

1.4 - Error: EISDIR: illegal operation on a directory, unlink '/home/meteor/src/app/.meteor/local/dev_bundle'

Hello !
I am struggling with


meteor_1      | 1.4.2
meteor_1      | Building the bundle...(this may take a while)
meteor_1      | /home/meteor/.meteor/packages/meteor-tool/.1.4.2_3.17tso1e++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:190
meteor_1      |       throw error;
meteor_1      |       ^
meteor_1      |
meteor_1      | Error: EISDIR: illegal operation on a directory, unlink '/home/meteor/src/app/.meteor/local/dev_bundle'
meteor_1      |     at Error (native)
meteor_1      |     at Object.fs.unlinkSync (fs.js:932:18)
meteor_1      |     at exports.makeLink (/tools/cli/dev-bundle-links.js:20:8)
meteor_1      |     at [object Object].ensureDevBundleLink (/tools/project-context.js:1444:7)
meteor_1      |     at [object Object]._readFile (/tools/project-context.js:1378:10)
meteor_1      |     at new exports.ReleaseFile (/tools/project-context.js:1328:8)
meteor_1      |     at /tools/cli/main.js:898:22

FYI files :

meteor_1      | drwxr-xr-x   2 meteor staff  4096 Nov 18 17:36 dev_bundle
meteor_1      | lrwxrwxrwx   1 meteor meteor  129 Jan 21 23:55 dev_bundle-0ydfgxf5ia6mvx6r -> /home/meteor/.meteor/packages/meteor-tool/.1.4.2_3.17tso1e++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle
meteor_1      | lrwxrwxrwx   1 meteor meteor  129 Jan 21 21:00 dev_bundle-6l956y9kmcjif6r -> /home/meteor/.meteor/packages/meteor-tool/.1.4.2_3.17tso1e++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle
meteor_1      | lrwxrwxrwx   1 meteor meteor  129 Jan 22 00:15 dev_bundle-ek5w63hf84u0udi -> /home/meteor/.meteor/packages/meteor-tool/.1.4.2_3.17tso1e++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle
meteor_1      | lrwxrwxrwx   1 meteor meteor  129 Jan 22 00:47 dev_bundle-ujlfxas5ozcfecdi -> /home/meteor/.meteor/packages/meteor-tool/.1.4.2_3.17tso1e++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle
meteor_1      | lrwxrwxrwx   1 meteor meteor  129 Jan 22 00:12 dev_bundle-un9xx0ibdkmon7b9 -> /home/meteor/.meteor/packages/meteor-tool/.1.4.2_3.17tso1e++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle
meteor_1      | lrwxrwxrwx   1 meteor meteor  129 Jan 22 00:00 dev_bundle-wyht7ywjkq4ims4i -> /home/meteor/.meteor/packages/meteor-tool/.1.4.2_3.17tso1e++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle
meteor_1      | drwxr-xr-x   4 meteor staff  4096 Jan 21 20:57 isopacks
meteor_1      | drwxr-xr-x 302 meteor staff  4096 Jan 21 20:57 plugin-cache
meteor_1      | -rwxr-xr-x   1 meteor staff  9860 Jan 21 19:07 resolver-result-cache.json

any guess ?

GitHub Authentication

Hey, it would be nice if you could tell me what I'm doing wrong here.
My app's code is hosted on GitHub, so I want to pull from there.

To test how this image works I've created a fresh DO instance, ran ssh-keygen and added the public key to the repo as a deploy key. Now, when I want to run the app, I get an error:

docker run --rm \
  -e ROOT_URL=http://testsite.com \
  -e METEOR_SETTINGS='{"some": "settings"}' \
  -e REPO=https://github.com/zimt28/app \
  -e DEPLOY_KEY=/key \
  -v /root/.ssh/id_rsa.pub:/key \
  -e MONGO_URL=mongodb://url \
  ulexus/meteor
Cloning https://github.com/zimt28/app...
Cloning into '/src/app'...
fatal: could not read Username for 'https://github.com': No such device or address

And idea what's wrong with my approach? Thanks!

bzip2 please

Needed for phantomJS

meteor_1    | Installing application-side NPM dependencies...
meteor_1    | npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
^B^[[5~meteor_1    |
meteor_1    | > [email protected] install /home/meteor/src/node_modules/spacejam/node_modules/phantomjs-prebuilt
meteor_1    | > node install.js
meteor_1    |
meteor_1    | PhantomJS not found on PATH
meteor_1    | Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
meteor_1    | Saving to /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
meteor_1    | Receiving...
meteor_1    |
meteor_1    | Received 22866K total.
meteor_1    | Extracting tar contents (via spawned process)
meteor_1    | Error extracting archive
meteor_1    | Phantom installation failed { [Error: Command failed: tar jxf /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
meteor_1    | tar (child): bzip2: Cannot exec: No such file or directory

Missing make

We recently upgraded to Meteor 1.7 and now this image is failing to run our bundle: https://unee-t-media.s3-accelerate.amazonaws.com/frontend/commit/15be07e.tar.gz

Tbh I assumed that a bundle was ready to go, so I was surprised to see npm at work in the logs... and failing.

Checking Meteor version...
Installing NPM prerequisites...
> [email protected] install /home/meteor/www/bundle/programs/server/node_modules/fibers
> node build.js || nodejs build.js
gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:14:12)
gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:69:19)
gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:81:29)
gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:90:16
gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:44:5
gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/access.js:8:5
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:82:15)
gyp ERR! System Linux 4.14.51-60.38.amzn1.x86_64
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /home/meteor/www/bundle/programs/server/node_modules/fibers
gyp ERR! node -v v4.8.6
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
node-gyp exited with code: 1

So what's the path forward here? Add build-essential to https://github.com/CyCoreSystems/docker-meteor/blob/master/Dockerfile ?

Struggling to get this running in SRC mode on OSX

Thanks for this image and info

I am trying to run a simple test on my dev machine (OSX)

My meteor project is located in /Users/myusername/Documents/development/proj1

docker run --rm -e ROOT_URL=https://somengrokXYZ123.ngrok.io -p 80:80 -v /Users/myusername/Documents/development/proj1 ulexus/meteor

I get error Unable to locate server directory in ; hold on: we're likely to fail Failed to locate main.js in ; cannot start application.

Seems similar to #19

I have tried with settings file etc etc.. still get same issue.

Any help appreciated.

thanks

Support Meteor 1.4

Meteor 1.4 changes the build process and uses NodeJS stable (finally!).

How do we enable/access log ?

Thank you for the docker image 👍, now How do we enable or access the log files of the meteor app once it is running inside the container?

Unable to locate server directory..

Hello,
I've been trying to deploy my meteor app lately, but keep getting stuck on this error.

root@imasoft:~# ls ~/src/imasoft.ba/web
client  package.json  public  server
root@imasoft:~#   docker run --rm \
>   -e ROOT_URL=http://imasoft.ba \
>   -v /home/root/src/imasoft.ba/web:/var/www \
>   -e MONGO_URL=mongodb://localhost:27017/imadb \
>   -e MONGO_OPLOG_URL=mongodb://localhost.com:27017/local \
>   ulexus/meteor
Unable to locate server directory in ; hold on: we're likely to fail
Failed to locate main.js in ; cannot start application.
root@imasoft:~#

What does -v /home/root/src/imasoft.ba/web:/var/www \ mean? I selected the directory that has my meteor source.

I also tried using my repository to get this running but I get this error:

root@imasoft:~# cat /root/.ssh/id_rsa.pub
ssh-rsa .... prints out my ssh key

root@imasoft:~# docker run --rm \
>   -e ROOT_URL=http://imasoft.ba \
>   -e DEPLOY_KEY=/root/.ssh/id_rsa.pub\
>   -e [email protected]:imasoftod/web.git \
>   -e BRANCH=release \
>   -e MONGO_URL=mongodb://localhost:27017/mydatabase \
>   -e MONGO_OPLOG_URL=mongodb://localhost:27017/local \
>   ulexus/meteor
cp: cannot stat '/root/.ssh/id_rsa.pub': No such file or directory

root@imasoft:~#

Thanks.

settings.json

Hello !
Do you have a way to pass settings.xml ?
(edit: I mistyped, I was talking about settings.json of course)
thanks :)

Meteor failing when using the --name option?

Hello,

I tried using the supplied command for running a container based on a GitHub repo, but when I add the --name parameter, e.g. --name=myapp, the app somehow fails. I get all the way to "Starting Meteor...", but then nothing happens. Is this a bug?

The reason I want to use --name to easily retrieve the IP of the container the container, e.g. docker inspect --format '{{ .NetworkSettings.IPAddress }}' myapp.

Any idea on how to solve this?

Deploy with token

How can I deploy with a github api access token?
Is there a option to specify the github username? If there is, we could set the access token to the username and it will work.

Meteor "Retrying download in 5 seconds..."

Hello there !

I can't dl Meteor during the docker "run" phase but I am able to do it in the docker "build" phase :/

Downloading Meteor install script...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7786    0  7786    0     0  17008      0 --:--:-- --:--:-- --:--:-- 17037
...talling Meteor 1.4.1.1
Downloading Meteor distribution
Retrying download in 5 seconds...
Retrying download in 5 seconds...
Retrying download in 5 seconds...

any clues ?

npm install before meteor build

If a Meteor app has npm dependencies listed in package.json, we need to run npm install (or perhaps npm install --production) before building the bundle.

Per this guide section:

Any npm dependencies must be installed before issuing the meteor build command to be included in the bundle.

Could you add a line to install npm dependencies before building the app?

Errors while docker build

I got these errors while building the image with
docker built -t myimg .

The problem is in the DockerFile. You use | sh while the script is a bash script. The fix is pretty easy :
(curl https://deb.nodesource.com/setup_4.x | bash) && \

## Installing packages required for setup: apt-transport-https lsb-release...

+ apt-get install -y apt-transport-https lsb-release > /dev/null 2>&1
sh: 336: Syntax error: Bad fd number
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr
sh: 242: [[: not found
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator

## Confirming "jessie" is supported...

+ curl -sLf -o /dev/null 'https://deb.nodesource.com/node_4.x/dists/jessie/Release'
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 250: [: Xjessie: unexpected operator
sh: 278: [: Xjessie: unexpected operator

## Adding the NodeSource signing key to your keyring...

sh: 299: [[: not found
+ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
OK

## Creating apt sources list file for the NodeSource Node.js v4.x LTS Argon repo...

+ echo 'deb https://deb.nodesource.com/node_4.x jessie main' > /etc/apt/sources.list.d/nodesource.list
+ echo 'deb-src https://deb.nodesource.com/node_4.x jessie main' >> /etc/apt/sources.list.d/nodesource.list

## Running `apt-get update` for you...

+ apt-get update
Hit http://security.debian.org jessie/updates InRelease
Get:1 https://deb.nodesource.com jessie InRelease [3914 B]
Ign http://deb.debian.org jessie InRelease
Hit http://deb.debian.org jessie-updates InRelease
Get:2 http://security.debian.org jessie/updates/main amd64 Packages [422 kB]
Get:3 https://deb.nodesource.com jessie/main Sources [763 B]
Hit http://deb.debian.org jessie Release.gpg
Get:4 https://deb.nodesource.com jessie/main amd64 Packages [964 B]
Hit http://deb.debian.org jessie Release
Get:5 http://deb.debian.org jessie-updates/main amd64 Packages [17.6 kB]
Get:6 http://deb.debian.org jessie/main amd64 Packages [9064 kB]
Fetched 9509 kB in 3s (2680 kB/s)
Reading package lists...
sh: 78: [[: not found
sh: 79: XNode.js v4.x LTS Argon: not found
sh: 80: XNode.js v4.x LTS Argon: not found
sh: 81: XNode.js v4.x LTS Argon: not found
sh: 109: [: XNode.js v4.x LTS Argon: unexpected operator
sh: 139: [: XNode.js v4.x LTS Argon: unexpected operator

## Run `apt-get install nodejs` (as root) to install Node.js v4.x LTS Argon and npm

Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  rlwrap
The following NEW packages will be installed:
  jq nodejs rlwrap
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 9217 kB of archives.
After this operation, 43.6 MB of additional disk space will be used.
Get:1 https://deb.nodesource.com/node_4.x/ jessie/main nodejs amd64 4.7.0-1nodesource1~jessie1 [9040 kB]
Get:2 http://deb.debian.org/debian/ jessie/main jq amd64 1.4-2.1 [102 kB]
Get:3 http://deb.debian.org/debian/ jessie/main rlwrap amd64 0.41-1 [75.7 kB]
debconf: delaying package configuration, since apt-utils is not installed

Image always rebuilds the package

Hey @Ulexus

I'm currently using your image and I just wanted to know the reason for rebuilding the bundle every startup. Wouldn't it be faster if you already built the application to save this state and not rebuild the whole app?

Cheers
Chris

Unable to connect mongo

Greetings I am unable to connect to a self hosted mongo instance.

It seems the imsge is forcing me to use port 27017 I. The url when it true to rub the application. My instance of mongo does not contain a port. Its a direct url with the oath of the database.

Do you have any suggestions to get around this ?

Ends at Building the bundle...(this may take a while) no error shown

I'm using this app which works locally but does not build on docker

git clone https://github.com/dockercochabamba/todos.git meteor-todos-docker
adam@mpb:~/code/meteor/meteor-todos-docker$ docker run \
>   -e ROOT_URL=http://localhost:3000/ \
>   -v $(pwd):/home/meteor/src \
>   -e MONGO_URL=mongodb://mongodb3:27017/appdb \
>   -e MONGO_OPLOG_URL=mongodb://mongodb3:27017/local \
>   ulexus/meteor
Meteor source found in /home/meteor/src/.meteor
Checking Meteor version...
Downloading Meteor install script...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7786    0  7786    0     0  19656      0 --:--:-- --:--:-- --:--:-- 19711
Installing Meteor 1.4.4.1...
Downloading Meteor distribution

Meteor 1.4.4.1 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

Installing application-side NPM dependencies...
npm WARN src No repository field.
npm WARN src No license field.
Building the bundle...(this may take a while)
adam@mpb:~/code/meteor/meteor-todos-docker$

Local packages

Hi, how can i add local packages for my app who work with

environment variable ?

error: unknown package in top-level dependencies: rolljee:getfoldersize unknown package in top-level dependencies: rolljee:pkgcloud

Trying to use meteor 1.6

I tried using meteor 1.6 with

 RELEASE=1.6

And got this message:

Application's Meteor version (1.6) is less than 1.3.1; please use ulexus/meteor:legacy

I'm guessing it wants me to put in 1.6.0? or 1.6.0.0 but meteor itself, after upgrading from 1.5.2.2 just says 1.6 when using meteor version

another issue seems to be the node version. This container references node 4 but meteor 1.6 seems to need node 8

Error: listen EACCES 0.0.0.0:80

I'm getting the following error when launching the container with:

sudo docker run --rm   -e ROOT_URL=http://testsite.com   -v $(pwd):/home/meteor/src   -e MONGO_URL=mongodb://172.17.0.2:27017/appdb   ulexus/meteor

ERROR:
Starting Meteor Application...
events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: listen EACCES 0.0.0.0:80
    at Object.exports._errnoException (util.js:907:11)
    at exports._exceptionWithHostPort (util.js:930:20)
    at Server._listen2 (net.js:1237:19)
    at listen (net.js:1286:10)
    at net.js:1395:9
    at nextTickCallbackWith3Args (node.js:469:9)
    at process._tickCallback (node.js:375:17)

Make better release and tagging system

Meteor has always been tightly-bound to its environment. We need to provide separate tags for the major Meteor release versions. There have generally been major, sweeping changes between what would generally be considered minor version changes (e.g. 1.4 -> 1.5, 1.5 -> 1.6). We want to stay flexible, but we also want to stay current without breaking existing builds.

This means that:

  • we need static image tags from commit hashes
  • we need compatibility tags for Meteor releases (e.g. ulexus/meteor:1.6)
  • we need to figure out whether we should consolidate the build branch or continue to maintain that separately just for the sake of image size... especially considering Docker's new multi-staged build options

Github to local

Hi, i always start my docker containair like that :

#docker-compose.yml

meteor:  
  image:  ulexus/meteor
  ports:
   - "80:80"
  links:
   - mongo
  environment:
   - REPO=https://github.com/...
   - ROOT_URL=http://192.168.59.103
mongo:  
  image: mongo
  ports:
  - "27017:27017"

i would like to start my containair with my local app now. Can i create a git on the app directory and use it like repo=d:/path/to/myapp ? or i need an online git ?

if i cant use a local git what i need to add on the docker-compose.yml ?

when i try to just add

volumes:
    - .:/app

he stay bloqued waiting for the connections on port 27017

ty, sorry for my really bad english.

Version detection not working in 1.4.3-beta.2

No problems in 1.4.2.3, but after updating to the latest beta I'm getting Application's Meteor version is less than 1.3.1; please use ulexus/meteor:legacy.

Downgrading with meteor update --release 1.4.2.3 fixes the problem.

I'm using prebundled builds.
meteor build --directory .build/output --architecture os.linux.x86_64 --server-only

Could the dash cause a delimiter problem in version detection?

Bcrypt fail - can't find Python executable

Get the following error using ulexus/meteor:build - I included the full stdout:

Cloning https://...
Cloning into '/home/meteor/src'...
Switching to branch/tag master...
Already on 'master'
Your branch is up-to-date with 'origin/master'.
Forcing clean...
HEAD is now at 5a4dc06 display analysis error page
Meteor source found in /home/meteor/src/myapp/.meteor
Checking Meteor version...
/usr/bin/entrypoint.sh: line 93: [: -Z: unary operator expected
Application's Meteor version (1.5) is less than 1.3.1; please use ulexus/meteor:legacy
Downloading Meteor install script...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7782    0  7782    0     0   6727      0 --:--:--  0:00:01 --:--:--  6731
Installing Meteor 1.5...
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

Installing application-side NPM dependencies...
npm WARN deprecated [email protected]: gcloud has been renamed to google-cloud. To get new features and bug fixes, you must use the new package.
npm WARN deprecated [email protected]: Use uuid module instead

> [email protected] install /home/meteor/src/pals/node_modules/bcrypt
> node-gyp rebuild

gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at Object.failNoPython (/home/meteor/.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/node-gyp/lib/configure.js:482:19)
gyp ERR! stack     at Object.<anonymous> (/home/meteor/.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/node-gyp/lib/configure.js:396:16)
gyp ERR! stack     at F (/home/meteor/.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/which/which.js:68:16)
gyp ERR! stack     at E (/home/meteor/.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/which/which.js:80:29)
gyp ERR! stack     at /home/meteor/.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/which/which.js:89:16
gyp ERR! stack     at /home/meteor/.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/isexe/index.js:42:5
gyp ERR! stack     at /home/meteor/.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/isexe/mode.js:8:5
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:82:15)
gyp ERR! System Linux 4.4.0-45-generic
gyp ERR! command "/home/meteor/.meteor/packages/meteor-tool/.1.5.0.utbu0o++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node" "/home/meteor/.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/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/meteor/src/pals/node_modules/bcrypt
gyp ERR! node -v v4.8.3
gyp ERR! node-gyp -v v3.6.0
gyp ERR! not ok
npm WARN pals No description
npm WARN/home/meteor/src/pals
+-- [email protected]
| +-- [email protected]
| `-- [email protected]
+-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | `-- [email protected]  deduped
| | +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]  deduped
| | | `-- [email protected]  deduped
| | `-- [email protected]
| |   `-- [email protected]
| +-- [email protected]
| +-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | `-- [email protected]  deduped
| +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | | `-- [email protected]
| | | |   `-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | | +-- [email protected]  deduped
| | | | +-- [email protected]  deduped
| | | | +-- [email protected]  deduped
| | | | +-- [email protected]
| | | | +-- [email protected]  deduped
| | | | +-- [email protected]
| | | | | `-- [email protected]  deduped
| | | | `-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | | +-- [email protected]
| | | | | +-- [email protected]
| | | | | | +-- [email protected]  deduped
| | | | | | +-- [email protected]
| | | | | | | +-- [email protected]  deduped
| | | | | | | +-- [email protected]  deduped
| | | | | | | +-- [email protected]
| | | | | | | `-- [email protected]
| | | | | | `-- [email protected]
| | | | | `-- [email protected]
| | | | |   +-- [email protected]
| | | | |   | +-- [email protected]
| | | | |   | `-- [email protected]
| | | | |   +-- [email protected]
| | | | |   | +-- [email protected]
| | | | |   | +-- [email protected]  deduped
| | | | |   | `-- [email protected]
| | | | |   |   `-- [email protected]
| | | | |   |     `-- [email protected]
| | | | |   +-- [email protected]
| | | | |   `-- [email protected]
| | | | `-- [email protected]
| | | |   +-- [email protected]
| | | |   +-- [email protected]
| | | |   `-- [email protected]
| | | |     +-- [email protected]
| | | |     `-- [email protected]  deduped
| | | `-- [email protected]  deduped
| | +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | | +-- [email protected]
| | | | `-- [email protected]
| | | `-- [email protected]
| | |   +-- [email protected]
| | |   `-- [email protected]
| | +-- [email protected]  deduped
| | +-- [email protected]
| | | `-- [email protected]
| | `-- [email protected]  deduped
| +-- [email protected]
| +-- [email protected]
| +-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]  deduped
| | | `-- [email protected]  deduped
| | +-- [email protected]
| | | +-- [email protected]
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | `-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | | `-- [email protected]  deduped
| | | +-- [email protected]
| | | | `-- [email protected]
| | | |   `-- [email protected]  deduped
| | | +-- [email protected]
| | | `-- [email protected]
| | |   `-- [email protected]  deduped
| | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | | +-- [email protected]  deduped
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | `-- [email protected]
| | | |   +-- [email protected]  deduped
| | | |   +-- [email protected]  deduped
| | | |   `-- [email protected]  deduped
| | | `-- [email protected]
| | |   +-- [email protected]
| | |   +-- [email protected]  deduped
| | |   +-- [email protected]
| | |   | `-- [email protected]  deduped
| | |   +-- [email protected]
| | |   | `-- [email protected]  deduped
| | |   +-- [email protected]
| | |   | `-- [email protected]  deduped
| | |   +-- [email protected]
| | |   | `-- [email protected]  deduped
| | |   +-- [email protected]
| | |   `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]  deduped
| | `-- [email protected]  deduped
| +-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]  deduped
| | | +-- [email protected]
| | | `-- [email protected]
| | `-- [email protected]
| +-- [email protected]
| `-- [email protected]
|   `-- [email protected]  deduped
`-- [email protected]
  +-- [email protected]
  +-- [email protected]
  `-- [email protected]

 pals No repository field.
npm WARN pals No license field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/meteor/.meteor/packages/meteor-tool/1.5.0/mt-os.linux.x86_64/dev_bundle/.npm/_logs/2017-11-02T05_12_49_291Z-debug.log

Do I need to configure the PYTHON variable - or - is it a bug?

Thanks

Meteor version detection

When my container starts I see it says: Checking Meteor version.

It reports 1.3.3 while I am 100% sure I'm using Meteor 1.4.2.1.

Bcrypt Fail node v4.5.0 on v1.4 tag branch

Getting the following error, I'm using the v1.4 tag but still this makes me think it is on the incorrect version of node

ndle/lib/node_modules/which/which.js:14:12)
gyp ERR! stack     at F
(/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/which/which.js:69:19)
gyp ERR! stack     at E
(/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/which/which.js:81:29)
gyp ERR! stack     at
/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/which/which.js:90:16
gyp ERR! stack     at
/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/isexe/index.js:44:5
gyp ERR! stack     at
/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/isexe/access.js:8:5
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:82:15)
gyp ERR! System Linux 4.4.0-38-generic
gyp ERR! command
"/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node"                                                                                                       "/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"                                                     "rebuild"
gyp ERR! cwd /tmp/mt-1ypnncx/npm/node_modules/.temp-bt0fuk/node_modules/bcrypt
gyp ERR! node -v v4.5.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok                                                                                                       
npm ERR! Linux 4.4.0-38-generic                                                                                       npm ERR! argv                                                                                                         "/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node"
"/root/.meteor/packages/meteor-tool/.1.4.1_1.139xb76++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/npm"                                                                                                        "rebuild" "--no-bin-links" "--update-binary"
npm ERR! node v4.5.0                                                                                                  npm ERR! npm  v3.10.6                                                                                                 npm ERR! code ELIFECYCLE                                                                                              npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the bcrypt package,                                            npm ERR! not with npm itself.                                                                                         npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild                                                                                         npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs bcrypt                                                                                          npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls bcrypt
npm ERR! There is likely additional logging output above.                                                                                                                                                                                   npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/mt-1ypnncx/npm/node_modules/.temp-bt0fuk/npm-debug.log 

Error during the launch of nodejs

Hello !

Thanks for your work on meteor + docker.

I do create and launch the image but it fails
ERR! build error
ERR! stack Error: not found: make

any idea ?

mqc_meteor_1  |�[0m Installing Meteor latest...
mqc_meteor_1  |�[0m Removing your existing Meteor installation.
mqc_meteor_1  |�[0m Downloading Meteor distribution
mqc_meteor_1  |�[0m
mqc_meteor_1  |�[0m Meteor 1.4.1.1 has been installed in your home directory (~/.meteor).
mqc_meteor_1  |�[0m Writing a launcher script to /usr/local/bin/meteor for your convenience.
mqc_meteor_1  |�[0m
mqc_meteor_1  |�[0m To get started fast:
mqc_meteor_1  |�[0m
mqc_meteor_1  |�[0m   $ meteor create ~/my_cool_app
mqc_meteor_1  |�[0m   $ cd ~/my_cool_app
mqc_meteor_1  |�[0m   $ meteor
mqc_meteor_1  |�[0m
mqc_meteor_1  |�[0m Or see the docs at:
mqc_meteor_1  |�[0m
mqc_meteor_1  |�[0m   docs.meteor.com
mqc_meteor_1  |�[0m
mqc_meteor_1  |�[0m Building the bundle...(this may take a while)
mqc_meteor_1  |�[0m * zodiase:mdl > Settings file ignored: {zodiase:mdl}/zodiase-mdl.json
mqc_meteor_1  |�[0m Installing NPM prerequisites...
mqc_meteor_1  |�[0m /var/www/bundle/programs/server /src/app
mqc_meteor_1  |�[0m npm WARN package.json [email protected] No description
mqc_meteor_1  |�[0m npm WARN package.json [email protected] No repository field.
mqc_meteor_1  |�[0m npm WARN package.json [email protected] No README data
mqc_meteor_1  |�[0m npm WARN package.json [email protected] No license field.
mqc_meteor_1  |�[0m
mqc_meteor_1  |�[0m > [email protected] install /var/www/bundle/programs/server/node_modules/fibers
mqc_meteor_1  |�[0m > node build.js || nodejs build.js
mqc_meteor_1  |�[0m
mqc_meteor_1  |�[0m gyp ERR! build error
mqc_meteor_1  |�[0m gyp ERR! stack Error: not found: make
mqc_meteor_1  |�[0m gyp ERR! stack     at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:14

mqc_meteor_1  |�[0m gyp ERR! stack     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:69:19)
mqc_meteor_1  |�[0m gyp ERR! stack     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:81:29)
mqc_meteor_1  |�[0m gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/which.js:90:16
mqc_meteor_1  |�[0m gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:4

mqc_meteor_1  |�[0m gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/access.js:

mqc_meteor_1  |�[0m gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:82:15)
mqc_meteor_1  |�[0m gyp ERR! System Linux 4.4.19-moby
mqc_meteor_1  |�[0m gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp
 "rebuild" "--release"
mqc_meteor_1  |�[0m gyp ERR! cwd /var/www/bundle/programs/server/node_modules/fibers
mqc_meteor_1  |�[0m gyp ERR! node -v v4.5.0
mqc_meteor_1  |�[0m gyp ERR! node-gyp -v v3.4.0
mqc_meteor_1  |�[0m gyp ERR! not ok
mqc_meteor_1  |�[0m Build failed
mqc_meteor_1  |�[0m gyp ERR! build error
mqc_meteor_1  |�[0m gyp ERR! stack Error: not found: make
mqc_meteor_1  |�[0m gyp ERR! stack     at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:14

mqc_meteor_1  |�[0m gyp ERR! stack     at F (/usr/lib/node_modules/npm/node_modules/which/which.js:69:19)
mqc_meteor_1  |�[0m gyp ERR! stack     at E (/usr/lib/node_modules/npm/node_modules/which/which.js:81:29)
mqc_meteor_1  |�[0m gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/which.js:90:16
mqc_meteor_1  |�[0m gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:4

mqc_meteor_1  |�[0m gyp ERR! stack     at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/access.js:

mqc_meteor_1  |�[0m gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:82:15)
mqc_meteor_1  |�[0m gyp ERR! System Linux 4.4.19-moby
mqc_meteor_1  |�[0m gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp
 "rebuild" "--release"
mqc_meteor_1  |�[0m gyp ERR! cwd /var/www/bundle/programs/server/node_modules/fibers
mqc_meteor_1  |�[0m gyp ERR! node -v v4.5.0
mqc_meteor_1  |�[0m gyp ERR! node-gyp -v v3.4.0
mqc_meteor_1  |�[0m gyp ERR! not ok
mqc_meteor_1  |�[0m Build failed
mqc_meteor_1  |�[0m npm ERR! Linux 4.4.19-moby
mqc_meteor_1  |�[0m npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
mqc_meteor_1  |�[0m npm ERR! node v4.5.0
mqc_meteor_1  |�[0m npm ERR! npm  v2.15.9
mqc_meteor_1  |�[0m npm ERR! code ELIFECYCLE
mqc_meteor_1  |�[0m
mqc_meteor_1  |�[0m npm ERR! [email protected] install: `node build.js || nodejs build.js`

Does not work

Hi there,

I want to use a meteor bundle created before and put this into my docker image, since the meteor tool wastes too much space on the image.
Looking at the entrypoint.sh file, I would have to put the BUNDLE_DIR name into the APP_DIR and then it finds the bundle but it would not be extracted like in BUNDLE_URL or METEOR_DIR.
So does that work, I mean to upload a bundle from my local machine?

No Exposed Port

I'm not seeing an exposed port

pasted_image_9_23_16__9_10_am

I'm using the following for the deploy

docker run --link mongodb:mongo --rm -e RELEASE=1.4.1 -e PORT=80 -e ROOT_URL=http://55.55.84.25 -e [email protected]:codeHatcher/autoDashboardGenerator.git -e DEPLOY_KEY=/root/.ssh/id_rsa -v /root/.ssh/id_rsa:/root/.ssh/id_rsa -e BRANCH=feature/moveAppDir -e MONGO_URL=mongodb://mongo:27017/app ulexus/meteor:v1.4-build

Not working with Meteor 1.3 and app source

Non-bundled applications do not work with Meteor version 1.3 thanks to needing to compile Fibers (and the latest version of this package does not include build-essentials.

Permission issue

I am trying to deploy in bundled way.

Docker version 1.13.1, build 092cba3

Running the command
sudo docker run --rm -e ROOT_URL=http://10.0.2.185:3000 --link myapp-mongo:mongo-docker -v /home/harishreddy/myapp/:/home/meteor/www -e MONGO_URL=mongodb://mongo-docker:27017/myapp -e MONGO_OPLOG_URL=mongodb://mongo-docker:27017/local -e RELEASE=1.4.2.1 ulexus/meteor

Getting error

Error: EACCES: permission denied, mkdir '/home/meteor/www/bundle/programs/server/node_modules'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, mkdir '/home/meteor/www/bundle/programs/server/node_modules']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/home/meteor/www/bundle/programs/server/node_modules',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/home/meteor/www/bundle/programs/server/node_modules/asap',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ '/usr/lib/node_modules/npm/node_modules/fstream/lib/writer.js:171:25',
npm ERR! '/usr/lib/node_modules/npm/node_modules/mkdirp/index.js:47:53',
npm ERR! 'FSReqWrap.oncomplete (fs.js:82:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

Blocked in step 'Starting Meteor Application ...'

Hello,
I have a problem with docker-meteor, i'm use Docker on Windows 10 and the container stand at this step ' Starting Meteor Application ...'. Without change several minutes. I have build the project with 'meteor build ../' on Windows. And use this docker-compose (same problem directly with the docker command): https://pastebin.com/VfjKxAPi

Image

Thanks for your awnser.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.