Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipeline updates (allows configuration variables in place of static values) and documentation #53

Merged
merged 5 commits into from
May 13, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Prev Previous commit
Next Next commit
Deployment additions
  • Loading branch information
meadej committed Apr 24, 2023
commit 47f9fd5fd176fb66ab0bf0b7a0b8be0818a9f68a
91 changes: 49 additions & 42 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,49 +2,62 @@ version: '3.7'

services:
tracker:
image: iqtlabs/skyscan-tracker
command: "./flighttracker.py -m mqtt -H piaware -l ${LAT} -L ${LONG} -a ${ALT} -P skyscan/planes/json -T skyscan/flight/json -M ${MIN_ELEVATION} -c ${CAMERA_LEAD}"
image: iqtlabs/skyscan-tracker:${SERVICES_VERSION:-latest}
command: "./flighttracker.py -m mqtt -H piaware -l ${LAT} -L ${LONG} -a ${ALT} -P skyscan/planes/json -T skyscan/${HOSTNAME}/flight/tracker/JSON -M ${MIN_ELEVATION} -c ${CAMERA_LEAD}"
volumes:
- ./data:/data
ports:
- 5000:5000
depends_on:
- mqtt
env_file:
- .env
deploy:
resources:
limits:
cpus: '1.0'
restart: unless-stopped

axis-ptz:
image: iqtlabs/skyscan-axis-ptz
command: "./camera.py -m mqtt -t skyscan/flight/json -u ${AXIS_USERNAME} -p ${AXIS_PASSWORD} -a ${AXIS_IP} -z ${CAMERA_ZOOM} -s ${CAMERA_MOVE_SPEED} -d ${CAMERA_DELAY} --lat ${LAT} --lon ${LONG} --alt ${ALT} --roll ${ROLL} --pitch ${PITCH} --yaw ${YAW}"
image: iqtlabs/edgetech-axis-ptz-controller
command: "./camera.py --publish-topic skyscan/${HOSTNAME}/image/edgetech-axis-ptz/JSON -f -m mqtt -t skyscan/${HOSTNAME}/flight/tracker/JSON -u ${AXIS_USERNAME} -p ${AXIS_PASSWORD} -a ${AXIS_IP} -z ${CAMERA_ZOOM} -s ${CAMERA_MOVE_SPEED} -d ${CAMERA_DELAY} --lat ${LAT} --lon ${LONG} --alt ${ALT} --roll ${ROLL} --pitch ${PITCH} --yaw ${YAW}"
volumes:
- /flash/raw:/app/capture
- /flash/processed/log:/flash/processed/log
depends_on:
- mqtt
restart: unless-stopped

piaware:
image: iqtlabs/skyscan-piaware
tty: true
container_name: piaware
devices:
- /dev/bus/usb:/dev/bus/usb
ports:
- 8080:80
- 30003:30003
- 30005:30005
environment:
- TZ=${TZ}
- LAT=${LAT}
- LONG=${LONG}
- FEEDER_ID=${FEEDER_ID}
- RECEIVER_TYPE=rtlsdr
- DUMP1090_DEVICE=${RTL_DEV}
env_file:
- .env
deploy:
resources:
limits:
cpus: '1.0'
restart: unless-stopped

notebook:
image: iqtlabs/skyscan-notebook-server
ports:
- "8888:8888"
coral-detect:
image: iqtlabs/skyscan-coral-detect
volumes:
- /flash/raw:/data/tosort
- /flash/coral/plane:/data/plane
- /flash/coral/noplane:/data/noplane
- /flash/coral/log:/data/log
- /flash/weights:/data/weights
deploy:
resources:
limits:
cpus: '1.0'
restart: unless-stopped

edge-detect:
image: iqtlabs/skyscan-yolo-detect
volumes:
- /flash/coral/plane:/data/tosort
- /flash/edge/plane:/data/plane
- /flash/edge/log:/data/log
- /flash/edge/noplane:/data/noplane
- /flash/weights:/data/weights
deploy:
resources:
limits:
cpus: '1.0'
env_file:
- .env
depends_on:
- mqtt

Expand All @@ -53,14 +66,8 @@ services:
ports:
- "9001:9001"
- "1883:1883"
restart: unless-stopped

egi:
image: iqtlabs/skyscan-egi
entrypoint: bash -c "gpsd ${GPS_SERIAL} -F /var/run/gpsd.sock && python3 egi_mqtt.py -m mqtt -l ${LAT} -L ${LONG} -a ${ALT} -r ${ROLL} -p ${PITCH} -y ${YAW}"
devices:
- /dev/ttyACM0
privileged: true
depends_on:
- mqtt
restart: unless-stopped
deploy:
resources:
limits:
cpus: '1.0'
restart: unless-stopped
36 changes: 36 additions & 0 deletions install-skyscan.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Set environment variables
export COMPOSE_FILE_URL=
export ENV_FILE_URL=

echo "Installing skyscan on ${HOSTNAME} at $(pwd)"

echo "Configuring Mobian base"
bash <(curl -fsSL https://short.iqt.org/pinephonepro)

mkdir data
cd data
curl -O https://opensky-network.org/datasets/metadata/aircraftDatabase.csv
cd ..

# Make necessary folders
mkdir /flash
mkdir /flash/raw
mkdir /flash/coral
mkdir /flash/coral/plane
mkdir /flash/coral/noplane
mkdir /flash/coral/log
mkdir /flash/weights
mkdir /flash/edge
mkdir /flash/edge/plane
mkdir /flash/edge/noplane
mkdir /flash/edge/log
mkdir /flash/processed
mkdir /flash/processed/log

curl -O $COMPOSE_FILE_URL
curl -O $ENV_FILE_URL

docker-compose pull

echo "Installation complete. Run `docker-compose up` to start the system"
echo "Before running, ensure you have replaced the demo weights with your own trained weights"