zodern / meteor-up Goto Github PK
View Code? Open in Web Editor NEWProduction Quality Meteor Deployment to Anywhere
Home Page: http://meteor-up.com/
License: MIT License
Production Quality Meteor Deployment to Anywhere
Home Page: http://meteor-up.com/
License: MIT License
I'm getting this error in the mongo logs, when setting up mongo container on a VM provided by my university:
Error reading config file: Permission denied
This is not happening elsewhere. If I run the following to create a container it works perfectly:
sudo docker run \
-d \
--restart=always \
--publish=127.0.0.1:27017:27017 \
--volume=/var/lib/mongodb:/data/db \
--name=mongodb \
mongo mongod
Will mup
add an option to provide custom config file to mongo in the future? If not, isn't the config file redundant? Mongo dbpath
is /data/db
as default, and the config file is not needed as is.
If the config file is necessary somehow, I'll close this issue. My problem is probably a result of how my university sets up their VMs.
Current docker will store all the without rolling.
We need to add log rolling by default. We also support custom log drivers (like syslog)
Then user can send logs to a remote server.
My production system was working fine since 6 months, But after the last update, I get the following message, and cannot connect to server. All user accounts and right same. nothing changed.
Any idea?
Regards
on client
GET http://localhost:3000/sockjs/info?cb=wxlvulz3gi net::ERR_CONNECTION_REFUSED
on mup log
cd: can't cd to /opt/earn
/proc/self/fd/9: 3: cd: can't cd to /opt/earn
stepping down to gid: meteoruser
stepping down to uid: meteoruser
stepping down to gid: meteoruser
Not sure what's happened here... but if I set setupMongo: 0, and the remove the mongo node, the setup still tries to install mongo
Setup Environment
TypeError: Cannot read property 'host' of undefined
at Object.setup (index.js:33:15)
at index.js:52:15
at run (/Users/Patrick/meteor-up/node_modules/babel-polyfill/node_modules/core-js/modules/es6.promise.js:104:47)
at /Users/Patrick_/meteor-up/node_modules/babel-polyfill/node_modules/core-js/modules/es6.promise.js:115:28
at flush (/Users/Patrick_/meteor-up/node_modules/babel-polyfill/node_modules/core-js/modules/$.microtask.js:19:5)
at nextTickCallbackWith0Args (node.js:419:9)
at process._tickCallback (node.js:348:13)
This can make the code run faster.
I need to install custom software in the docker image. For example, for my app to run, I need imagemagick
installed in the system. How can I do this?
See: https://github.com/kadirahq/meteor-up/blob/master/lib/execute.js
Here a module function may return a promise. We haven't handle that. We need to implement that too.
I'm curious about mup and hot-code-push.
Since mup reply creates a new Docker container rather than copying the code over the previous version, that suggests to me that there's no support for hot code push.
Moreover, it also suggests that all connected users get disconnected when a new version is deployed.
Is this this case? If not, how??
:)
Hi Guys, What the difference of this from arunoda/meteor-up: Production Quality Meteor Deployments?
Can you please put some notes to help users who don't actively track the developments?
Thank you.
When I try to deploy my app I get this error:
macpro:do Tim$ DEBUG=* mup-test deploy
mup:module:default exec => mup deploy +0ms
mup:module:meteor exec => mup meteor deploy +0ms
mup:module:meteor exec => mup meteor push +12ms
Bulding App Bundle Locally
=> Archiving failed: ENOENT, stat '/tmp/ee280d18-a4fc-4820-b11f-4d2289d81ae6/bundle/programs/server/npm/react-runtime-prod/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/.#README.md'
Error: ENOENT, stat '/tmp/ee280d18-a4fc-4820-b11f-4d2289d81ae6/bundle/programs/server/npm/react-runtime-prod/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/.#README.md
Unfortunately there's absolutely no indication as to what could be going wrong :(
Yesterday I did a quick integration of Let's Encrypt in the deprecated MeteorUp repository. These are the pull requests: #873 and meteorhacks/mup-frontend-server#10
I would like to do this in a better way within this repo. After having a look to the architecture of this new MeteorUp, I thought that could be nice to create another module called tls
or ssl
, so we could use the following commands in the CLI:
mup tls status
: Give current status of the certificate, expiration, register, etc.mup tls renew
: Renew the certificate.To configure Let's Encrypt generator, I was thinking about the following mup.js
API:
...
"ssl": {
"autogenerate": {
"email": "[email protected]",
"domains": "example.com"
}
...
}
...
In order to use the renew, it should be needed to include the autogenerate
option in the mup.js
file.
The way I would like to approach the generation is using the Let's Encrypt plugins webroot
and standalone
. Both behaviours could be included in the meteorhacks/mup-frontend-server
container, as Let's Encrypt needs to expose a challenge file using a webserver that will be fetched by the certificate authority using the given domains as URL base. If the file is correctly fetched by them using the domains, the certificate is validated.
The usage I was thinking is mounting a volume to the container including the certificates.
autogenerate
is set up: Container should run a cron job every week to check if the certificate will expire soon and renew the certificate, persisting it through the volume. This will use the webroot
plugin, to avoid having downtime for the generation of the certificate.autogenerate
is set up: The container should generate a new certificate using the standalone
plugin, as nginx can not boot up without the certificate (Another option is having two nginx.conf
files). Once the certificate is generated, nginx would boot normally.If you have any suggestion to improve this implementation, let me know and we can work on it.
mup deploy
Bulding App Bundle Locally
events.js:141
throw er; // Unhandled 'error' event
^
Error: spawn meteor ENOENT
at exports._errnoException (util.js:870:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
at onErrorNT (internal/child_process.js:344:16)
at nextTickCallbackWith2Args (node.js:441:9)
at process.tickCallback (node.js:355:17)
QuadCore-iMac:parooz Patrick$ DEBUG=* mup deploy
mup:module:default exec => mup deploy +0ms
mup:module:meteor exec => mup meteor deploy +1ms
mup:module:meteor exec => mup meteor push +3ms
Bulding App Bundle Locally
events.js:141
throw er; // Unhandled 'error' event
^
Error: spawn meteor ENOENT
at exports._errnoException (util.js:870:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
at onErrorNT (internal/child_process.js:344:16)
at nextTickCallbackWith2Args (node.js:441:9)
at process.tickCallback (node.js:355:17)
QuadCore-iMac:parooz Patrick$ node -v
v4.2.6
Update: (by @arunoda)
Here's how this works:
This may just not be implemented yet, but the settings.json file isn't being used.
when I try to deploy my app on windows, I got the message 'module' is undefined.
module.exports = {
servers: {
one: {
"host": "...",
"username": "...",
"pem": "..."
}
},
meteor: {
name: '...',
path: '../../webinterface',
servers: {
one: {}
},
env: {
"PORT": 81,
"ROOT_URL": "...",
"DDP_DEFAULT_CONNECTION_URL": "..."
},
deployCheckWaitTime: 30 //default 10
}
};
Bulding App Bundle Locally should be
Building App Bundle Locally
meteor-up>lib>modules>meteor>index.js line 77
I tried to deploy a meteor 1.3 app with this version of mup and repeatedly got this error :
[46.101.252.105] - setup docker
events.js:154
throw er; // Unhandled 'error' event
^
Error: Timed out while waiting for handshake
at [object Object]._onTimeout (/home/pubudu/meteor-up/node_modules/ssh2/lib/client.js:138:17)
at Timer.listOnTimeout (timers.js:92:15)
Any idea what's happening?
Update: (by @arunoda)
We should only allow this, if following conditions are met.
I got a few errors during the verification of the deployment on different operating systems:
Under Centos 7 and Ubuntu 14.04:
Started TaskList: Start Meteor
[xxx.xxx.xxx.xxx] - Start Meteor
[xxx.xxx.xxx.xxx] - Start Meteor: SUCCESS
[xxx.xxx.xxx.xxx] - Verifying Deployment
[xxx.xxx.xxx.xxx] x Verifying Deployment: FAILED
-----------------------------------STDERR-----------------------------------
d.
npm WARN package.json [email protected] No README data
> [email protected] install /bundle/bundle/programs/server/node_modules/fibers
> node ./build.js
linux-x64-v8-3.14
exists; testing
Binary is fine; exiting
[email protected] node_modules/ansi-regex
[email protected] node_modules/ansi-styles
[email protected] node_modules/escape-string-regexp
[email protected] node_modules/chalk
[email protected] node_modules/strip-ansi
[email protected] node_modules/supports-color
[email protected] node_modules/has-ansi
[email protected] node_modules/eachline
[email protected] node_modules/type-of
[email protected] node_modules/amdefine
[email protected] node_modules/asap
[email protected] node_modules/underscore
[email protected] node_modules/meteor-promise
[email protected] node_modules/promise
[email protected] node_modules/source-map-support
[email protected] node_modules/semver
[email protected] node_modules/source-map
[email protected] node_modules/fibers
=> Starting meteor app on port:80
-----------------------------------STDOUT-----------------------------------
To see more logs type 'mup logs --tail=50'
----------------------------------------------------------------------------
Error:
-----------------------------------STDERR-----------------------------------
d.
npm WARN package.json [email protected] No README data[email protected] install /bundle/bundle/programs/server/node_modules/fibers
node ./build.js
linux-x64-v8-3.14` exists; testing
Binary is fine; exiting
[email protected] node_modules/ansi-regex
[email protected] node_modules/ansi-styles
[email protected] node_modules/escape-string-regexp
[email protected] node_modules/chalk
[email protected] node_modules/strip-ansi
[email protected] node_modules/supports-color
[email protected] node_modules/has-ansi
[email protected] node_modules/eachline
[email protected] node_modules/type-of
[email protected] node_modules/amdefine
[email protected] node_modules/asap
[email protected] node_modules/underscore
[email protected] node_modules/meteor-promise
[email protected] node_modules/promise
[email protected] node_modules/source-map-support
[email protected] node_modules/semver
[email protected] node_modules/source-map
[email protected] node_modules/fibers
=> Starting meteor app on port:80
-----------------------------------STDOUT-----------------------------------To see more logs type 'mup logs --tail=50'
at /Users/mzygmunt/Desktop/jakis/meteor-up/node_modules/nodemiral/lib/coreTasks.js:39:16
at /Users/mzygmunt/Desktop/jakis/meteor-up/node_modules/nodemiral/lib/session.js:146:9
at Channel. (/Users/mzygmunt/Desktop/jakis/meteor->up/node_modules/nodemiral/lib/ssh.js:125:9)
at emitOne (events.js:90:13)
at Channel.emit (events.js:182:7)
at SSH2Stream. (/Users/mzygmunt/Desktop/jakis/meteor->up/node_modules/ssh2/lib/Channel.js:124:14)
at SSH2Stream.g (events.js:273:16)
at emitNone (events.js:80:13)
at SSH2Stream.emit (events.js:179:7)
at parsePacket (/Users/mzygmunt/Desktop/jakis/meteor-up/node_modules/ssh2->streams/lib/ssh.js:3435:10)
at SSH2Stream._transform (/Users/mzygmunt/Desktop/jakis/meteor-up/node_modules/ssh2->streams/lib/ssh.js:552:13)
at SSH2Stream.Transform._read (_stream_transform.js:166:10)
at SSH2Stream._read (/Users/mzygmunt/Desktop/jakis/meteor-up/node_modules/ssh2->streams/lib/ssh.js:213:15)
at SSH2Stream.Transform._write (_stream_transform.js:154:12)
at doWrite (_stream_writable.js:292:12)
at writeOrBuffer (_stream_writable.js:278:5)
Under Debian 7 and Debian 8:
Started TaskList: Start Meteor
[51.255.41.243] - Start Meteor
[51.255.41.243] - Start Meteor: SUCCESS
[51.255.41.243] - Verifying Deployment
[51.255.41.243] x Verifying Deployment: FAILED
-----------------------------------STDERR-----------------------------------
WARN deprecated
npm WARN deprecated To upgrade to the latest stable version, run:
npm WARN deprecated
npm WARN deprecated npm -g install npm@latest
npm WARN deprecated
npm WARN deprecated (Depending on how Node.js was installed on your system, you
npm WARN deprecated may need to prefix the preceding commands withsudo
, or if
npm WARN deprecated on Windows, run them from an Administrator prompt.)
npm WARN deprecated
npm WARN deprecated If you're running the version of npm bundled with
npm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTS
npm WARN deprecated will be bundled with a version of npm@2, which has some small
npm WARN deprecated backwards-incompatible changes made tonpm run-script
and
npm WARN deprecated semver behavior.
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
=> Starting meteor app on port:80
-----------------------------------STDOUT-----------------------------------
To see more logs type 'mup logs --tail=50'
----------------------------------------------------------------------------
Error:
-----------------------------------STDERR-----------------------------------
WARN deprecated
npm WARN deprecated To upgrade to the latest stable version, run:
npm WARN deprecated
npm WARN deprecated npm -g install npm@latest
npm WARN deprecated
npm WARN deprecated (Depending on how Node.js was installed on your system, you
npm WARN deprecated may need to prefix the preceding commands withsudo
, or if
npm WARN deprecated on Windows, run them from an Administrator prompt.)
npm WARN deprecated
npm WARN deprecated If you're running the version of npm bundled with
npm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTS
npm WARN deprecated will be bundled with a version of npm@2, which has some small
npm WARN deprecated backwards-incompatible changes made tonpm run-script
and
npm WARN deprecated semver behavior.
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
=> Starting meteor app on port:80
-----------------------------------STDOUT-----------------------------------To see more logs type 'mup logs --tail=50'
at /Users/mzygmunt/Desktop/jakis/meteor-up/node_modules/nodemiral/lib/coreTasks.js:39:16
at /Users/mzygmunt/Desktop/jakis/meteor-up/node_modules/nodemiral/lib/session.js:146:9
at Channel. (/Users/mzygmunt/Desktop/jakis/meteor->up/node_modules/nodemiral/lib/ssh.js:125:9)
at emitOne (events.js:90:13)
at Channel.emit (events.js:182:7)
at SSH2Stream. (/Users/mzygmunt/Desktop/jakis/meteor->up/node_modules/ssh2/lib/Channel.js:124:14)
at SSH2Stream.g (events.js:273:16)
I followed the installation instructions and got:
npm install
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No description
npm ERR! EEXIST, open 'c:\Users\Marc\.nodejs\npm\882100b8-js-npm-lodash-3-10-1-package-tgz.lock'
File exists: c:\Users\Marc\.nodejs\npm\882100b8-js-npm-lodash-3-10-1-package-tgz.lock
Move it away, and try again.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd C:\Projects\web\meteor-up\setup\meteor-up
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! path c:\Users\Marc\.nodejs\npm\882100b8-js-npm-lodash-3-10-1-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0
I tried to remove c:\Users\Marc.nodejs\npm\882100b8-js-npm-lodash-3-10-1-package-tgz.lock but the file doesn't exists.
I had to change this from:
pem: '~/.ssh/id_rsa'
pem: '/Users/Patrick_/.ssh/id_rsa'
because of this result: open '/Users/Patrick_/app/~/.ssh/id_rsa'
This port of the old mup
looks really promising! I have a problem though, maybe bacause of my poor knowledge about running node modules that use babel. I followed the steps in the README.md
and got the following SyntaxError
when running mup init
on my project:
$ mup init
/usr/local/lib/node_modules/mup/lib/execute.js:1
(function (exports, require, module, __filename, __dirname) { import modules from './modules/';
^^^^^^
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Module._extensions..js (module.js:405:10)
at Object.require.extensions.(anonymous function) [as .js] (/usr/local/lib/node_modules/mup/node_modules/babel-register/lib/node.js:138:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/local/lib/node_modules/mup/index.js:12:1)
at Module._compile (module.js:398:26)
I'm running OS X 10.11.1 and my current versions of related utilities are:
EDIT: If I run mup inside dev folder it works as expected:
node ~/projects/meteor-up/index.js init
Hello,
Changing the option setupMongo from 1 to 0 does not affect the installation of Mongo. Despite it, Mongo is installed and configured on the server.
We need to add a way to update nginx configurations without restarting it. We can't do this by default because we can't do it for WS connections.
Find a way to do this with integrating Nginx's Lua capabilities or something else.
Using the old mup we were able to deploy multiple apps binding to different ports and use nginx to manage them. How can we do it with this one?
Hi,
I installed mup, set up the server and deployed it successfully (from commit t 7dfd01d). (just need to add deployCheckWaitTime: 60).
(...)
[logview-webapp-sl.logview.com.br] - Verifying Deployment
[logview-webapp-sl.logview.com.br] - Verifying Deployment: SUCCESS
The deploy runs, but apparently from a 'fresh' mongodb, and not the custom MONGO_URL. I'm using mongolab for the mongodb -- outside the deploy VM.
With an old mup version it worked fine. I used "setupMongo": false in the mup.json, but I'm not sure where to put it in the mup.js of the newer version. Anyway, even if it gets set up, the MONGO_URL should be the one which is effectively used, right?
I'm assuming that it's using a new/fresh DB because the credentials in the deploy doesn't work. But another deploy which is using the same DB / MONGO_URL is working fine.
My mup.js:
module.exports = {
servers: {
one: {
host: 'logview-webapp-sl.logview.com.br',
username: 'XXXX',
password: 'XXXX',
// pem: './mykey',
},
},
meteor: {
name: 'logview',
path: '/atto/logview-webapp',
servers: {
one: {},
},
env: {
ROOT_URL: 'http://logview-webapp-sl.logview.com.br',
MONGO_URL: 'mongodb://logview:[email protected]:29435,ds029435-a1.mongolab.com:29435/logview?replicaSet=rs-ds029435',
LOGVIEW_EVENTLOG_ENABLE: 'false',
LOGVIEW_TELEGRAM_ENABLE: 'false'
},
deployCheckWaitTime: 60
},
mongo: {
oplog: true,
port: 27017,
servers: {
one: {},
},
},
};
Maybe the URL having the replica set parameters is causing any issue?
PS: I confirmed that with a 'simpler' URL the issue persists.
mongodb://logview:[email protected]:29605/logview-dev
Thank you!
We need to make the mongodb server a single server replica set.
https://www.npmjs.com/package/mgp something to help add private packages would help with ci integration.
setupMongo: 0
still builds mongo.
I'm testing this new version on my setup. I don't need mongo so my mup.js file doesn't include that section. As a result the setup procedure fails:
macpro:do Tim$ DEBUG=* mup-test setup
mup:module:default exec => mup setup +0ms
mup:module:docker exec => mup docker setup +0ms
Started TaskList: Setup Docker
[xx.xx.xx.xx] - setup docker
[xx.xx.xx.xx] - setup docker: SUCCESS
mup:module:meteor exec => mup meteor setup +769ms
Started TaskList: Setup Meteor
[xx.xx.xx.xx] - Setup Environment
mup:module:mongo exec => mup mongo setup +1ms
TypeError: Cannot read property '_host' of undefined
at Object.setup (index.js:33:15)
at index.js:52:15
at run (/Users/Tim/Development/meteor-up/node_modules/babel-polyfill/node_modules/core-js/modules/es6.promise.js:104:47)
at /Users/Tim/Development/meteor-up/node_modules/babel-polyfill/node_modules/core-js/modules/es6.promise.js:115:28
at flush (/Users/Tim/Development/meteor-up/node_modules/babel-polyfill/node_modules/core-js/modules/$.microtask.js:19:5)
at process._tickCallback (node.js:419:13)
Here's my mup.js file:
module.exports = {
servers: {
one: {
host: 'xx.xx.xx.xx',
user: 'root',
pem: '../digitalocean'
},
},
meteor: {
name: 'beesily',
path: '../../services/web',
servers: {
one: {},
},
setupMongo: 0,
env: {
ROOT_URL: 'http://xx.xx.xx.xx',
MONGO_URL: <url>,
MONGO_OPLOG_URL: <url>,
DISABLE_WEBSOCKETS: '1'
},
},
};
I'm taking out the calls to setup and start mongo so that I can continue testing.
Especially since i have mup, mupx and other mup version running
Excuse me, I am new for deploying to production.
Now I created POS System
, and then I would like to deploy to my own hardware (Dell i5, Ram 8).
Please tell me for pre requirement:
MUP
)I don't understand why i am to initialize my mup project inside a .deploy directory, I already have a meteor project. I'd like to try figure out how to build it with mup?
Is this version of mup compatible with Meteorhacks Cluster?
How about with SSL at the same time?
Thanks
Show more user friendly messages when mup.json
file or settings.json
file does not exist.
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.