Skip to content

Latest commit

 

History

History
98 lines (69 loc) · 4.16 KB

README.md

File metadata and controls

98 lines (69 loc) · 4.16 KB

Nightly Dashboard End-to-End react-components dashboard api-server rmf-auth ros-translator api-client codecov

Building the Dashboard

Prerequisites

Ubuntu 22.04

Install nodejs

sudo apt update && sudo apt install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
nvm install 16

Install pnpm and nodejs

curl -fsSL https://get.pnpm.io/install.sh | bash -
pnpm env use --global 16

Install rmf

Refer to the following documentation:

Others

Refer to the following documentations:

Install dependencies

For Debian/Ubuntu systems, you may need to install python3-venv first.

sudo apt install python3-venv

Run

pnpm install

You may also install dependencies for only a subset of the packages

pnpm install -w --filter <package>...

PostgreSQL

If you would like to use PostgreSQL, you will also need to install and set it up. The defaults are for PostgreSQL to be listening on 127.0.0.1:5432.

Docker

We can use Docker to quickly bring up a PostgreSQL instance.

Install docker: https://docs.docker.com/engine/install/ubuntu/ Start a a database instance: docker run -it --rm --name rmf-postgres --network=host -e POSTGRES_PASSWORD=postgres -d postgres

To stop the instance: docker kill rmf-postgres

Bare Metal

Alternatively, we can install PostgreSQL 'bare metal'.

apt install postgresql postgresql-contrib -y
# Set a default password
sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"

sudo systemctl restart postgresql
# interactive prompt
sudo -i -u postgres

To manually reset the database:

sudo -u postgres bash -c "dropdb postgres; createdb postgres"

Launching

Before running the commands, make sure that rmf is sourced.

cd packages/dashboard
pnpm start

When presented with a login screen, use user=admin password=admin.

This launches a development server with the office world from rmf_demos. The server is useful for development but is obviously not useful for actual usage.

Configuration

See the rmf-dashboard docs.

Troubleshooting

First thing to try is to build rmf from source, in order to speed up development, rmf-web may use in-development features of rmf. That means that the binary releases may not have the features required, sometimes the features rmf-web uses may be so new that not even the rolling releases has it.

Refer to rmf_demos for instructions to build rmf. You should end up with a colcon workspace with all of rmf packages, remember to source the workspace before running any of the commands.