Giter Club home page Giter Club logo

broadsea-webtools's Introduction

BroadSea-WebTools [In development]

A Docker container that includes the OHDSI WebAPI (running in Apache Tomcat) and the OHDSI web applications. See https://github.com/OHDSI/Broadsea for more information.

broadsea-webtools's People

Contributors

leeevans avatar msuchard avatar t-abdul-basser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

broadsea-webtools's Issues

Upgrade to 2.12.0

Hi @leeevans -- I'd like to use Atlas/WebAPI 2.12.0 in Broadsea. From what I can tell, until the WAR file is published to nexus, we can't have the Dockerfile pull this version.

Can we get the 2.12.0 WAR file out in the Nexus repo?

BUG: npm ERR! Unexpected token =

When attempting to build the docker image, the following error appears:

[+] Building 572.3s (16/22)
 => [internal] load build definition from Dockerfile                                  0.0s
 => => transferring dockerfile: 2.66kB                                                0.0s
 => [internal] load .dockerignore                                                     0.0s
 => => transferring context: 45B                                                      0.0s
 => [internal] load metadata for docker.io/library/tomcat:9.0.46-jdk8-openjdk-buster  1.5s
 => [auth] library/tomcat:pull token for registry-1.docker.io                         0.0s
 => CACHED [ 1/17] FROM docker.io/library/tomcat:9.0.46-jdk8-openjdk-buster@sha256:3  0.0s
 => [internal] load build context                                                     0.0s
 => => transferring context: 953B                                                     0.0s
 => [ 2/17] RUN apt-get update && apt-get install -y --no-install-recommends     w  139.1s
 => [ 3/17] WORKDIR ~                                                                 0.0s
 => [ 4/17] RUN curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.  27.1s
 => [ 5/17] RUN apt-get update && apt-get install -y --no-install-recommends     np  40.5s
 => [ 6/17] RUN npm install -g npm                                                   42.1s
 => [ 7/17] WORKDIR /usr/local/tomcat/webapps                                         0.0s
 => [ 8/17] RUN wget https://repo.ohdsi.org/nexus/repository/releases/org/ohdsi/We  315.1s
 => [ 9/17] RUN wget https://github.com/OHDSI/Atlas/archive/v2.9.0.zip     && unzip   5.4s
 => [10/17] WORKDIR /usr/local/tomcat/webapps/atlas                                   0.0s
 => ERROR [11/17] RUN npm run build                                                   1.2s
------
 > [11/17] RUN npm run build:
#15 1.136 npm WARN npm npm does not support Node.js v10.24.0
#15 1.138 npm WARN npm You should probably upgrade to a newer version of node as we
#15 1.139 npm WARN npm can't make any promises that npm will work with this version.
#15 1.139 npm WARN npm You can find the latest version at https://nodejs.org/
#15 1.146 npm ERR! Unexpected token =
#15 1.160
#15 1.160 npm ERR! A complete log of this run can be found in:
#15 1.161 npm ERR!     /root/.npm/_logs/2021-11-23T21_36_46_330Z-debug.log
------
executor failed running [/bin/sh -c npm run build]: exit code: 1

It appears to be an issue with nodejs and/or npm.

Make WebAPI URL used by Atlas configurable via environment variables

Currently, it is necessary to mount a custom config-local.js into the container to configure the configLocal.api.url. It would be convenient to configure this value via an environment variable instead.

Alternatively, the default value for configLocal.api.url could be set to /WebAPI/ i.e. a relative path to the API. I think this would be a quite clean solution as the majority of deployments will not use this container to connect ATLAS to a different WebAPI.

Or we could override the default value in config-local.js similar to the way it was done here: https://github.com/OHDSI/Broadsea-WebTools/blob/master/deploy-script.sh#L2 (I believe this line can actually be removed as Penelope has been removed).

Supervisord

Hi, I was wondering why Supervisord is used inside Docker image for WebTools? It would be useful if it was managing more than one service but in this case, I don't know its role in running the container.

Docker Build fails: ENOENT: no such file or directory, open '/usr/local/tomcat/webapps/atlas/node_modules/qs/dist/qs.js'

[email protected] build:dev /usr/local/tomcat/webapps/atlas
node build/optimize.js && npm run compress

[BABEL] Note: The code generator has deoptimised the styling of undefined as it exceeds the max of 500KB.
{ Error: Error: ENOENT: no such file or directory, open '/usr/local/tomcat/webapps/atlas/node_modules/qs/dist/qs.js'
In module tree:
main
pages/Router

at Object.openSync (fs.js:443:3)

at /usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:28332:19
at /usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:3059:39
at /usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:2999:25
at Function.prim.nextTick (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:28083:9)
at Object.errback (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:2998:26)
at Object.callback (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:2984:23)
at Object.then (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:3038:23)
at build (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:28289:12)
at runBuild (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:30302:17)
at Object.execCb (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:1946:33)

originalError:
{ Error: ENOENT: no such file or directory, open '/usr/local/tomcat/webapps/atlas/node_modules/qs/dist/qs.js'
at Object.openSync (fs.js:443:3)
at Object.readFileSync (fs.js:343:35)
at Object.readFile (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:3658:27)
at Object.readFileAsync (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:3672:32)
at Function.require._cacheReadAsync (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:28102:25)
at /usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:27671:48
at /usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:3041:37
at /usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:2989:25
at Function.prim.nextTick (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:28083:9)
at Object.callback (/usr/local/tomcat/webapps/atlas/node_modules/requirejs/bin/r.js:2988:26)
errno: -2,
syscall: 'open',
code: 'ENOENT',
path: '/usr/local/tomcat/webapps/atlas/node_modules/qs/dist/qs.js',
fileName: '/usr/local/tomcat/webapps/atlas/node_modules/qs/dist/qs.js',
moduleTree: [ 'pages/Router', 'main' ] } }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build:dev: node build/optimize.js && npm run compress
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build:dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-01-13T19_01_39_777Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: npm run prep && npm run build:dev
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-01-13T19_01_39_802Z-debug.log

Missing Spark JDBC Driver

The War file for the latest release https://github.com/OHDSI/WebAPI/releases/tag/v2.11.1 does not appear to have the SPARK driver packaged:

docker exec -it broadsea-webtools_broadsea-webtools_1 /bin/bash
cd /usr/local/tomcat/webapps/WebAPI/WEB-INF/lib/
ls *spark*

The last result does not return any results. I can see other JDBC Drivers in this directory including postgres, redshift.

Failure building container - NPM run build don't work

Steps to reproduce:

$ git clone a2d7d1e

$ docker-compose build --no-cache

`
Step 15/22 : RUN npm run build
---> Running in ea4b1e41bd3d
npm does not support Node.js v10.24.0
You should probably upgrade to a newer version of node as we
can't make any promises that npm will work with this version.
You can find the latest version at https://nodejs.org/
/usr/local/lib/node_modules/npm/lib/npm.js:32
#unloaded = false
^

SyntaxError: Invalid or unexpected token
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at module.exports (/usr/local/lib/node_modules/npm/lib/cli.js:22:15)
at Object. (/usr/local/lib/node_modules/npm/bin/npm-cli.js:2:25)
at Module._compile (internal/modules/cjs/loader.js:778:30)
ERROR: Service 'broadsea-webtools' failed to build: The command '/bin/sh -c npm run build' returned a non-zero code: 1
`

Penelope missing from webapps folder

The first line of the deploy-script references the penelope webapp, but it is not included in the webapps folder. If this app has been deprecated, should it be removed from the script?

root@a3b4f7729496:/usr/local/tomcat/webapps# ls
WebAPI WebAPI.war atlas

The beginning of the startup logs show:
broadsea-webtools Can't open /usr/local/tomcat/webapps/penelope/web/js/app.js: No such file or directory.

Custom settings.xml

How can I easily override settings (e.g. security settings) from the WebAPI settings.xml file using this Docker container?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.