Meteor 1.2.0.1 on ARM (UDOO, Raspberry + others)

Great update of our fork at https://github.com/4commerce-technologies-AG/meteor for latest meteor stable release. Read more on Github project page and on blog at http://meteor-universal.tumblr.com/.

We soon provide pre-built dev_bundles inside the release section on github. I am working on a simple installer for meteor and node on ARM boards (coming soon).

Check out latest 1.2.0.1 release and instructions how to quickly install.

Now you can use Blaze, Angular and React also on your ARM environments.

Cheers
Tom

Update 2015-09-24 / Known working boards:

  1. UDOO Dual (Lubuntu 12.04, Ubuntu Core 14.04)
  2. UDOO Quad (Lubuntu 12.04, Ubuntu Core 14.04)
  3. Raspberry Pi 1 Model B (Raspbian wheezy, jessie)
  4. Raspberry Pi 2 (Raspbian wheezy, jessie, Ubuntu 14.04)
  5. ODROID C1 (Lubuntu 14.04)
  6. ODROID U3 (Lubuntu 14.04)
  7. Nitrogen6x ()
  8. BeagleBone Black (Ubuntu 14.04)
  9. PcDuino v3 (Ubuntu 14.04)
12 Likes

I just have to update some of the walkthru papers. Anybody tries it yet make sure to use node v0.10.40 to run meteor 1.2.0.1 properly. You will find the notes updated within the next hours.

Hi Maxime ( @mquandalle )

Feel free to contact me if you need help or have questions to run your Wekan on an ARM-board.

Cheers
Tom

Hey @tomfreudenberg, thanks for the v1.2 port, I will try it tonight :slight_smile:

Hi @mquandalle

On what board do you want to run it? Raspberry PI 2 with Raspian image?

So just follow the guide at

and go through the Introduction and then Chapter B: Compile and build nodejs and meteorjs

For the step Build and install node on your device please use this chapter: http://meteor-universal.tumblr.com/post/111450178129/install-nodejs-on-ubuntu-1404-lts to get node v0.10.40.

Please aware, that the complete built process will take up to 12 hours until meteor --version is alive on a raspi. I will upload our pre-bundles right after our build process. Maybe you wait until weekend to minimize your compiling times.

I wanted to publish Wekan to this app market. Scaleway provide a ARMv7 physical server (with 2 Go of RAM and 50 Go of SSD) for €2.99 per month, so that should be a perfect fit for small organizations that want to host a Trello-like kanban on premise.

Yes I’ll maybe wait for your bundles. What version of MongoDB do you include?

Cool information – I hadn’t noticed them yet. In that case, you need to run the build processes on that machine by your own. But I am sure it will run through much faster than on Raspi or any other tiny device.

If you like, because I am interested in such solutions as well, I may do the build on your image for you. Do you have already signed up for an instance? You may handover some login information via private chat at https://gitter.im/TomFreudenberg.

If not decided yet an OS I would advise you to use the ubuntu (server if possible)

Mongo will be taken from system via apt get install mongo whatever its version is on that.

Hi @mquandalle

I was to squirrelly :slight_smile: so I had registered myself and be just preparing a running meteor environment on scaleway. It runs great on a Ubuntu 14.04 LTS image.

I will send you the link for an image to test ist on your server by yourself.

Tom

Hi @mquandalle :smile:

I sure you like that

Wekan @ Scaleway

Meteor app deployed on that ARM based cloud stack

Pretty cool!
Tom

P.S.: I will send you that image and prepare some installer script to setup meteor easily on that environment.

1 Like

hi @tomfreudenberg,

I got registered to scaleway as Well but got frustrated not being able to run my Meteor applications on it…
Is it possible to Shark the process to make it work ?
Thanx a lot and great work

Jeangui

Woah Tom, I didn’t expect that you’ll get so excited to the point of doing all my homework for me :smile: That’s super cool indeed!

I’ll talk with the Scaleway team (I think they have a public discourse forum) about this so Wekan can appear in the app market. I also need to figure out how to handle future upgrades (Wekan always come with data migrations, we just need a way to stop the node server, update the app, and restart it, while keeping the database untouched).

BTW Ubuntu 14.04 seems to be the right choice to me (and I’m comfortable with it). Thank you very much @tomfreudenberg :slight_smile:

@mquandalle - The right update process for a solution based on meteor is done by building deps (debian / ubuntu packages) and do an automatic update process. Within that you can script on pre- and post-installation.

You could run one instance as a debian package server and serve those packages. This is very easy and solid - I do it for our application update processes as well.

Best is to create an upstart script for your meteor app. This can be start and stop via service command. You could make sure to run the mongo while creating a starting dependency.

The Mongo is in production served by the global mongod. So during update the database content is not getting corrupt.

I may give you more assist on this while we have a lot of experiences in running our own clusters and software deployments.

Tom

Hi @jeangui

how may I help you? I could give you access to my image and you may try you app on that.

Tom

This is amazing, Tom. Herzlichen Dank!

The installation of the bundle went without a hitch; I have node and mongo humming on my Scaleway instance as well. Still, meteor --version outputs nothing and just sits there unresponsive (I occasionally have to SIGKILL the associated node process). Any idea what might be wrong, or how I could diagnose the issue?

Turns out things are just incredibly slow on those ARM machines :confused: I suppose I’m going back to DigitalOcean for now …

Hi @skotch, sorry for your experience but I am not sure what’s happened on your side. All I can say is that I have successfully brought up two images on scaleway last night with @mquandalle and we got a running meteor app at least.

What is true, is that the first time runs like compiling and building and package updates are long time consumers. But after that initial process everything runs really smooth.

I won’t suggest to use an arm board as your primary development environment, that is always too much time consuming. But to run your app, those boards are great.

Intentionally I prepared the fork to run und build meteor apps on those small devices like Raspi and UDOO boards. With the Scaleway environment Maxime came up with that idea to have a cheap but powerfull runtime environment for meteor apps. And for that it is more powerfull than any small vserver currently.

I am in connection to Maxime ( @mquandalle ) and we had discussed last night the option, that I try to create a generic image on the scaleway imagehub where meteor is directly available. So that anybody can build and run there meteor apps without the first time consuming processes.

I will keep you informed here on that thread.

@skosch: If you like, we could have a chat on gitter about your installation. I am sure we can get it fixed.

Cheers
Tom

1 Like

I was asked due to a PM what could be advised if someone want’s to start using meteor on “hardware” devices.

Maybe this is interesting for some more readers:


The question is what you want to do with “hardware”. If you just like to play you may use a Raspi 2 or you choose more powerfull hardware like an UDOO Quad (or UDOO Neo when available). This depends a bit on your needs and your money :smile:

In our projects we currently use always UDOO boards because they allow us most flexibility but they are also more complex for first timers.

A Raspi has just the ARM SoC with some accessible GPIO ports. When you run the Raspi Debian image, you may get access to those GPIOs by kernel like /sys/class/gpio/gpio123 (notation is just an example)

So if you do something like

echo "1" > /sys/class/gpio/gpio123
echo "0" > /sys/class/gpio/gpio123

you may turn a led on and off.

If you use some NPM libraries like JonnyFive or RaspiGpio you may do that manipulation as well inside your meteor app. For that you can write a server method which can be called be client via Meteor.call to toggle the LED or whatever.

If you use the UDOO boards, you get TWO devices: a. the ARM SoC running the Linux OS and b.) a complete Arduino Due32 board. Both are on that ONE hardware.

You now may write Arduino sketches (C code) to control the hardware and establish some small (self designed) protocol between that Arduino process and your Meteor app. This is what we do all the time. We write programs for the Microcontroller to handle the hardware indepently and then we exchange messages between our meteor app and the Arduino. This is done by an internal serial interface from the UDOO. The communication is run by SerialPort NPM inside the meteor app.

Maybe it is a good starting point to get a Raspi bundle and try to write your first “toggle LED” example by a meteor app.

All someone needs is a Raspi 2 bundle, one LED, one Resistor and the meteor universal fork.

Hope that helps for your next decisions.

Cheers
Tom

2 Likes

Thank you for these, over the last 6 months, I have deployed several production projects using your Meteor Arm builds on raspberryPi 2. Although I can’t talk about the specific projects, many thanks!

1 Like

Hi @tdhz77 – this is very nice to hear. I can not really figure out how much this work is in use but to get some direct feedback makes us happy!

Thanks
Tom

Sorry @tomfreudenberg, only just saw this now. I’m back with DO for now, but I may well give Scaleway another shot in a month or two. I’ll get in touch with you then if I’m still having trouble. Thanks still for your work on this!