Hosting on Heroku

114 views
Skip to first unread message

Shane

unread,
Nov 4, 2014, 10:06:48 PM11/4/14
to mitr...@googlegroups.com
I've got hosting on Heroku (mostly) working. It uses a custom buildpack that compiles the server and tells Heroku how to start it up. The coolest thing is that it works with the Heroku button so you can install with 2 clicks (requires a Heroku account or else more clicks...). Try it out here:


You can see the deploy code in the bin/compile and there are some notes on the page as well. There are 2 things missing.
  1. The heroku button requires an app.json file to be in the root of the github repo. I've added this to my fork (the only change in that branch from official mitro repo is the addition of the app.json file) and button currently uses my fork. If you mitro guys think this is cool, you would want to put the app.json file in there. If you don't like it, there are manual steps to make this deployable that don't require you to do anything, but no cool button.
  2. I don't have the mailer working yet. It would be trivial to have the python service start up on deploy, but Heroku only gives you 1 process for free (and we all like free). Another process costs $35/month and that's quite a bit just to send a few emails. I'm thinking we could implement an emailer in Java that runs in the same process as the server, different thread... OR make the python mailer cron-able and run a job every 10 minutes or hour. I like option 2 but would love to hear any suggestions.
Let me know what you all think, and if anyone is even interested in this project. I think having a free, easy deploy that only requires a couple button clicks would really help this gain some traction but maybe I'm just excited and nobody really cares to host this themselves... :-)

Bri Hatch

unread,
Nov 5, 2014, 1:40:08 AM11/5/14
to Shane, mitr...@googlegroups.com
Right now my company is looking to either run mitro services ourselves, or use some alternative. Most alternatives are fairly expensive in comparison to $35/month, but of course then you don't require any maintenance yourself.

So I'd be very interested in looking at using hosted mitro.

We would want to have support for chrome/iOS/android though. There's a secret way of configuring the former to work with our own target, but not for the other two - and the iOS version is now gone, of course. To make hosted mitro work, we'd need to fork and build new iOS and android clients that can take a target parameter.

Anyone else interested in working on this? We don't have the java skills to do much dev, but we could help w/ admin time, and maybe even help w/ some funding.



--
You received this message because you are subscribed to the Google Groups "Mitro developers list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mitro-dev+...@googlegroups.com.
To post to this group, send email to mitr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mitro-dev/668e5351-c42a-451c-b164-f010497224c2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Bri Hatch, Systems and Security Engineer. http://www.ifokr.org/bri/

I have a deep and profound love for this new licensing set
  up. I get all misty even writing about it.
--matt

Vijay Pandurangan

unread,
Nov 5, 2014, 1:45:09 AM11/5/14
to Bri Hatch, Shane, mitr...@googlegroups.com
I suspect that getting the ios and android version to support custom hosts should not be _so_ difficult. Probably the hostname is only in a couple of places which could be added to a settings page easily.

Vijay Pandurangan

unread,
Nov 5, 2014, 1:46:56 AM11/5/14
to Bri Hatch, Shane, mitr...@googlegroups.com
Great work with heroku btw. I think you could re-implement the mailer in java pretty easily, but getting the python script to run in cron is pretty easy. The problem you face is that users won't receive emails for a long time if you do that, which would suck.  

On Tue Nov 04 2014 at 1:45:07 AM Vijay Pandurangan <vij...@gmail.com> wrote:
I suspect that getting the ios and android version to support custom hosts should not be _so_ difficult. Probably the hostname is only in a couple of places which could be added to a settings page easily.

On Tue Nov 04 2014 at 1:40:08 AM Bri Hatch <b...@ifokr.org> wrote:
Right now my company is looking to either run mitro services ourselves, or use some alternative. Most alternatives are fairly expensive in comparison to $35/month, but of course then you don't require any maintenance yourself.

So I'd be very interested in looking at using hosted mitro.

We would want to have support for chrome/iOS/android though. There's a secret way of configuring the former to work with our own target, but not for the other two - and the iOS version is now gone, of course. To make hosted mitro work, we'd need to fork and build new iOS and android clients that can take a target parameter.

Anyone else interested in working on this? We don't have the java skills to do much dev, but we could help w/ admin time, and maybe even help w/ some funding.


On Tue, Nov 4, 2014 at 7:06 PM, Shane <shane...@gmail.com> wrote:
I've got hosting on Heroku (mostly) working. It uses a custom buildpack that compiles the server and tells Heroku how to start it up. The coolest thing is that it works with the Heroku button so you can install with 2 clicks (requires a Heroku account or else more clicks...). Try it out here:


You can see the deploy code in the bin/compile and there are some notes on the page as well. There are 2 things missing.
  1. The heroku button requires an app.json file to be in the root of the github repo. I've added this to my fork (the only change in that branch from official mitro repo is the addition of the app.json file) and button currently uses my fork. If you mitro guys think this is cool, you would want to put the app.json file in there. If you don't like it, there are manual steps to make this deployable that don't require you to do anything, but no cool button.
  2. I don't have the mailer working yet. It would be trivial to have the python service start up on deploy, but Heroku only gives you 1 process for free (and we all like free). Another process costs $35/month and that's quite a bit just to send a few emails. I'm thinking we could implement an emailer in Java that runs in the same process as the server, different thread... OR make the python mailer cron-able and run a job every 10 minutes or hour. I like option 2 but would love to hear any suggestions.
Let me know what you all think, and if anyone is even interested in this project. I think having a free, easy deploy that only requires a couple button clicks would really help this gain some traction but maybe I'm just excited and nobody really cares to host this themselves... :-)

--
You received this message because you are subscribed to the Google Groups "Mitro developers list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mitro-dev+unsubscribe@googlegroups.com.

To post to this group, send email to mitr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mitro-dev/668e5351-c42a-451c-b164-f010497224c2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Bri Hatch, Systems and Security Engineer. http://www.ifokr.org/bri/

I have a deep and profound love for this new licensing set
  up. I get all misty even writing about it.
--matt

--
You received this message because you are subscribed to the Google Groups "Mitro developers list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mitro-dev+unsubscribe@googlegroups.com.

Shane

unread,
Nov 5, 2014, 1:05:30 PM11/5/14
to mitr...@googlegroups.com, b...@ifokr.org, shane...@gmail.com
I'll look into doing a java mailer, looks pretty simple. Would you rather the code be part of the mitro server source, or a separate project that pulls in the mitro jar?

As for ios/android, I would be willing to do some work to set custom hostname for ios. I would only want to do this if there was a good chance an official mitro app could get re-added to app store, though. What are the chances of that happening?

Also, I don't have a lot of time to spend on this but I'll get there eventually. But if someone wanted to pick up the java or phone work, that would be helpful and would make this go a little quicker.

-Shane


On Wednesday, November 5, 2014 12:46:56 AM UTC-6, Vijay P wrote:
Great work with heroku btw. I think you could re-implement the mailer in java pretty easily, but getting the python script to run in cron is pretty easy. The problem you face is that users won't receive emails for a long time if you do that, which would suck.  

On Tue Nov 04 2014 at 1:45:07 AM Vijay Pandurangan <vij...@gmail.com> wrote:
I suspect that getting the ios and android version to support custom hosts should not be _so_ difficult. Probably the hostname is only in a couple of places which could be added to a settings page easily.

On Tue Nov 04 2014 at 1:40:08 AM Bri Hatch <b...@ifokr.org> wrote:
Right now my company is looking to either run mitro services ourselves, or use some alternative. Most alternatives are fairly expensive in comparison to $35/month, but of course then you don't require any maintenance yourself.

So I'd be very interested in looking at using hosted mitro.

We would want to have support for chrome/iOS/android though. There's a secret way of configuring the former to work with our own target, but not for the other two - and the iOS version is now gone, of course. To make hosted mitro work, we'd need to fork and build new iOS and android clients that can take a target parameter.

Anyone else interested in working on this? We don't have the java skills to do much dev, but we could help w/ admin time, and maybe even help w/ some funding.


On Tue, Nov 4, 2014 at 7:06 PM, Shane <shane...@gmail.com> wrote:
I've got hosting on Heroku (mostly) working. It uses a custom buildpack that compiles the server and tells Heroku how to start it up. The coolest thing is that it works with the Heroku button so you can install with 2 clicks (requires a Heroku account or else more clicks...). Try it out here:


You can see the deploy code in the bin/compile and there are some notes on the page as well. There are 2 things missing.
  1. The heroku button requires an app.json file to be in the root of the github repo. I've added this to my fork (the only change in that branch from official mitro repo is the addition of the app.json file) and button currently uses my fork. If you mitro guys think this is cool, you would want to put the app.json file in there. If you don't like it, there are manual steps to make this deployable that don't require you to do anything, but no cool button.
  2. I don't have the mailer working yet. It would be trivial to have the python service start up on deploy, but Heroku only gives you 1 process for free (and we all like free). Another process costs $35/month and that's quite a bit just to send a few emails. I'm thinking we could implement an emailer in Java that runs in the same process as the server, different thread... OR make the python mailer cron-able and run a job every 10 minutes or hour. I like option 2 but would love to hear any suggestions.
Let me know what you all think, and if anyone is even interested in this project. I think having a free, easy deploy that only requires a couple button clicks would really help this gain some traction but maybe I'm just excited and nobody really cares to host this themselves... :-)

--
You received this message because you are subscribed to the Google Groups "Mitro developers list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mitro-dev+...@googlegroups.com.

To post to this group, send email to mitr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mitro-dev/668e5351-c42a-451c-b164-f010497224c2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Bri Hatch, Systems and Security Engineer. http://www.ifokr.org/bri/

I have a deep and profound love for this new licensing set
  up. I get all misty even writing about it.
--matt

--
You received this message because you are subscribed to the Google Groups "Mitro developers list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mitro-dev+...@googlegroups.com.

Bri Hatch

unread,
Nov 5, 2014, 1:53:33 PM11/5/14
to Shane, mitr...@googlegroups.com
On Wed, Nov 5, 2014 at 10:05 AM, Shane <shane...@gmail.com> wrote:
I'll look into doing a java mailer, looks pretty simple. Would you rather the code be part of the mitro server source, or a separate project that pulls in the mitro jar?

As for ios/android, I would be willing to do some work to set custom hostname for ios. I would only want to do this if there was a good chance an official mitro app could get re-added to app store, though. What are the chances of that happening?

Also, I don't have a lot of time to spend on this but I'll get there eventually. But if someone wanted to pick up the java or phone work, that would be helpful and would make this go a little quicker.

I think we should assume that the mitro folks are not going to be able to spend any resources on maintaining things like the iOS app. They may take github contributions, or they may not. How we'd do an "official" mitro if they don't want to take changes would be something we'd need to discuss amongst the folks doing development.

I'm happy to do legwork on taking over the android and iOS stuff. I wonder if the mitro folks would hand that over to a group of us so we could keep the old account.

Vijay Pandurangan

unread,
Nov 6, 2014, 10:16:04 AM11/6/14
to Bri Hatch, Shane, mitr...@googlegroups.com
Yep we'd be happy to hand over control

Thanks so much!

--
You received this message because you are subscribed to the Google Groups "Mitro developers list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mitro-dev+...@googlegroups.com.
To post to this group, send email to mitr...@googlegroups.com.

Vijay Pandurangan

unread,
Nov 6, 2014, 10:19:01 AM11/6/14
to Shane, mitr...@googlegroups.com, b...@ifokr.org

Either way is fine I think.  If you so it as a separate thread be sure to add run the unit test and regression test and also make the thread immune to transient mail server or other words and make sure the thread can't die without killing the server. I think the logger thread should be a good example.


Matthew Ford

unread,
Nov 11, 2014, 1:22:21 PM11/11/14
to mitr...@googlegroups.com, b...@ifokr.org, shane...@gmail.com
Hi Shane, 

Thanks for this, I'll be testing out your heroku build packs this weekend.

Vijay Pandurangan

unread,
Nov 11, 2014, 1:23:02 PM11/11/14
to Matthew Ford, mitr...@googlegroups.com, b...@ifokr.org, shane...@gmail.com
when you guys are comfortable with it, please send a pull request (hopefully with some tests) and we can see about merging it in!

Reply all
Reply to author
Forward
0 new messages