umap-project / umap

uMap lets you create maps with OpenStreetMap layers in a minute and embed them in your site.
https://umap-project.org
Other
1.16k stars 221 forks source link

Heroku deploy button? #307

Open jezdez opened 8 years ago

jezdez commented 8 years ago

I was wondering if there is interest in adding a "Deploy to Heroku" button for uMap (using the app.json format)?

Since January this year there is support for PostGIS on the Hobby tiers of Heroku's Postgres databases which would mean a version of uMap could run without cost if the number of database rows stay below 10k (hobby-dev), and for $9/month you get 10M rows (hobby-basic).

The "free" dyno to host the webapp will "sleep" after 30 mins of no request against it and has a daily quota, but maybe that'd be still useful for small/personal instances of uMap. Again, upgrading to a "Hobby" dyno for $7/month would lift that ban, making a non-small instance of uMap on Heroku effectively start at $16/month.

I don't know if that is an attractive option for you and whether there is interest in the larger OSM community to do that. Just thought I'd ask you about it.

yohanboniface commented 8 years ago

Well, the more options to deploy easily, the better :) Just curious: is the app.json format a standard in a way or another? I mean is this specific to heroku or are there other hosting services that use it? Can this be factorized with younohost or such diy hosting services?

jezdez commented 8 years ago

Despite its generic name it seems to have started as proprietary for Heroku, but is slowly adopted by others, e.g. Dokku (http://dokku.viewdocs.io/dokku/deployment/deployment-tasks/, for post deploy scripts only), Modulus. I don't think it's even close to being a standard, which is why I have second thoughts about it myself. Other big PaaS organizations have all their own app.json equivalent as well. I guess what we could do is hosting the Heroku specific bits (Heroku specific settings, requirements file with some deps to make it work, custom scripts to pull in leaflet.storage as in the Fabfile) in a separate repo so uMap's code isn't tainted by Heroku specific bits. What do you think?

yohanboniface commented 8 years ago

I guess what we could do is hosting the Heroku specific bits (Heroku specific settings, requirements file with some deps to make it work, custom scripts to pull in leaflet.storage as in the Fabfile) in a separate repo so uMap's code isn't tainted by Heroku specific bits. What do you think?

Two things here:

jezdez commented 7 years ago

Some news from me, I've moved on from Heroku :D

But! I've moved to Dokku which gives Heroku-like deployments based on Docker. As part of that, I've created a Dokku setup here: https://github.com/jezdez/umap-dokku/

Since that includes a working Dockerfile that could be helpful for others (e.g. #80) I was wondering if you'd be interested in packaging uMap up as a Docker image automatically when you tag a new release? That basically would simplify the deployment a lot for whoever wants to use Docker. I could port the Docker specific things from my Dokku setup to this repo and add a Travis-CI config to build and push new tags to Docker Hub. The ongoing work needed from you would be to keep the Docker specific local settings file up-to-date whenever you change local.py.

yohanboniface commented 7 years ago

I was wondering if you'd be interested in packaging uMap up as a Docker image automatically when you tag a new release?

For sure!

I could port the Docker specific things from my Dokku setup to this repo and add a Travis-CI config to build and push new tags to Docker Hub. The ongoing work needed from you would be to keep the Docker specific local settings file up-to-date whenever you change local.py.

Deal! :)

jezdez commented 7 years ago

@yohanboniface Huzzah, see #456 :)