Local environment setup for for Airavata server and Django portal
For detailed instructions, you can also refer to the github README https://github.com/apache/airavata/tree/master/modules/ide-integration, https://github.com/apache/airavata-django-portal
Install the following
- Docker installed with 'docker-compose' utility
- Maven
- Gitpython3
- python 3.6, 3.5, 3.4
- npm
Clone the airavata repository
...
Checkout the develop branch
Add a host entry to /etc/hosts file in local machine
Navigate the project directory and go to the folder containing docker-compose.yml
- cd airavata/modules/ide-integration/src/main/resources/
Start the services
Check the status of the services. Make sure all are in status “Up”
Start the airavata server
- Build the project using mvn clean install -DskipTests. You can also open the project in intellij and use the intellij maven plugins to build the clean build install the project project. Note: If you get an unknown database exception, make sure the mysql database is properly initialized. One easy way to check this is to verify the list of initialized databases in ide-integration/resources/database-data folder. It often helpful to stop db service, delete database-data folder and restart the docker service. Your database_data folder should look something like this. You can check the logs of db container to see if there are any errors.
Image Added
- cd airavata/modules/ide-integration/src/main/java/org/apache/airavata/ide/integration
- Open APIServerStarter.java in intellij
- Run the main class and make sure the server is successfully started
To start the django portal clone the project
Go to airavata-django-portal directory
...
and create a virtual
...
environment
- python3 -m venv venv
- Note: Make sure that you create virtual environment with either Python 3.6, 3.5 or 3.4. Wagtail version 2.0 (one of the dependency) is only compatible with these python versions.
Activate the environment
Install all the libraries required by the
...
portal
- pip install -r requirements.txt
Copy django_airavata/settings_local.py.ide to django_airavata/settings_local.py. Make sure services url are pointing to localhost ports where your airavata services are running
- cp django_airavata/settings_local.py.sample django_airavata/settings_local.py
Run django migrations
- python3 manage.py migrate
Build the JavaScript sources
Load the default Wagtail CMS page
- python3 manage.py load_default_gateway
Start the server
- python3 manage.py runserver
- Note: if you want to use OpenID Connect authentication from the Django Portal when running it locally, you'll need to first set the following environment to allow OAuth over insecure HTTP: export OAUTHLIB_INSECURE_TRANSPORT=1
Django server should be started on port 8000.
...
Make sure you are able to login to http://localhost:8000/auth/login using uername : default-admin and password : 123456
Once the development environment is setup you can look into some of the open bugs. Merge requests are always welcomed.
...