<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Hi Douglas,
<div class=""><br class="">
</div>
<div class=""> Hmm, my mistake. You do need Ice etc for collectstatic. </div>
<div class="">I was thinking of what’s actually needed by collectstatic and forgetting the import failures:</div>
<div class=""><br class="">
</div>
<div class="">
<div style="margin: 0px; font-family: Courier; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);" class="">
$ python omeroweb/manage.py collectstatic</div>
<div style="margin: 0px; font-family: Courier; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);" class="">
Traceback (most recent call last):</div>
<div style="margin: 0px; font-family: Courier; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);" class="">
  File "omeroweb/manage.py", line 38, in <module></div>
<div style="margin: 0px; font-family: Courier; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);" class="">
    import settings</div>
<div style="margin: 0px; font-family: Courier; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);" class="">
  File "/Users/wmoore/Desktop/OMERO/openmicroscopy/components/tools/OmeroWeb/omeroweb/settings.py", line 34, in <module></div>
<div style="margin: 0px; font-family: Courier; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);" class="">
    import omero</div>
<div style="margin: 0px; font-family: Courier; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);" class="">
  File "/Users/wmoore/Desktop/OMERO/openmicroscopy/dist/lib/python/omero/__init__.py", line 17, in <module></div>
<div style="margin: 0px; font-family: Courier; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);" class="">
    import Ice</div>
<div style="margin: 0px; font-family: Courier; color: rgb(76, 47, 45); background-color: rgb(223, 219, 196);" class="">
ImportError: No module named Ice</div>
</div>
<div class=""><br class="">
</div>
<div class="">But hopefully your workaround means that this isn’t necessary.</div>
<div class=""><br class="">
</div>
<div class="">Thanks for the update,</div>
<div class=""><br class="">
</div>
<div class=""> Cheers,</div>
<div class=""><br class="">
</div>
<div class="">   Will.</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div>
<blockquote type="cite" class="">
<div class="">On 17 Aug 2017, at 22:56, Douglas Russell <<a href="mailto:douglas_russell@hms.harvard.edu" class="">douglas_russell@hms.harvard.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">Thanks for this reply. I've made a few comments inline.
<div class=""><br class="">
</div>
<div class="">Cheers,</div>
<div class=""><br class="">
</div>
<div class="">Douglas<br class="">
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="">On Fri, 4 Aug 2017 at 07:40 William Moore (Staff) <<a href="mailto:W.Moore@dundee.ac.uk" class="">W.Moore@dundee.ac.uk</a>> wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Douglas,<br class="">
<br class="">
 Running:<br class="">
<br class="">
$ python lib/python/omeroweb/manage.py collectstatic —noinput<br class="">
<br class="">
shouldn’t need most of the dependencies of OMERO.web (Ice, Pillow, numpy, omero-marshal etc),<br class="">
just Django and probably django-pipeline.<br class="">
The OMERO.py download should have everything you need (don’t need the full server).<br class="">
</blockquote>
<div class=""><br class="">
</div>
<div class="">Useful to know (I'd assumed the dependency chain would require Ice etc), but I would have had to install some dependencies on the nginx deployment that really don't need to be there (python, django, etc), plus install OMERO.py when all I need
 are the statics. My eventual solution was able to reuse the omero-web docker image without basing the final image on this.</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="">
If you have installed any OMERO.web apps then they would also have static files to collect,<br class="">
so any static-files bundle we could provide would need to be customised for your own install.<br class="">
<br class="">
</blockquote>
<div class=""><br class="">
</div>
<div class="">Good point.</div>
<div class=""> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is there a way that you can collectstatic on your main OMERO.web server and export or<br class="">
rsync this to your web server?<br class="">
<br class="">
</blockquote>
<div class=""><br class="">
</div>
<div class="">I think this would be possible, but a bit awkward as the Docker container would then need to be running ssh-server and have credentials to do so. In the end my solution is not dissimilar to this though, but I did it at image build time, rather
 than runtime.</div>
<div class=""> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="">
Let us know if you can find a simpler workaround.<br class="">
Providing a static files bundle is a nice idea but probably something we’d only consider doing if we knew<br class="">
it would be important to a bunch of users.<br class="">
</blockquote>
<div class=""><br class="">
</div>
<div class="">For the Docker use case, I did find a good workaround. Multistage builds allowed me to build a docker image based on openmicroscopy/omero-web and seamlessly copy the statics into the final stage build based on nginx. The way I would then advocate
 someone building a custom Docker based install would be to build a base image using openmicroscopy/omero-web with whatever web-apps they wanted to add. Then us the Dockerfile from my omero-nginx repository modified to use whatever docker image the user built
 including web-apps. This would then spit out a docker container based on nginx, with all the statics required by OMERO.web, plus whatever web apps.</div>
<div class=""><br class="">
</div>
<div class="">Might sound a little bit convoluted when building custom images with a custom web-app configuration, but other than combining OMERO.web and nginx in the same container, it seems like the simplest solution. It is also very flexible.</div>
<div class=""> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="">
Cheers,<br class="">
<br class="">
  Will.<br class="">
<br class="">
<br class="">
> On 3 Aug 2017, at 16:39, Douglas Russell <<a href="mailto:douglas_russell@hms.harvard.edu" target="_blank" class="">douglas_russell@hms.harvard.edu</a>> wrote:<br class="">
><br class="">
> I was trying to build a single process nginx docker image to live alongside a single process omero-web image. The difficulty with this is that it is necessary to create an image with all of the same dependencies as omero-web and download the OMERO.server
 (or apparently OMERO.py, but I haven't tried this) bundle, in order to then run `./manage.py collectstatic`.<br class="">
><br class="">
> Ideally it would be possible to simply download the statics as this is all that is needed besides a bit of nginx config.<br class="">
><br class="">
> Thoughts?<br class="">
><br class="">
> Douglas<br class="">
> _______________________________________________<br class="">
> ome-devel mailing list<br class="">
> <a href="mailto:ome-devel@lists.openmicroscopy.org.uk" target="_blank" class="">
ome-devel@lists.openmicroscopy.org.uk</a><br class="">
> <a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel" rel="noreferrer" target="_blank" class="">
http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel</a><br class="">
<br class="">
<br class="">
The University of Dundee is a registered Scottish Charity, No: SC015096<br class="">
_______________________________________________<br class="">
ome-devel mailing list<br class="">
<a href="mailto:ome-devel@lists.openmicroscopy.org.uk" target="_blank" class="">ome-devel@lists.openmicroscopy.org.uk</a><br class="">
<a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel" rel="noreferrer" target="_blank" class="">http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel</a><br class="">
</blockquote>
</div>
</div>
</div>
_______________________________________________<br class="">
ome-devel mailing list<br class="">
<a href="mailto:ome-devel@lists.openmicroscopy.org.uk" class="">ome-devel@lists.openmicroscopy.org.uk</a><br class="">
http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel<br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
<br>
<span style="font-size:10pt;">The University of Dundee is a registered Scottish Charity, No: SC015096</span>
</body>
</html>