2
$ meteor --version
Meteor 0.9.4
$ meteor create todos
$ cd todos
$ meteor deploy blah
Uploading...
[=                   ] 7% 484.0s   Uploading

It takes 8 minutes because it uploads a 30Mb file.

I think I understand the reason for the large files, /local contains a local database, but why is this data being uploaded for each deployment?

My actual app is closer to 70Mb (immediately after running meteor reset) and typically I don't have access to fast upload bandwidth so it would help to reduce the spread of my grey hair if someone knew how to speed things up.

Community
  • 1
  • 1
Oliver Lloyd
  • 4,936
  • 7
  • 33
  • 55
  • 1
    meteor doesn't upload you database, no. But it uploads your application code and lots lots lots of npm modules, which unfortunately contain a lot of extra info unnecessary for the app to run. In near future it will be better. – imslavko Oct 17 '14 at 02:57

1 Answers1

4

When meteor bundles your app it takes your code (which are the files you see in your project) and creates a nodejs bundle with all the meteor code in it too.

The meteor code is the framework itself and nodejs modules & its quite big. This is what is then uploaded to the meteor deploy server.

Tarang
  • 75,157
  • 39
  • 215
  • 276
  • Okay so the bundle action is downloading the Meteor codebase (+ node_modules) which is then uploaded to the target server - this is the source of the large upload. It'd be nice to have a diff so only the changed code is sent, Heroku style, or at least have the target server get the module files itself rather than bounce it all via my laptop, but I get how for prod deployments outside of Meteor's hosted servers you might want it to work this way. Thanks – Oliver Lloyd Oct 17 '14 at 12:16
  • @OliverLloyd you can do this using flynn, dokku, or deis. I use dokku with the meteorite buildpack for it. – Tarang Oct 17 '14 at 12:22
  • 2
    (I work at Meteor) We are currently working on ways to reduce the side of the bundle for `meteor deploy`. – stubailo Oct 17 '14 at 17:34