Skip to content

Setup

To begin, download the SteelEagle repository from GitHub:

git clone --depth 1 https://github.com/cmusatyalab/steeleagle.git
cd steeleagle

The backend code lives in the backend directory. The files pertinent for setting up and running SteelEagle are the docker-compose.yml and the redis.conf.template files.

backend
└── server
    ├── docker-compose.yml
    └── redis
        └── redis.conf.template

The docker-compose.yml file is pre-configured to launch the required backend computation engines and expose the ports needed to allow for communication between components.

The ground control station code lives in the gcs/streamlit directory.

Database Setup

SteelEagle uses Redis for storing drone telemetry such as location, velocity, battery level, etc. To set up Redis follow these instructions:

# Navigate to the Redis directory
cd backend/server/redis

# Create the redis.conf file from the template
cp redis.conf.template redis.conf

Open the redis.conf file in your favorite editor and choose and enter a Redis password on line 874:

user steeleagle on allcommands allkeys allchannels >(use secure password here)

For example, if you chose mypass as the password, this line should now be:

user steeleagle on allcommands allkeys allchannels >mypass

Ground Control Station Setup

Follow the instructions on installing the Streamlit GCS.

Environment Setup

Navigate to the server directory:

cd backend/server

And create the environment file from the template:

cp template.env .env

Within the environment file, add the Redis password you set up in the REDIS_AUTH variable and also add the externally accessible IP of the host to WEBSERVER_URL:

REDIS_AUTH=<shared key from redis.conf>
WEBSERVER_URL=http://<externally accessible IP of host>