Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Sep 26 02:09
    davinderkumar closed #1269
  • Sep 25 18:08
    asgaraliyev commented #883
  • Sep 25 18:07
    asgaraliyev commented #883
  • Sep 25 18:07
    asgaraliyev commented #883
  • Sep 25 12:20
    davinderkumar opened #1269
  • Sep 21 12:57
    ddaydd opened #1268
  • Sep 20 18:40
    graphikjunkie opened #1267
  • Sep 20 02:19

    zodern on master

    Update image in config to suppo… Update Meteor Support table (compare)

  • Sep 20 02:11

    zodern on master

    Update build badge (compare)

  • Sep 20 01:51
    zodern closed #1227
  • Sep 20 01:51
    zodern commented #1227
  • Sep 20 01:51
    zodern commented #1225
  • Sep 20 01:46

    zodern on master

    Release 1.5.4 (compare)

  • Sep 20 01:46

    dependabot[bot] on npm_and_yarn

    (compare)

  • Sep 20 01:46
    dependabot[bot] closed #1216
  • Sep 20 01:46
    dependabot[bot] edited #1216
  • Sep 20 01:46
    dependabot[bot] commented #1216
  • Sep 20 01:45
    dependabot[bot] edited #1216
  • Sep 20 01:45

    zodern on 1.5.4

    (compare)

  • Sep 20 01:45

    zodern on master

    Clean up build.js Pass api to config preparers Fix "mup status" when config.se… and 25 more (compare)

Laurent Roger
@lc3t35
find why cpu is high using meteor’s apm package : https://montiapm.com
Erik Demaine
@edemaine
https://meteor-up.com/docs.html#swarm says that swarm is required for load balancing and zero-downtime deploys, while https://zodern.me/posts/meteor-up-1-5/ seems to suggest that this can be done just with nginx proxy. Which is right?
Erik Demaine
@edemaine
Also, does anyone have a sample configuration for medium-scale deploy? Do people typically run proxy, mongodb, and n meteor instances on n+2 different machines?
zodern
@zodern
@edemaine load balancing can be done with either swarm, or enabling the option for the proxy. This changed when 1.5 was almost finished, but the docs haven't been updated.
If you use let's encrypt, the proxy can only be run on one server. If you want to run the proxy on multiple servers, you can create the certificates from a different source and have Meteor Up upload them to each server. For one app that I want multiple load balancers for, I use https://support.cloudflare.com/hc/en-us/articles/115000479507-Managing-Cloudflare-Origin-CA-certificates.
zodern
@zodern
For medium scale deploys of a production app you might want to:
  • If you use Let's encrypt, have one server with the proxy. If your Meteor app uses a lot of CPU or you have a large number of requests per second you might want this on a separate server. Mup 1.6 will likely support high availability for the proxy when using a floating IP address and multiple servers, but right now it is a single point of failure.
  • Use Atlas or another Mongo hosting service, or run a replica set yourself
  • Run the app on 3+ servers for high availability and spreading the load
  • Optionally use a private docker registry for faster deploys: http://meteor-up.com/docs.html#private-docker-registry
Erik Demaine
@edemaine
Thanks @zodern!! My app currently seems to be CPU-limited, and most of that seems to be the Meteor processes, so I'll try 1 host for proxy, 1 host for Mongo (though maybe those two could be merged), and 3+ hosts for Meteor, for starters anyway.
Erik Demaine
@edemaine
Oh, and redis. I guess I'll try putting that on the proxy host...
Zamil Murji
@zmurji
I'm looking to support a static site at the domain (e.g. example.com) on an AWS EC2 instance.
I'd like to run the meteor app at a subdomain for the same domain (e.g. mysubdomain.example.com)
Currently I have the mysubdomain.example.com working and I'd like some help with getting the static site working. Can anybody provide an example mup.js file that does what I'm looking for? Do I need to build a docker image with my static site?
Thanks in advance for everyone's help
Zamil Murji
@zmurji
I should mention I want everything on the same AWS EC2 instance
zodern
@zodern

I had considered building a plugin for static websites, but I've switched to using Netlify or similar services. Would you mind sharing why you want to host your static site on the server instead of using a service? If there is enough interest I might still build the plugin.

These would be the two easiest options:

  1. Use https://www.npmjs.com/package/mup-docker-deploy with a custom dockerfile
  2. Create a simple node server (maybe with express and the static middleware) to serve the static files and deploy with https://www.npmjs.com/package/mup-node
Zamil Murji
@zmurji
I didn't want to have the static website and meteor site on two different servers or services. Trying to keep everything on one EC2 instance. Reading the docs a bit more, can I use env PORT to solve my problem? If I set env PORT for the app to something other than 80 (say 5000 like the example in the doc), would subdomain work to connect to that port automatically? I could then use my current nginx setup for the static website on the server that binds to port 80/443
Zamil Murji
@zmurji
initially when I had the nginx server running on port 80/443, mup was failing as it couldn't bind to that port. will give it a try and post my results.
Erik Demaine
@edemaine
In case anyone would like an example configuration for a multiple-machine deployment, here is one, along with description / recommended configuration.
Laurent Roger
@lc3t35
thank you @edemaine, did you also study how to upscale mongo ?
Grzegorz Pociejewski
@pociej
hi, is here anyone who can help me with SSL setup ?
Im trying to run mup proxy setup but i got

```Started TaskList: Setup proxy
[46.101.130.237] - Setup Environment
[46.101.130.237] - Setup Environment: SUCCESS
[46.101.130.237] - Pushing the Startup Script
[46.101.130.237] - Pushing the Startup Script: SUCCESS
[46.101.130.237] - Pushing Nginx Config Template
[46.101.130.237] - Pushing Nginx Config Template: SUCCESS
[46.101.130.237] - Pushing Nginx Config
[46.101.130.237] - Pushing Nginx Config: SUCCESS
[46.101.130.237] - Cleaning Up SSL Certificates
[46.101.130.237] - Cleaning Up SSL Certificates: SUCCESS
[46.101.130.237] - Copying SSL Certificate Bundle
[46.101.130.237] - Copying SSL Certificate Bundle: SUCCESS
[46.101.130.237] - Copying SSL Private Key
[46.101.130.237] - Copying SSL Private Key: SUCCESS
[46.101.130.237] - Setup SSL Certificates for Domains
[46.101.130.237] - Setup SSL Certificates for Domains: SUCCESS
[46.101.130.237] - Configure Nginx Upstream
[46.101.130.237] - Configure Nginx Upstream: SUCCESS

Started TaskList: Start proxy
[46.101.130.237] - Start proxy
[46.101.130.237] x Start proxy: FAILED

      ------------------------------------STDERR------------------------------------
      Error response from daemon: endpoint mup-nginx-proxy not found
Error response from daemon: network mup-proxy not found
Error: No such container: mup-nginx-proxy-letsencrypt
Error response from daemon: endpoint mup-nginx-proxy-letsencrypt not found
Error response from daemon: network mup-proxy not found
docker: Error response from daemon: driver failed programming external connectivity on endpoint mup-nginx-proxy (057cfe2e00d4b1ee883bd96e44eee00af88d5afc490dfc4b33bb724954e5a323): Bind for 0.0.0.0:80 failed: port is already allocated.

      ------------------------------------STDOUT------------------------------------
      mup-nginx-proxy
Removed mup-nginx-proxy
Removed mup-nginx-proxy-letsencrypt
latest: Pulling from jrcs/letsencrypt-nginx-proxy-companion
Digest: sha256:c2eaeb6a04620732d30003fecdf9c3ae81c2b7f838fb8485c6f2c21366bffabd
Status: Image is up to date for jrcs/letsencrypt-nginx-proxy-companion:latest
docker.io/jrcs/letsencrypt-nginx-proxy-companion:latest
Using default tag: latest
latest: Pulling from jwilder/nginx-proxy
Digest: sha256:4116f2b6fb9b2a41d94149e8261c81ebbfd96aa84882d87f19c45e00a7c3c221
Status: Image is up to date for jwilder/nginx-proxy:latest
docker.io/jwilder/nginx-proxy:latest
Pulled jwilder/nginx-proxy and jrcs/letsencrypt-nginx-proxy-companion
d3ecc6eacb03a35e3e49075c957b4fc16f8f42cbb89acecdf00cb331ff20875f

      ------------------------------------------------------------------------------```
Laurent Roger
@lc3t35
as it said, port is already allocated
do you have another ng’ox or apache2 running on your host or another docker ?
(« another nginx »)
Grzegorz Pociejewski
@pociej
@lc3t35 thx for reply but there is no ngix at least not one run by me. Here is what is running there :
➜ stage git:(stage) ✗ mup docker ps
[46.101.130.237] docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
18ca9aafb793 mup-app:latest "/bin/sh -c 'bash $M…" 44 hours ago Up 44 hours 0.0.0.0:80->80/tcp app
1561a2cec1a3 mongo:3.4.1 "/entrypoint.sh mong…" 7 weeks ago Up 11 days 127.0.0.1:27017->27017/tcp mongodb
so indeed there is app running on port 80
but i expected mup to manage things. Should i stop app cntainer then run proxy and redeploy ?
Grzegorz Pociejewski
@pociej
Ok after i stop the app config proxy and them redeploy it seems to be running ( at least no error )
but still i see invalid cert error while im sure certificate is ok, should i go there and place certificate related files somwhere in container ?
Laurent Roger
@lc3t35
what is the error message ?
zodern
@zodern
I released mup-node 0.8 today. This release adds support for production debugging. Run mup node debug, and you can connect your local Node devtools, for example those in Chrome, to your Node app running on the server.
Slind14
@Slind14
Hi @zodern do you know if there is a way to set an environment variable with multiple args? E.g. for nodejs diagnostics this is required:
NODE_OPTIONS: '--report-uncaught-exception --report-on-fatalerror --report-on-signal --report-signal=SIGUSR2 --report-filename=./meteor-app-diagnostic-report.json --report-directory=/tmp'
If done through mup it fails with Error response from daemon: Dockerfile parse error line 13: ARG requires exactly one argument
or adding them to the node start command
Richard Marks
@TheRichardMarks_gitlab
Hello everyone. I have a bit of an issue. I've been hired to update an app that is pretty active and in production. I'm faced with redeploying updates to the app, it was learned that mup was used to deploy the app, however the original deployment mup.js file is no longer available. I have root ssh access to the production server. Is there any way for me to reverse-engineer/dump the mup.js config details on the production server so that I can recreate the deployment to match the current configuration? Or do I have to start over from scratch? There are multiple apps being run through mup on this server, and downtime needs to be at a minimum.
Fred-J
@Fred-J
Hello, When mup setup --verbose runs on Windows 10 Power Shell, it gives path\to\mup.ps1 is not digitally signed. Do I need to change Windows PowerShell execution policies? The second question is do I need to use mup.cmd setup or that ".cmd" only applies to mup.cmd init?
Eric Priou
@erixtekila
Hi,
Could somebody share a post.mongo.start hook that access mongo via its shell. Thanks
Laurent Roger
@lc3t35
can you detail Erik ?
Eric Priou
@erixtekila
Yep. I would like to launch a ssh command, after the local mongo db has started. BTW, the plugin API is not really documented and I have hard time to figure how to get into mongo from it
hooks": {
    "post.mongo.start" (api)
    {
      const config = api.getConfig();
      console.log(config);
    }
  }
conorstrejcek
@conorstrejcek
Hey, I had a quick question about the docker image which meteor-up uses for the proxy. Is it possible to update to a newer version of this image using the mup CLI, or is there an accepted way to do this? I mainly want to keep nginx up to date without interfering with the normal mup process, so I've been avoiding manually updating the image.
conorstrejcek
@conorstrejcek
@djbelieny Did you ever get more information on updating the nginx-proxy docker image?
Rob Gordon
@robgordon_gitlab

Hi - in need of assistance - been using mup for 4+ years. Love it.
But I'm completely at a loss as to why I'm getting a 503 Service Temporarily Unavailable. (Am trying to re-release an existing working app to a new Digital Ocean droplet)

mup status looks like everything has deployed perfectly. Any suggestions?

Meteor version 1.8.2.
image: 'zodern/meteor:root'.

conorstrejcek
@conorstrejcek
@robgordon_gitlab If you are using the proxy, are you able to share nginx logs?
Fred-J
@Fred-J
How to modify the proxy nginx-config which is generated by mup? "mup proxy nginx-config" shows it.
Rob Gordon
@robgordon_gitlab
@conorstrejcek @Fred-J Thanks for your responses. As mentioned, this was an existing application that had successfully been deployed perhaps a dozen times over the last 12 months. I'm not sure why I was getting that error, nor why it finally deployed without an error; very frustrating but as of Mar 08 it's been uploaded :)
Renan LE CARO
@renanlecaro
Hi all, I've created a github workflow to upload my open source app to digital ocean with mup directly in a github vm. It lets me deploy faster (my upload speed at home is terrible) and rollback changes on github from a mobile phone (useful for indies). So i though i'd share the file : https://github.com/renanlecaro/simpletextnet/blob/master/.github/workflows/main.yml
fmatheus
@fmatheus_gitlab
Hi, hope this is the right place to ask, npm is hanging in the middle of npm install --unsafe-perms inside docker, outside seens to work fine. Any hints?
seems to be on the 'extract:reify' (npm 6) or 'inflate:xtend' (npm 7) so registry http did not worked
fmatheus
@fmatheus_gitlab
reify is only installed by mup script, npm install --unsafe-perms works fine in my app inside zodern/meteor image when I download it, but hangs with in the same image with mup script, maybe the problem is it trying to install meteor 2.2 deps?
fmatheus
@fmatheus_gitlab
changing to meteor 2.2.3 moves to hang while extracting fibers
fmatheus
@fmatheus_gitlab
Looks like the problem isn't of above, npm is just eating the error:
meteor build (2.2.x) for some reason is generating a bundle/programs/server/package.json with "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e" instead of package version, editing it to "source-map-support": "0.5.20" workaround the issue.
DavidFM
@ddaydd
hello everyone, can you help me? how can we verify that the load balancing is working well? i have three servers with proxy.loadBalancing: true , and the zero downtime is not working... thanks