Satellite Mission Planner is an Open Source Mission Planning application for satellites, inspired by OpenC3. It runs locally in your browser and utilizes Docker containers for its backend services. Satellite Mission Planner is designed to work on Windows, MacOS, and Linux.
The scope for this application is coarse-mission planning - it's expected that the individual satellites, ground stations and customers will handle fine-grained details of mission planning since they have immediate on-board telemetry to make decisions, whereas Mission Planning will only have late downlinked telemetry.
The application consists of 5 Docker containers working together:
- backend - PostgreSQL database container storing core mission data including satellites, events, ground stations, targets, and users
- api - Node.js/Express API server with Python integration for satellite position calculations and orbital mechanics
- frontend - Astro/React web interface providing 3D mapping with Cesium, Gantt charts, and real-time mission planning tools
- redis - High-performance caching layer for satellite position data and session management
- influxdb - Time-series database for storing and querying access window calculations and telemetry data
-
Modern Architecture
- Runs locally in your browser using Docker Compose for service orchestration
- PostgreSQL relational database for persistent storage
- InfluxDB time-series database for access window tracking
- Redis caching for high-performance data access
- RESTful API backend with Node.js
- Reactive frontend built with Astro
-
Mission Planning Capabilities
- Calculates satellite access windows
- Ground station network management
- Stores payload target locations and calculates windows of opportunity
- Real-time satellite position tracking
- Multi-user support with role-based access control
- Modern computer with at least 4GB RAM (8GB+ recommended)
- Docker (required)
- Docker Compose (if not included with Docker)
Download Docker: https://www.docker.com/get-started
-
Clone the repository
git clone <repository-url> cd missionplanning
-
Start all services
- Windows:
plan.bat start
- macOS/Linux:
./plan.sh start
Initial startup takes 3-5 minutes as Docker downloads and builds containers.
- Windows:
-
Access the application
- Open your browser to http://localhost:4321
- Default login: change on first login
Cross-platform scripts for all operations:
./plan.sh start
orplan.bat start
- Start all 5 services (3-5 min first time, <30 sec after)./plan.sh stop
orplan.bat stop
- Stop all running services gracefully./plan.sh restart
orplan.bat restart
- Restart all services (useful after configuration changes)./plan.sh build
orplan.bat build
- Rebuild all Docker containers./plan.sh logs
orplan.bat logs
- View real-time logs from all services./plan.sh cleanup
orplan.bat cleanup
- WARNING: Removes all data and volumes permanently
- Map View (http://localhost:4321) - View real-time satellite positions in 2D/3D
- Satellites (/satellites) - Add and manage your satellite fleet with TLE data
- Ground Stations (/groundstations) - Configure tracking stations worldwide
- Targets (/targets) - Define mission objectives and observation targets
- Timeline (/timeline) - Plan and visualize mission activities with Gantt charts
- Activities (/activities) - Schedule specific mission events and operations
MIT