Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Heroku-Deployable #172

Open
mrerrormessage opened this issue Nov 20, 2014 · 4 comments
Open

Make Heroku-Deployable #172

mrerrormessage opened this issue Nov 20, 2014 · 4 comments

Comments

@mrerrormessage
Copy link
Contributor

See the https://github.com/NetLogo/Galapagos/tree/heroku branch for more information. Galapagos isn't too far away from being deployable on Heroku. The things that are missing:

  • Pluggable configuration for the play cache - EHCache is used by default, but that's a poor choice for Heroku (not too difficult)
  • Make create-standalone requests read the file from disk instead of via a circular request to the server (not difficult)
  • Akka actor work (difficult)
  • Debug various problems like why the TeamAssembly model won't compile (????)

The value this would add is giving us the ability to stick a deploy to Heroku button on a page for interested parties to look at. Additionally, we could move off of Linode. However, since running the server will require one background worker at minimum, anyone who wanted to run their own server would incur a ~ $35/month charge.

@SethTisue
Copy link
Contributor

curious what the Akka issue is?

@mrerrormessage
Copy link
Contributor Author

For one heroku worker to communicate with another, it must pass through something like RabbitMQ. Since we use Akka workers to handle Teletortoise in the background (if I understand the architecture of teletortoise correctly), that would mean setting up akka worker(s) at either end of RabbitMQ. This article may be able to offer more information - https://devcenter.heroku.com/articles/scaling-out-with-scala-and-akka

@chrisvfritz
Copy link

Just FYI - I'm not a Scala developer, but my instance is currently deployed to Heroku and the create-standalone feature is working just as well as on the main, Linode-hosted server. To get it to deploy, all that was necessary was to add a conf/application.conf:

logger.application=DEBUG
application.defaultEncoding=UTF-8
application.remote.killswitch=true
application.langs="en"
logger.root=ERROR
application.secret=<<RANDOM SECRET>>
logger.play=INFO

Just change <<RANDOM SECRET>> to an actual secret. It should be noted that no other features have been tested.

@mrerrormessage
Copy link
Contributor Author

Yes, create-standalone works most of the time, but we've had trouble with some models, "Team Assembly" most noticeably. Thanks for passing your experience along!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants