Assuming you are running Custos locally (see https://github.com/apache/airavata-custos/tree/develop#quickstart), edit the .env file to match the client id and secret generated by the Custos bootstrap service:
CUSTOS_CLIENT_ID="custos-s8qf9g3odbbcdsgd2khv-10000000"
CUSTOS_CLIENT_SEC="..."
CUSTOS_API_URL="http://localhost:10000"
CUSTOS_SUPER_CLIENT_ID="custos-s8qf9g3odbbcdsgd2khv-10000000"
You need Node.js 14 and Yarn 1 installed.
yarn install
yarn run serve
You need Python 3.9+.
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
./manage.py migrate
./manage.py runserver
Airavat custos portal is available as a python package to install and customise for tenants needs. The forllowing instructions are for setting up a customised portal using all the features available in the airavata custos portal.
- Install
pip install airavata-custos-portal
- Create a Django app
django-admin startproject my_first_custos_app .
cd my_first_custos_app
django-admin startapp apps
cd apps
django-admin startapp frontend
- Include the custos portal api and frontend in the urls.
# my_first_custos_app/apps/frontend/urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path("api/", include("airavata_custos_portal.apps.api.urls")),
path("", include("airavata_custos_portal.apps.frontend.urls")),
]
- Also, include the custom UI app in the urls.
# my_first_custos_app/apps/frontend/urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path("api/", include("airavata_custos_portal.apps.api.urls")),
path("", include("airavata_custos_portal.apps.frontend.urls")),
path("custom-ui/", include("my_first_custos_app.my_custom_ui.urls")),
]
The application consists of a Vue.js frontend and a Django based backend. The instructions below are for setting up the local setup for development.
Change the environment variables on .env
yarn install
yarn serve
yarn lint
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
./manage.py migrate
./manage.py runserver
And then point to http://localhost:8000
- Build the static files
yarn build
- Build the python package
python -m pip install --upgrade build
python -m build
- Publish the python package to pypi.org. Optionally can push to test.pypi.org. See https://packaging.python.org/tutorials/packaging-projects/ for more info.
python -m pip install --upgrade twine
python -m twine upload dist/*