[ensembl-dev] docker image request for REST server

Duarte Molha duartemolha at gmail.com
Fri May 12 09:32:11 BST 2023


Hi Stefano

Been a few days. I think I discovered what was wrong with your
dockerfile... you were missing the installation part

perl Makefile.PL

I made some improvements, including changes required for when you want the
rest server to use GHRh37

You can checkout the code here:
https://github.com/duartemolha/ensembl-rest-docker

I have build it and it seems to be working fine now

Once again thank you for pointing me in the right direction

Duarte


On Tue, 2 May 2023 at 16:06, Stefano Giorgetti <sgiorgetti at ebi.ac.uk> wrote:

> Hello Duarte,
>
> That's weird. It looks like the configuration is missing.
>
> I can suggest to
>
>    - run the container and log in with interactive session
>    - you should land at "/opt/ensembl-rest"; if not, "cd" into there
>    - check where a file "ensembl_rest.conf" is there or not (I guess not)
>    - assuming this file is missing
>       - cp ensembl_rest.conf.default ensembl_rest.conf
>       - you may want to change the default ensembl version (from 88 to
>       109 ... or whatever you are interested in)
>          - you may need to install a text editor
>       - temporarily you may want to switch the debug mode on - pls, see
>       https://github.com/Ensembl/ensembl-rest/wiki/REST-Installation-and-Development
>       under section "Application Debugging"
>       - ./script/ensembl_rest_server.pl --port 80
>       - amend the Dockerfile to comprise these changes above and re-build
>       the image
>       - pls, confirm my guessing was right ;-) ... or not :-(
>
> Best,
>
> S
> On 02/05/2023 14:03, Duarte Molha wrote:
>
> Dear Stefano
>
> I was able to build the image.
>
> but it does not run.
>
> you did not have this issue on your test?
>
> docker run ensembl-rest
> Getopt::Long::Descriptive was configured with these ambiguous options: h
> You must configure a default store type unless you use exactly one store
> plugin. at /usr/share/perl5/Catalyst/Plugin/ConfigLoader.pm line 101.
> Compilation failed in require at /usr/share/perl5/Catalyst/Utils.pm line
> 309.
>
>
>
> On Thu, 27 Apr 2023 at 16:20, Duarte Molha <duartemolha at gmail.com> wrote:
>
>> Appreciate it Stefano
>>
>> I understand your concerns. I have a fast connection to the underlying
>> database as it is all hosted in the same place.
>> This is not for general (public) consumption, only for internal use
>>
>> But this is a great starting point
>>
>> Many thanks
>>
>> Duarte
>>
>>
>>
>> On Thu, 27 Apr 2023 at 16:11, Stefano Giorgetti <sgiorgetti at ebi.ac.uk>
>> wrote:
>>
>>> Dear Duarte,
>>>
>>> Thanks for your email.
>>>
>>> From my perspective, the installation procedure is (sort of) OK: there
>>> are a few minor inaccuracies (e.g. expected directory structure, PERL5LIB
>>> setup) and sub-optimal steps (e.g. Tabix, use of cpanm instead of
>>> pre-compiled packages), but not essential ones.
>>>
>>> Carried it out, just in case, and can confirm I could fire up a REST
>>> server instance in both a VM and Docker container.
>>> TBH, I started from scratch, as not familiar with
>>> https://github.com/genomehubs/ensembl-rest-docker
>>>
>>> This said, I am not sure I can bless and recommend your approach.
>>> To achieve speed, you may also want to have fast connection to the
>>> underlying DBs; not to mention good tuning and configuration of the web
>>> server.
>>> Deployment of REST server in a Production environment is not a trivial
>>> task.
>>>
>>> However, I am not aware of the specificities of your use case(s) and
>>> environment, and can hardly advise.
>>>
>>> Finally, please find attached the Dockerfile I used, which - although
>>> neither complete nor optimised - may serve you as a reference.
>>>
>>> Best wishes,
>>>
>>> Stefano
>>>
>>>
>>> On 25/04/2023 11:16, Duarte Molha wrote:
>>>
>>> I have tried unsuccessfully to create a ENSEMBL REST server docker
>>> container to run locally on my locally installed ensembl database.
>>>
>>> I tried to follow the instructions here:
>>>
>>>
>>> https://github.com/Ensembl/ensembl-rest/wiki/REST-Installation-and-Development
>>>
>>> It has not worked.
>>>
>>> The links for Catalyst are broken:
>>>
>>>    - http://wiki.catalystframework.org/wiki/installation (basic)
>>>    - http://wiki.catalystframework.org/wiki/installingcatalyst
>>>     (advanced)
>>>
>>> I am able to install it by using CPAN, but it might be part of why I
>>> have been unsuccessful.
>>>
>>> I forked a github project that tries to do this:
>>>
>>> https://github.com/genomehubs/ensembl-rest-docker
>>>
>>> and modified it to work with human species...
>>>
>>>  https://github.com/duartemolha/ensembl-rest-docker
>>>
>>> But it still is not working
>>>
>>> Either some hints on what is wrong with my code or (better yet) a
>>> pre-build version of your rest server containerised would be
>>> greatly appreciated
>>>
>>> The main reason I am doing this is because I am developing some apps
>>> that I will want to do many (fast) queries and I do not want to rely on
>>> ensembl servers to get this as I will be rate limited pretty sharpish :)
>>>
>>> Many thanks
>>>
>>> Duarte
>>>
>>>
>>>
>>> _______________________________________________
>>> Dev mailing list    Dev at ensembl.org
>>> Posting guidelines and subscribe/unsubscribe info: https://lists.ensembl.org/mailman/listinfo/dev_ensembl.org
>>> Ensembl Blog: http://www.ensembl.info/
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ensembl.org/pipermail/dev_ensembl.org/attachments/20230512/08775fa0/attachment.html>


More information about the Dev mailing list