AngularJS UI for the Dockstore Web Service.
All configuration for the Dockstore UI is done in the app/scripts/services/webservice.js
file.
- For development, the server name should be
http://localhost:9000
, on a production environment, replace this URI with a fully-qualified domain name (e.g.https://www.dockstore.org:8443
).
API_URI: 'http://localhost:8080',
API_URI_DEBUG: 'http://localhost:8090/tests/dummy-data',
- Replace
GITHUB_CLIENT_ID
with the client id for your GitHub Dockstore application.
GITHUB_AUTH_URL: 'https://github.com/login/oauth/authorize',
GITHUB_CLIENT_ID: 'a70739297a7d67f915de',
GITHUB_REDIRECT_URI: 'http://localhost:9000/login',
GITHUB_SCOPE: 'read:org',
- Replace
QUAYIO_CLIENT_ID
with the client id for your Quay.io Dockstore application. Usehttp://localhost:9000
only for development.
QUAYIO_AUTH_URL: 'https://quay.io/oauth/authorize',
QUAYIO_CLIENT_ID: 'RWCBI3Y6QUNXDPYKNLMC',
QUAYIO_REDIRECT_URI: 'http://localhost:9000/onboarding',
QUAYIO_SCOPE: 'repo:read,user:read'
Dockstore currently integrates with GitHub and Quay.io, in the following steps, replace http://localhost:9000
with a fully-qualified domain name on a production environment.
- On GitHub, create an application and enter the following for
Authorization callback URL
:http://localhost:9000/login
. - On Quay.io, create an application and enter the following for
Redirect/Callback URL Prefix
:http://localhost:9000/onboarding
.
- Install Node.js and NPM on your workstation, specific instructions will vary depending on the operating system distribution. The use of nvm is encouraged in supported environments.
- Install the principal build dependencies globally:
npm install --global grunt-cli bower yo generator-karma generator-angular toaster
- Install Compass, on Ubuntu 14.04 LTS run (use brew on Mac OS X):
sudo apt-get install -y ruby ruby-dev
gem install compass
- Update NPM and Bower packages:
npm update
bower update
- Attempt to build the project by running:
grunt
from the root directory of the dockstore-ui repository. On Mac OS X, use NPM to install any missing dependencies indicated by the output of the build tool until it succeeds (it may be necessary to install some packages locally).
- The Dockstore web service and database should be running, and the API accessible on
http://localhost:8080
. - All the configuration in the JavaScript and on GitHub/Quay.io should be set to use
http://localhost:9000
. - In the dockstore-ui repository root directory, run
grunt serve
. - You should be automatically navigated to
http://localhost:9000
in a web browser.
- The Dockstore web service and database should be running, and the API accessible on
https://www.dockstore.org:8080
(the API may use a different server name if desired). - All the configuration in the JavaScript and on GitHub/Quay.io should be set to use
https://www.dockstore.org/
. - In the dockstore-ui repository root directory, run
grunt
to build the project, this will execute unit tests, compile all the HTML templates and JavaScript source files, and copy over all the required dependencies. - Copy the contents of the
dockstore-ui/dist
folder to the root directory of your web server (e.g. NGINX, Apache, AWS S3, ...). - Navigate to
https://www.dockstore.org/
in your web browser.
Documents written in Markdown should be placed in the app/docs/
directory, they will be visible from the Documentation page in UI after adding an object like this to the docObjs
array in app/scripts/services/documentationservice.js
:
{
slug: 'getting-started',
name: 'Getting Started',
path: 'docs/getting-started.md'
}