<div dir="ltr">We are planning to deploy to production as a Docker image under Dokku (<a href="http://dokku.viewdocs.io/dokku/deployment/methods/dockerfiles/">details</a>).<div><br></div><div>I believe we run under Apache with Passenger right now. Since this will now be a Docker image the setup script can choose whatever it wants.</div><div><br></div><div>Rahul</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jul 23, 2018 at 11:11 AM Rafael Porres Molina <<a href="mailto:rporres@gmail.com">rporres@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi everybody,<div><br></div><div>I have a good part of the Dockerize feature to be reviewed. Please take a look: <a href="https://github.com/numeroteca/pageonex/pull/213" target="_blank">https://github.com/numeroteca/pageonex/pull/213</a></div><div><br></div><div>What's missing:</div><div><br></div><div>* Image mount. I will try to figure out how to control that part once I get to know better the app</div><div>* CI: I will need to know how we plan to deploy this once it is containerized to see if something like Travis fits here to create the docker images under certain conditions, e.g tag</div><div>* Run under a proper server. What are we currently using: Unicorn? Puma? Passenger?</div><div><br></div><div>Cheers,</div><div><br></div><div>Rafa</div></div><br><div class="gmail_quote"><div dir="ltr">El mié., 11 jul. 2018 a las 0:40, pablo rey (<<a href="mailto:pablo@basurama.org" target="_blank">pablo@basurama.org</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I will review in a fresh install (without docker) if the migration works and let you know if I have the same problem with the migration.</div><div><br></div><div>The changes in config/database.yml will modify something from the current way the tool works?<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 9 July 2018 at 18:36, Rafael Porres Molina <span dir="ltr"><<a href="mailto:rporres@gmail.com" target="_blank">rporres@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">See <a href="https://github.com/numeroteca/pageonex/issues/209" target="_blank">https://github.com/numeroteca/pageonex/issues/209</a> if you want to take a look to what I've done so far. There's a problem with a migration so I haven't been able to test it properly. I will continue working at some point in the following days.<div><br></div><div>It is not finished, so I haven't done a pull request. But if you prefer that I do it so that you can take a look more easily, please let me know and I will create one (tagged with DO NOT MERGE)</div><div><br></div><div>Cheers,</div><div><br></div><div>Rafa<br><div><br></div><div><br></div></div></div><div class="m_3204234951812529332m_88209455210671976HOEnZb"><div class="m_3204234951812529332m_88209455210671976h5"><br><div class="gmail_quote"><div dir="ltr">El lun., 9 jul. 2018 a las 10:22, Rafael Porres Molina (<<a href="mailto:rporres@gmail.com" target="_blank">rporres@gmail.com</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'll start taking a look and keep you posted.<div><br></div><div>Cheers,</div><div><br></div><div>Rafa</div></div><br><div class="gmail_quote"><div dir="ltr">El vie., 6 jul. 2018 a las 19:14, Rahul B (<<a href="mailto:rahulb@media.mit.edu" target="_blank">rahulb@media.mit.edu</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Yes, a Docker container would work fine. Of course the problem there is we need persistent storage for the database and the images. Both of these should be read from environment variables.<div><br></div><div>I think this requires a change in the PageOneX configuration code. Rails already supports <a href="http://guides.rubyonrails.org/configuring.html#configuring-a-database" target="_blank">specifying a database via a `DATABASE_URL` environment variable</a>.<div><br></div><div>For docker it looks like you can specific environment variables either on the command line individually or via a file (<a href="https://docs.docker.com/engine/reference/commandline/run/#set-environment-variables--e---env---env-file" target="_blank">docs</a>).</div><div><br></div><div>With that in mind, I think the main changes to make are probably to </div><div>a) Dockerize it</div><div>b) change the image uploading to save images to the path the environment variable specifies</div><div><br></div><div>Rahul<br><br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 6, 2018 at 12:38 PM Rafael Porres Molina <<a href="mailto:rporres@gmail.com" target="_blank">rporres@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Rahul,<div><br></div><div>I'm unsure if Pablo will be able to make it this late in the spanish afternoon, so I will ask some quesitons here just to understand better what's needed. </div><div><br></div><div>I guess what it is needed now is to be able to run pageonex in a Docker container, am I right?<br></div><div><br></div><div>The other thing that is important is to be able to configure the root of the image storage through an env variable so that you can do something like</div><div><br></div><div>docker run --env ROOT_IMAGE_STORAGE=/blah -v /dokku/persistent/storage/pageonex:/blah ....</div><div><br></div><div>I don't know how pageonex works internally so I don't know how easy is to fix that. But would the following work?</div><div><br></div><div>docker run -v <span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span> </span>/dokku/persistent/storage/pageonex:/<span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">assets/images/kiosko...</span></span></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></span></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">or whatever combination around this? I guess that will depend on where the application writes the assets once is running inside the container...</span></span></div><div><br></div><div>Regards,</div><div><br></div><div>Rafa</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">El vie., 6 jul. 2018 a las 18:12, Rahul B (<<a href="mailto:rahulb@media.mit.edu" target="_blank">rahulb@media.mit.edu</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi - I have 20 mins now, or in about an hour. If you are still available you can find me on Skype at civic-rahulb.<div><div><br></div><div>Rahul</div></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 6, 2018 at 6:36 AM pablo rey <<a href="mailto:pablo@basurama.org" target="_blank">pablo@basurama.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hey Rahul, Let's chat when you are available today. Rafa said that he will join. He can better help with the containers and image storage location thing better than me. <br></div><div>Ping me.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 5 July 2018 at 15:53, Rahul B <span dir="ltr"><<a href="mailto:rahulb@media.mit.edu" target="_blank">rahulb@media.mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Yes - you can deploy a Docker image via Dokku (<a href="http://dokku.viewdocs.io/dokku/deployment/methods/dockerfiles/" target="_blank">details</a>). That said, deploying as a Heroic build pack is a little simpler.<div><br></div><div>Regarding the images, the feature suggestion I made (to specify the storage location via an environment variable), will let us move the image storage to the larger hard drive. That is precisely the goal.</div><div><br></div><div>If you'd like to chat I have time today or tomorrow morning (Boston time).</div><span class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487HOEnZb"><font color="#888888"><div><br></div><div>Rahul</div></font></span></div><div class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487HOEnZb"><div class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487h5"><br><div class="gmail_quote"><div dir="ltr">On Wed, Jul 4, 2018 at 7:07 AM pablo rey <<a href="mailto:pablo@basurama.org" target="_blank">pablo@basurama.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hey Rafa, that'd be great. Thanks!<br></div><div><br></div><div>Let's see what Rahul says.<br></div><div>Are Docker and Dokku interchangeable?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 4 July 2018 at 12:06, Rafael Porres Molina <span dir="ltr"><<a href="mailto:rporres@gmail.com" target="_blank">rporres@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hey Pablo,<div><br></div><div>This next Monday I can have some hours helping you if you need to move the application to Docker. Prior to that, if you want we can set a meeting with Rahul so that the time that I can work on the project is more focused.</div><div><br></div><div>Let me know if this works for you.</div><div><br></div><div>Regards,</div><div><br></div><div>Rafa</div></div><div class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771HOEnZb"><div class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771h5"><br><div class="gmail_quote"><div dir="ltr">El mié., 4 jul. 2018 a las 0:25, pablo rey (<<a href="mailto:pablo@basurama.org" target="_blank">pablo@basurama.org</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi Rahul,</div><div><br></div><div>Thanks for the good news, happy to continue at civic media servers. <br></div><div><br></div><div>We have modest plans for this round of development, let's see how we do.</div><div><br></div><div>I am not familiarized with Dokku and containerized, how difficult is to change to that mode of deployment?<br></div><div><br></div><div>Regarding image storage, remember you tried in November'17. You wrote me off the list "I'm going to copy the giant folder of
kiosko images to the bigger drive I mentioned again, but this time with a
flag to maintain all the permissions. Then perhaps we can schedule a
time where I can flip it to use the larger hard drive and you can make a
thread and test some old ones to tell me if it works. If it does, all
good and I'll delete the giant folder on the main drive that is running
low on space. If it doesn't work then I can just quickly put it back
the way it was and think harder about it." I think that caused <a href="https://github.com/numeroteca/pageonex/issues/203#issuecomment-361261644" target="_blank">some problems of image missing</a>, still unsolved.</div><div><br></div><div>You suggest that Dokku's persistent storage will enable that change in storage. We'll need your help to make that shift.<br></div><div><br></div><div>Best,</div><div>pablo<br></div><div><br></div><div> <br></div><div><div class="gmail_extra"><br><div class="gmail_quote">On 3 July 2018 at 15:29, Rahul B <span dir="ltr"><<a href="mailto:rahulb@media.mit.edu" target="_blank">rahulb@media.mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>Pleasure to meet you Juanjo. Glad to see some new life breathing into the project. We host it here and the civic media servers, and I confirmed with Ethan that he is willing to continue to do so. </div><div><br></div><div>* We are using RVM, but are switching to a containerized deployment system soon. That means it'd be best to think about Heroku-style deployment (like PageOneX originally did).</div><div>* We will be using <a href="http://dokku.viewdocs.io/dokku/" target="_blank">Dokku</a> for containerized deployment to our servers, we you will be able to deploy with a `git push` (once we set keys up). We are migrating our hosted applications to this mode now, so this is super good timing!</div><div>* Image storage is the only complicated thing to think about... right now the `assets/images/kiosko` folder is 115GB (!). It'd be great if you could prioritize a feature change that lets us specify the root image storage path via a environment variable. That would allow us to use the <a href="https://github.com/dokku/dokku/blob/master/docs/advanced-usage/persistent-storage.md" target="_blank">Dokku persistent storage path</a> to specify a storage point on our giant 10TB network drive while still supporting containerized deployment, rather than having it fill up our root drive (as it does now)</div><div><br></div><div>Sound good?</div><div><br></div><div>Rahul</div></div><div class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771m_-856341518470904166m_6302559795676021543m_-6623743455414668152m_-319109476949447732gmail-HOEnZb"><div class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771m_-856341518470904166m_6302559795676021543m_-6623743455414668152m_-319109476949447732gmail-h5"><br><div class="gmail_quote"><div dir="ltr">On Tue, Jul 3, 2018 at 4:03 AM pablo rey <<a href="mailto:pablo@basurama.org" target="_blank">pablo@basurama.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hey!</div><div><br></div><div>We are back after a long time. We have a few enhancements and things to fix in our road map (<a href="https://github.com/numeroteca/pageonex/projects/1" target="_blank">https://github.com/numeroteca/pageonex/projects/1</a>). they are basic features to extend the use for an easier and deeper analysis (drawn areas would be able to store more data, not only the topic). Juanjo Bazán will be developing in RoR.<br></div><div><br></div><div>Rahul, we have a few doubts to solve regarding deployment process:<br></div><div><ul><li>We are planning to update the ruby version that it's used. I guess that should be no problem if we are using RVM. Could you confirm?</li><li>Another related question to the gems. Which is the deployment process in dev and production servers? is there an script that executes the bundle/migrations of the database or everything is installed "manually" or something like capistrano is used?</li></ul><div>Down the road, but not yet in the listed in the project, we are planning to update ruby, gems and bootstrap.<br></div><div><br></div><div>If you want to join, just tell!<br></div><div><br></div><div>Thanks,</div><div>p<div class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771m_-856341518470904166m_6302559795676021543m_-6623743455414668152m_-319109476949447732gmail-m_4562817491643609751m_2935889797349296640gmail-yj6qo m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771m_-856341518470904166m_6302559795676021543m_-6623743455414668152m_-319109476949447732gmail-m_4562817491643609751m_2935889797349296640gmail-ajU"><div id="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771m_-856341518470904166m_6302559795676021543m_-6623743455414668152m_-319109476949447732gmail-m_4562817491643609751m_2935889797349296640gmail-:3e6" class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771m_-856341518470904166m_6302559795676021543m_-6623743455414668152m_-319109476949447732gmail-m_4562817491643609751m_2935889797349296640gmail-ajR"><img class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771m_-856341518470904166m_6302559795676021543m_-6623743455414668152m_-319109476949447732gmail-m_4562817491643609751m_2935889797349296640gmail-ajT" src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div></div></div><div><br></div></div>
</blockquote></div></div></div><span class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771m_-856341518470904166m_6302559795676021543m_-6623743455414668152m_-319109476949447732gmail-HOEnZb"><font color="#888888">-- <br><div dir="ltr" class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034m_8788940332105168771m_-856341518470904166m_6302559795676021543m_-6623743455414668152m_-319109476949447732gmail-m_4562817491643609751gmail_signature">------------------------------------------<br>Rahul Bhargava<br><a href="http://rahul.connectionlab.org" target="_blank">http://rahul.connectionlab.org</a><br></div>
</font></span><br>_______________________________________________<br>
Pageonexdev mailing list<br>
<a href="mailto:Pageonexdev@mit.edu" target="_blank">Pageonexdev@mit.edu</a><br>
<a href="http://mailman.mit.edu/mailman/listinfo/pageonexdev" rel="noreferrer" target="_blank">http://mailman.mit.edu/mailman/listinfo/pageonexdev</a><br>
<br></blockquote></div><br></div></div></div>
_______________________________________________<br>
Pageonexdev mailing list<br>
<a href="mailto:Pageonexdev@mit.edu" target="_blank">Pageonexdev@mit.edu</a><br>
<a href="http://mailman.mit.edu/mailman/listinfo/pageonexdev" rel="noreferrer" target="_blank">http://mailman.mit.edu/mailman/listinfo/pageonexdev</a><br>
</blockquote></div>
</div></div><br>_______________________________________________<br>
Pageonexdev mailing list<br>
<a href="mailto:Pageonexdev@mit.edu" target="_blank">Pageonexdev@mit.edu</a><br>
<a href="http://mailman.mit.edu/mailman/listinfo/pageonexdev" rel="noreferrer" target="_blank">http://mailman.mit.edu/mailman/listinfo/pageonexdev</a><br>
<br></blockquote></div><br></div>
_______________________________________________<br>
Pageonexdev mailing list<br>
<a href="mailto:Pageonexdev@mit.edu" target="_blank">Pageonexdev@mit.edu</a><br>
<a href="http://mailman.mit.edu/mailman/listinfo/pageonexdev" rel="noreferrer" target="_blank">http://mailman.mit.edu/mailman/listinfo/pageonexdev</a><br>
</blockquote></div>-- <br><div dir="ltr" class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368m_3465135050873914487m_7652722034102659034gmail_signature" data-smartmail="gmail_signature">------------------------------------------<br>Rahul Bhargava<br><a href="http://rahul.connectionlab.org" target="_blank">http://rahul.connectionlab.org</a><br></div>
</div></div></blockquote></div><br></div>
</blockquote></div>-- <br><div dir="ltr" class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378m_-3164639315888366604m_8530598671384935368gmail_signature" data-smartmail="gmail_signature">------------------------------------------<br>Rahul Bhargava<br><a href="http://rahul.connectionlab.org" target="_blank">http://rahul.connectionlab.org</a><br></div>
</blockquote></div>
</blockquote></div></div></div></div>-- <br><div dir="ltr" class="m_3204234951812529332m_88209455210671976m_8249359094806342064m_-4987165147308778594m_5055844882625841378gmail_signature" data-smartmail="gmail_signature">------------------------------------------<br>Rahul Bhargava<br><a href="http://rahul.connectionlab.org" target="_blank">http://rahul.connectionlab.org</a><br></div>
</blockquote></div>
</blockquote></div>
</div></div></blockquote></div><br></div>
</blockquote></div>
</blockquote></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">------------------------------------------<br>Rahul Bhargava<br><a href="http://rahul.connectionlab.org">http://rahul.connectionlab.org</a><br></div>