Repository initialization

Clone the repository, then initialize all the git submodules using the following command:

git submodule init
git submodule update

Development on docker

It's much easier to use docker and INDI simulators for regular development:

cd docker-compose/dev-server
docker-compose up

This will start backend and frontend dev servers, as well as other dependencies (redis, nginx).

To navigate the app, go to http://localhost:3000.

Development on real hardware

For actual hardware (camera, filter wheels) testing you need to run the application without docker.

You will need to install a webserver serving both backend and frontend endpoints. There is an example configuration file in the config/dev-webserver-conf directory for nginx. To avoid conflicts with the docker development server, this is configured to listen on port 3080.

You will also need a redis instance, that must already be up and running before starting backend server.

Start backend

cd backend
./start-debug-server

Start frontend

cd frontend
yarn install
# without BROWSER=none, a browser session would automatically start, but pointing to the wrong port (3000). We need to start browser manually pointing to port 3808
BROWSER=none yarn start

To navigate the app, go to http://localhost:3080.