Skip to content
This repository has been archived by the owner on Mar 19, 2024. It is now read-only.

vantage6/vantage6-UI

Repository files navigation


vantage6

A privacy preserving federated learning solution

DocumentationContributingReferences


This repository has been moved to be a part of the general vantage6 repository

Please do not use this repository any more - it is no longer maintained

This repository is part of vantage6, and contains the code for our User Interface. This is a web application that allows you to communicate easily with your vantage6 server.

How to use

For instructions on how to run your own user interface, see the instructions below.

If you are using our Cotopaxi server you can use this user interface by logging on to https://portal.cotopaxi.vantage6.ai/. Contact us if you would like to have a user account.

Note that the user interface is not available for older vantage6 servers such as Harukas (v2). Please consider upgrading your project to Petronas (v3), or rather Cotopaxi (v4).

Running the UI

This UI is an Angular (version 14.1.3) application. For general information on how to work with Angular, we refer to the Angular CLI home page. You may need to install these requirements to run Angular applications locally.

Before running the application, you may need to update the configuration. Update the file in src/environments/environment.ts to set where your vantage6 server is running (or, alternatively, update environment.prod.ts if you want to run a production application).

When you have completed the steps above, run

ng serve

for a development server. Navigate to http://localhost:4200/ to use it.

Deployment

Angular production servers can be deployed in many ways. Angular's deployment documentation offers a number of options.

Alternatively, we provide the Docker image harbor2.vantage6.ai/infrastructure/ui to help you deploy your own UI. In that case, run

docker run --env SERVER_URL="<your_url>" --env API_PATH="<your_path>" -p 8080:80 harbor2.vantage6.ai/infrastructure/ui:latest

to run a UI on port 8080 that communicates with your own server. For instance, you can point to a local server with default settings if you set SERVER_URL=http://localhost:5000 and API_PATH=/api. If you don't enter environment variables, the UI points to https://cotopaxi.vantage6.ai by default.

Note that you can also use another UI image tag than ui:latest. For example, you can specify a version of the UI such as ui:3.6.0. Another option is to use the tag ui:cotopaxi, which defaults to the latest v4 version.

Security settings

Finally, there is also an environment variable ALLOWED_ALGORITHM_STORES that you can specify. If you do so, the appropriate CSP headers will be set so that your UI can only access the vantage6 server and algorithm stores to collect data from. You define them same as other environment variables, with spaces in between each algorithm store you want to allow traffic from:

docker run --env ALLOWED_ALGORITHM_STORES="store.cotopaxi.vantage6.ai myotherstore.com" ...

Note that if you do not specify this environment variable, the CSP policy will be very lenient. In order for the UI to work properly, algorithm store resources should be obtained, so if no algorithm stores are provided, all URIs will be allowed.