Experiences with free nodeJS hosting providers

406 views
Skip to first unread message

Eduard Gotwig

unread,
Dec 4, 2012, 2:45:06 AM12/4/12
to pome...@googlegroups.com
Hey,

I like to start this thread to discuss with you about the possibility to run PomeloJS serverside on free nodeJS hosting providers.

Problem reports, help and general questions and answers are welcome.

In my first phrase of using nodeJS I used Nodester as a free hosting provider. A few months ago, Appfog bought Nodester, and I moved to Appfog becouse it seems Nodester becomes no more support from the developers.

At appfog you find support for different serverside languages, and services, too, such as nodeJS, PHP, Ruby on Rails, Python, etc. . As a service MySQL, Redis, PostgreSQL, MongoDB, etc.

Free things at appfog:

AWS Asia Southeast

Singapore

ERLANG JAVA NODE PHPPYTHON RUBY

AWS Europe West

Ireland

ERLANG JAVA NODE PHPPYTHON RUBY

AWS US East

Virginia

ERLANG JAVA NODE PHPPYTHON RUBY

HP Openstack AZ 2

Las Vegas

ERLANG JAVA NODE PHPPYTHON RUBY

MS Azure AZ 1

San Antonio

NODE PHP

Rackspace DFW

Dallas

ERLANG JAVA NODE PHPPYTHON RUBY








Support for 6 infrastructure provider(region)s.

2GB of memory, 128MB of RAM(?), support for 10 Services
One service for every application is allowed

You can also extend your application for money, but I don't need that.

Are these specifications ok?


When I tried to deploy Lord of Pomelo (PomeloJS demo application) via appfog, I expirienced some problems, but I don't got the error messages yet.


I hope you make sure, that users are also able to deploy PomeloJS on free hosting providers.

Thanks, Ed.

Dirk Krause

unread,
Dec 4, 2012, 4:53:50 AM12/4/12
to pome...@googlegroups.com
Wait ... they offer free AWS services? Interesting business modell. Thanks for the link.

I usually choose Heroku for something like that.

Charlie Circle

unread,
Dec 7, 2012, 6:35:04 AM12/7/12
to pome...@googlegroups.com
Yeah, it's possible. Pomelo can be deployed in cloud as PAAS service everywhere

Dmitriy Kapustin

unread,
Feb 2, 2013, 5:20:51 AM2/2/13
to pome...@googlegroups.com
Hi,

I'm trying to start a default Pomelo app (from "pomelo init" command) at AppFog. I created an app for web-server in dashboard and deployed sources from web-server folder to it. It started ok.

Then I created an app for game-server, added NODE_ENV=production variable, changed production hosts in servers.json and master.json to app domain (diman-game-server-1.eu01.aws.af.cm) and deployed to AppFog. It started ok also, but stopped after some time. Then I checked logs from "af crashlogs diman-game-server-1":

====> /logs/stdout.log <====

[2013-02-02 09:08:53.623] [INFO] /node_modules/pomelo/lib/application.js - app.init invoked
[2013-02-02 09:08:53.643] [INFO] /node_modules/pomelo/lib/application.js - mapplication inited: "master-server-1"
[2013-02-02 09:08:53.942] [INFO] console - info: 'socket.io started'
[2013-02-02 09:08:53.944] [INFO] /node_modules/pomelo/lib/master/starter.js - Executing cd /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-d7371303a8f747eeb7bbe8eea48661a6/app && node  /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-d7371303a8f747eeb7bbe8eea48661a6/app/app.js env=production serverType=connector serverId=connector-server-1 on diman-game-server-1.eu01.aws.af.cm
[2013-02-02 09:08:53.975] [INFO] /node_modules/pomelo/node_modules/pomelo-admin/lib/consoleService.js - try to connect master: "master", "diman-game-s
[2013-02-02 09:09:57.268] [ERROR] /node_modules/pomelo/lib/application.js - [pomelo application] fail to operate component, method:start, err:undefined
[2013-02-02 09:09:57.269] [ERROR] /node_modules/pomelo/lib/master/starter.js - Execute command cd /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-d7371303a8f747eeb7bbe8eea48661a6/app && node  /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-d7371303a8f747eeb7bbe8eea48661a6/app/app.js env=production serverType=connector serverId=connector-server-1fail. error code: 255 ssh to host diman-game-server-1.eu01.aws.af.cmerror! check ssh agent forward!

====> /app/logs/node-log-master-server-1.log <====

[2013-02-02 09:08:53.643] [INFO] /node_modules/pomelo/lib/application.js - application inited: "master-server-1"
[2013-02-02 09:08:53.942] [INFO] console - info: 'socket.io started'
[2013-02-02 09:08:53.944] [INFO] /node_modules/pomelo/lib/master/starter.js - Executing cd /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-d7371303a8f747eeb7bbe8eea48661a6/app && node  /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-d7371303a8f747eeb7bbe8eea48661a6/app/app.js env=production serverType=connector serverId=connector-server-1 on diman-game-server-1.eu01.aws.af.cm
[2013-02-02 09:08:53.975] [INFO] /node_modules/pomelo/node_modules/pomelo-admin/lib/consoleService.js - try to connect master: "master", "diman-game-server-1.eu01.aws.af.cm", 3005
[2013-02-02 09:09:57.268] [ERROR] /node_modules/pomelo/lib/application.js - [pomelo application] fail to operate component, method:start, err:undefined

It seems like AppFog can't ssh. Maybe there are other ways to start a Pomelo server in AppFog?

Eric Muyser

unread,
Feb 2, 2013, 5:31:38 AM2/2/13
to Dmitriy Kapustin, pome...@googlegroups.com
Hi Dmitriy,

If you set the production hostnames to localhost (127.0.0.1) then Pomelo won't attempt SSH, and that might solve that issue. Unfortunately, Pomelo's gate server will send back localhost to the visitor's client (port 3050 IIRC) - so you should ignore that/replace localhost with the domain on the client-side. 

Alternatively, if AppFog allows it, generate an SSH key (~/.ssh/id_rsa.pub) for the user running your Pomelo server, and add it to the ~/.ssh/allowed_keys file on a new line. I've done that, and it works.

Cheers,
Eric

--
You received this message because you are subscribed to the Google Groups "Pomelo" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pomelojs+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Dmitriy Kapustin

unread,
Feb 2, 2013, 5:56:35 AM2/2/13
to pome...@googlegroups.com, Dmitriy Kapustin
Hi Eric,

Thanks for quick answer!

I tried to change production hostnames to '127.0.0.1', but app starting was failed. There is a log:

Staging Application 'diman-game-server-1': OK
Starting Application 'diman-game-server-1': .
Error: Application [diman-game-server-1] failed to start, logs information below

====> /logs/stdout.log <====

[2013-02-02 10:40:58.293] [INFO] /node_modules/pomelo/lib/application.js - app.init invoked
[2013-02-02 10:40:58.312] [INFO] /node_modules/pomelo/lib/application.js - application inited: "master-server-1"
[2013-02-02 10:40:58.583] [INFO] console - info: 'socket.io started'
[2013-02-02 10:40:58.585] [INFO] /node_modules/pomelo/lib/master/starter.js - Executing cd /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-04dd36f73b3060f189c7dcc5e10ab9f8/app && node  /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-04dd36f73b3060f189c7dcc5e10ab9f8/app/app.js env=production serverType=connector serverId=connector-server-1 locally
[2013-02-02 10:40:58.601] [INFO] /node_modules/pomelo/node_modules/pomelo-admin/lib/consoleService.js - try to connect master: "master", "127.0.0.1", 3005
[2013-02-02 10:40:58.626] [ERROR] /node_modules/pomelo/lib/application.js - [pomelo application] fail to operate component, method:start, err:undefined
[2013-02-02 10:40:58.710] [INFO] console - [2013-02-02 10:40:58.700] [INFO] /node_modules/pomelo/lib/application.js - app.init invoked
[2013-02-02 10:40:58.723] [INFO] console - [2013-02-02 10:40:58.722] [INFO] /node_modules/pomelo/lib/application.js - application inited: "connector-server-1"

[2013-02-02 10:40:58.954] [INFO] console - 
[2013-02-02 10:40:59.795] [ERROR] /node_modules/pomelo/lib/master/starter.js - FAILED TO RUN, return code: 1

====> /app/logs/node-log-master-server-1.log <====

[2013-02-02 10:40:58.312] [INFO] /node_modules/pomelo/lib/application.js - application inited: "master-server-1"
[2013-02-02 10:40:58.583] [INFO] console - info: 'socket.io started'
[2013-02-02 10:40:58.585] [INFO] /node_modules/pomelo/lib/master/starter.js - Executing cd /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-04dd36f73b3060f189c7dcc5e10ab9f8/app && node  /mnt/var/vcap.local/dea/apps/diman-game-server-1-0-04dd36f73b3060f189c7dcc5e10ab9f8/app/app.js env=production serverType=connector serverId=connector-server-1 locally
[2013-02-02 10:40:58.601] [INFO] /node_modules/pomelo/node_modules/pomelo-admin/lib/consoleService.js - try to connect master: "master", "127.0.0.1", 3005
[2013-02-02 10:40:58.626] [ERROR] /node_modules/pomelo/lib/application.js - [pomelo application] fail to operate component, method:start, err:undefined
[2013-02-02 10:40:58.710] [INFO] console - 
[2013-02-02 10:40:58.700] [INFO] /node_modules/pomelo/lib/application.js - app.init invoked
[2013-02-02 10:40:58.723] [INFO] console - 
[2013-02-02 10:40:58.722] [INFO] /node_modules/pomelo/lib/application.js - application inited: "connector-server-1"
[2013-02-02 10:40:58.954] [INFO] console -


I can't find any information about SSH on AppFog. Can you direct me to some tutorials about it? Thanks

суббота, 2 февраля 2013 г., 14:31:38 UTC+4 пользователь Eric Muyser написал:

Eric Muyser

unread,
Feb 2, 2013, 6:54:21 AM2/2/13
to Dmitriy Kapustin, pome...@googlegroups.com
Not sure Dmitriy, sorry!

Dmitriy Kapustin

unread,
Feb 4, 2013, 1:35:49 AM2/4/13
to pome...@googlegroups.com, Dmitriy Kapustin
Ok, It would be awesome if someone publishes tutorial for Pomelo on free nodejs PaaS.

суббота, 2 февраля 2013 г., 15:54:21 UTC+4 пользователь Eric Muyser написал:

Dmitriy Kapustin

unread,
Mar 1, 2013, 5:45:37 PM3/1/13
to pome...@googlegroups.com
Hi

I deployed simple Pomelo server to dotcloud platform! There are my experiments and simple tutorial: https://github.com/dimanux/pomelo-nme-client/tree/master/Server
It starts a master server process in background and connector server on 8080 port - which is bound to dotcloud http-websocket 80 port. I don't know how to scale it yet, but it's a good place to free test.

Weijun Liu

unread,
Mar 2, 2013, 12:56:28 AM3/2/13
to pome...@googlegroups.com
Of course, the dotcloud platform is good  cloud services. It supports multiple languages such as nodeJS.  Thanks for your repository of pomelo-nme-client.    

在 2013年3月2日星期六UTC+8上午6时45分37秒,Dmitriy Kapustin写道:
Reply all
Reply to author
Forward
0 new messages