GMOD / docker-apollo

:whale: Apollo 2.X Docker Image
GNU General Public License v3.0
10 stars 12 forks source link

Browser hangs on "Loading..." with latest apollo docker container #39

Closed quokkamole closed 5 years ago

quokkamole commented 5 years ago

I have built the latest docker-apollo using the supplied Dockerfile and associated files and a Docker-compose file:

version: '3'
services:
  webapollo-docker:
    #image: quay.io/gmod/docker-apollo:2.3.1
    build:   
    ports:
      - "8888:8080"
    volumes:
      - ./jbrowse-root:/data
      - ./postgres-data:/var/lib/postgresql

The container seems to build correctly and starts up. The first problem I encounter in my browser when navigating to the web-apollo installation is that it complains about /temporary/apollo_data not being present. So I have gone into the container and created it. The folder is then visible in my mounted folder on the host (jbrowse-root). After solving that problem the browser then hangs on "Loading.." after logging in. The docker container logs show:

webapollo-docker_1  | 2019-04-03 21:25:00,599 [http-nio-8080-exec-15] WARN  apollo.PermissionService  - No user provided, please log in
webapollo-docker_1  | 2019-04-03 21:25:00,650 [http-nio-8080-exec-12] WARN  apollo.PreferenceService  - No user present, so using the client token
webapollo-docker_1  | 2019-04-03 21:25:00,747 [http-nio-8080-exec-13] WARN  apollo.PermissionService  - Failed to authenticate user
webapollo-docker_1  | 2019-04-03 21:25:20,808 [http-nio-8080-exec-15] WARN  apollo.AnnotatorService  - Unable to write to the database directory, so checking the config file
webapollo-docker_1  | 2019-04-03 21:25:21,239 [http-nio-8080-exec-14] INFO  apollo.UserController  - updateTrackListPreference
webapollo-docker_1  | 2019-04-03 21:25:21,279 [http-nio-8080-exec-14] INFO  apollo.UserController  - Added userOrganismPreference false
webapollo-docker_1  | 2019-04-03 21:25:21,516 [http-nio-8080-exec-11] ERROR errors.GrailsExceptionResolver  - NullPointerException occurred when processing request: [GET] /annotator/getAppState
webapollo-docker_1  | Cannot get property 'value' on null object. Stacktrace follows:
webapollo-docker_1  | java.lang.NullPointerException: Cannot get property 'value' on null object
webapollo-docker_1  |   at org.bbop.apollo.AnnotatorService.getCommonDataDirectory(AnnotatorService.groovy:101)
webapollo-docker_1  |   at org.bbop.apollo.AnnotatorService.$tt__getAppState(AnnotatorService.groovy:85)
webapollo-docker_1  |   at org.bbop.apollo.AnnotatorController.$tt__getAppState(AnnotatorController.groovy:580)
webapollo-docker_1  |   at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
webapollo-docker_1  |   at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
webapollo-docker_1  |   at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
webapollo-docker_1  |   at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
webapollo-docker_1  |   at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
webapollo-docker_1  |   at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
webapollo-docker_1  |   at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
webapollo-docker_1  |   at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
webapollo-docker_1  |   at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
webapollo-docker_1  |   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
webapollo-docker_1  |   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
webapollo-docker_1  |   at java.lang.Thread.run(Thread.java:748)

Perhaps you can give some suggestions on what is going wrong here (permission issue with the host folders? What permissions are needed?).

Thanks.

nathandunn commented 5 years ago

So, I'm not sure where its producing those errors from, but I would probably update to use the latest (versus 2.3.1) quay image instead of building it locally.

I added a common directory to the configuration that needs to be specified. Typically on startup it will query you or you can set it in the config (having some network trouble, but it is in here https://genomearchitect.readthedocs.io/en/latest/ https://genomearchitect.readthedocs.io/en/latest/).

Worst-case, you can set it in the database manually either someplace mounted or internal, but I’m really hoping that’s not necessary.

This is my system version:

select * from application_preference apollo-none-# ; id | version | name | value
-------+---------+-----------------------+----------------------- 16511 | 0 | common_data_directory | /opt/temporary/apollo

I’ve been running it locally like this without issue:

docker run -it -v /opt/apollo/:/data -v postgres-data:/var/lib/postgresql -p 8888:8080 quay.io/gmod/docker-apollo:latest

Let me know if that helps or I can see if I can’t build it from your instructions.

Nathan

On Apr 3, 2019, at 10:57 PM, quokkamole notifications@github.com wrote:

I have built the latest docker-apollo using the supplied Dockerfile and associated files and a Docker-compose file:

version: '3' services: webapollo-docker:

image: quay.io/gmod/docker-apollo:2.3.1

build:   
ports:
  - "8888:8080"
volumes:
  - ./jbrowse-root:/data
  - ./postgres-data:/var/lib/postgresql

The container seems to build correctly and starts up. The first problem I encounter in my browser when navigating to the web-apollo installation is that it complains about /temporary/apollo_data not being present. So I have gone into the container and created it. The folder is then visible in my mounted folder on the host (jbrowse-root). After solving that problem the browser then hangs on "Loading.." after logging in. The docker container logs show:

webapollo-docker_1 | 2019-04-03 21:25:00,599 [http-nio-8080-exec-15] WARN apollo.PermissionService - No user provided, please log in webapollo-docker_1 | 2019-04-03 21:25:00,650 [http-nio-8080-exec-12] WARN apollo.PreferenceService - No user present, so using the client token webapollo-docker_1 | 2019-04-03 21:25:00,747 [http-nio-8080-exec-13] WARN apollo.PermissionService - Failed to authenticate user webapollo-docker_1 | 2019-04-03 21:25:20,808 [http-nio-8080-exec-15] WARN apollo.AnnotatorService - Unable to write to the database directory, so checking the config file webapollo-docker_1 | 2019-04-03 21:25:21,239 [http-nio-8080-exec-14] INFO apollo.UserController - updateTrackListPreference webapollo-docker_1 | 2019-04-03 21:25:21,279 [http-nio-8080-exec-14] INFO apollo.UserController - Added userOrganismPreference false webapollo-docker_1 | 2019-04-03 21:25:21,516 [http-nio-8080-exec-11] ERROR errors.GrailsExceptionResolver - NullPointerException occurred when processing request: [GET] /annotator/getAppState webapollo-docker_1 | Cannot get property 'value' on null object. Stacktrace follows: webapollo-docker_1 | java.lang.NullPointerException: Cannot get property 'value' on null object webapollo-docker_1 | at org.bbop.apollo.AnnotatorService.getCommonDataDirectory(AnnotatorService.groovy:101) webapollo-docker_1 | at org.bbop.apollo.AnnotatorService.$tt__getAppState(AnnotatorService.groovy:85) webapollo-docker_1 | at org.bbop.apollo.AnnotatorController.$tt__getAppState(AnnotatorController.groovy:580) webapollo-docker_1 | at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198) webapollo-docker_1 | at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63) webapollo-docker_1 | at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) webapollo-docker_1 | at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) webapollo-docker_1 | at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) webapollo-docker_1 | at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) webapollo-docker_1 | at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) webapollo-docker_1 | at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) webapollo-docker_1 | at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) webapollo-docker_1 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) webapollo-docker_1 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) webapollo-docker_1 | at java.lang.Thread.run(Thread.java:748)

Perhaps you can give some suggestions on what is going wrong here (permission issue with the host folders? What permissions are needed?).

Thanks.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/GMOD/docker-apollo/issues/39, or mute the thread https://github.com/notifications/unsubscribe-auth/AAt2qof1RNCyhHMpQKWqAE3TflhtmnDBks5vdSPfgaJpZM4cbhdJ.

nathandunn commented 5 years ago

Closing for now. Please re-open on the make apollo repo: https://github.com/GMOD/Apollo