Skip to content

ProvEdge/rmf-web

 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 77.1%
  • Python 19.0%
  • JavaScript 2.6%
  • Shell 0.6%
  • Jinja 0.6%
  • HTML 0.1%