Docker Image
Version: 0.4.0
Environment: production
Git Commit: ec1063e
Build Date: 20260426
Commits in this release:
- ec1063e "Add additional baud rate options (1250, 2500, 5000, 12500) to decoder parameters across components to support extended use cases."
- d6132da "Remove deprecated satellite and group selection components, refactor tracking logic to integrate with enhanced multi-tracker views and streamline state handling."
- bd32b25 "Add rig status handling to target dialog, enhance status chip visuals, and refactor rotator logic for consistency and clarity."
- 45be1ae "Integrate rig selection and status handling into target retarget dialog, enhance slot selection UI, and refactor logic for consistency and clarity."
- 7d8c615 "Add selector logic for running transmitters and integrate with VFO components to support multi-tracker metadata and enhance transmitter scoping."
- e91d66d "Refactor tracker view and bookmark logic to support multi-tracker metadata, improve transmitter handling, and standardize offset calculations across components."
- 9b19458 "Refactor rig and rotator status handling to use shared helpers and improve consistency in disconnected and LED status logic across components."
- 6258647 "Adjust font sizes, padding, and dimensions in target satellite selector for improved UI consistency and readability."
- 5c9e1f2 "Remove redundant check for rotator selection in rig control logic to simplify condition handling and eliminate unnecessary code."
- 9efd849 "Set default target states to disconnected for new targets in satellite selector, ensuring consistent initialization behavior."
- d659115 "Add parked state handling to hardware popover status logic, update warning chip and badge colors for consistency and clarity."
- 5ad49ab "Refactor bookmark clustering logic to support frequency-aware grouping and improve cluster metadata aggregation for better signal organization."
- bd19a56 "Introduce
sameIdentifierandnormalizeTrackerIdhelpers for consistent identifier comparisons, update logic across VFO components to ensure reliable matching and tracker validation." - 519a06a "Enhance hardware popover with slewing state handling, refined status label logic, and improved VFO display layout for better readability and clarity."
- 3cfe5dd "Refactor hardware status logic into shared helpers for consistent state handling across target tabs and popovers, and streamline UI components by removing redundant code."
- 251c37d "Add warning chip logic to hardware popover for displaying below-horizon, parked, and stopped states, and update popover layout for better clarity and responsiveness."
- 844838e "Adjust hardware popover badge logic to exclude disconnected state from issue counts and update font sizes for improved clarity and readability."
- b2cd395 "Refactor file browser loading behavior with persistent shell visibility and enhanced state-specific overlays for improved UX."
- c5c2c53 "Add optional 'prefix' prop to TargetNumberIcon and update relevant components for consistent target label formatting."
- 9ef6dc1 "Simplify satellite icon color logic in TargetPopover by introducing fleet visibility check via hasAnyVisibleTarget, ensuring clearer and more concise rules."
- 05b098d "Adjust badge styling in hardware popover by customizing size, padding, and font for improved visual consistency."
- 421c6d5 "Remove obsolete tests for tracking-related logic and refactor hardware state handling in UI components to improve code clarity and streamline functionality."
- 9d5abb2 "Preserve active tracker selection during quick actions by introducing a ref for trackerId, ensuring user context is maintained while avoiding unintended overwrites."
- 1fdc21e "Refactor rotator selection dialog with improved no-rotator handling, enhanced state checks, and updated UI feedback for better user experience."
- 578076b "Add fallback logic for Horizons fetches with adaptive projection step reductions to handle no-ephemeris errors gracefully."
- db1fe6e "Add STEREO-A and STEREO-B spacecraft entries to spacecraft index with corresponding metadata for improved mission tracking."
- 0c24e9e "Refactor satellite-map altitude and velocity labels with human-readable formatting for improved UI clarity."
- 516324b "Remove unused decoder types 'LoRa' and 'AFSK' from monitored-satellite-dialog and observation-form-dialog for cleaner configuration options."
- b9c9489 "Add observation tracker support in TargetSatelliteSelectorBar, update filtering logic, and adjust tracker labels for improved clarity and functionality."
- 2a4a6b1 "Add tracker slot limit enforcement, observation-slot support, and corresponding tests for improved resource control."
- 4c8746f "Add
disabledprop to SatelliteSearchAutocomplete for conditional interactivity, simplify TargetSatelliteSelectorBar by removing unused tracking logic, and optimize retargeting capabilities with active observation checks." - cf6e7cf "Add observation executor and tracker handler tests for tracker lifecycle, enhance session handling logic, and introduce ephemeral tracker slot support."
- 301df27 "Prioritize 'filled' folder thumbnails in decoded thumbnail selection logic and add corresponding test for improved source preference."
- 08154e4 "Add decoded folder thumbnail handling with centralized backend utilities and reusable frontend components, refactor file browser logic for improved clarity and maintainability."
- 6f648ac "Add SDR parameter caching with localStorage, enable forced refresh handling, and refactor state updates for improved efficiency and scalability."
- 61c1ce0 "Enhance SatelliteEditDialog state handling to support local edit tracking, prevent unnecessary form resync, and improve satellite change detection with
useRef." - 40bffc8 "Introduce
siosupport in TrackerHandler to emit tracker instance snapshots and add corresponding tests." - f4daeb6 "Add rotatorName computation in TargetSatelliteSelectorBar to improve tooltip clarity and update memoization dependencies appropriately."
- 8258b41 "Remove upcoming observation tooltip logic from TargetSatelliteSelectorBar to simplify tooltip generation."
- 248dd31 "Add rig-based state handling and metadata display in FleetTargetRow and HardwarePopover while removing unused navigation logic for improved flexibility and clarity."
- 45cd5ef "Refactor pass timing and countdown logic to TargetSatelliteInfo for improved encapsulation, readability, and display consistency while removing redundant logic from TargetSatelliteSelectorBar."
- fc49b16 "Introduce
hasTargetsstate to normalize target dependency checks, improve condition readability, and streamline control components." - 5282a41 "Normalize null-like state values in logger messages across handlers for improved consistency and readability."
- df2ac69 "Remove unused targetNoradUsage logic and simplify linked observation checks in TargetSatelliteSelectorBar."
- 57e79d7 "Refactor linked observation handling in TargetSatelliteSelectorBar to simplify running observation checks using targetOption."
- f08b7ac "Simplify target deletion logic in TargetSatelliteSelectorBar by leveraging targetOption properties and reducing redundant checks."
- 53647d2 "Enhance error details view with copy-to-
- 16bf559 "Refactor linked observation filtering in TargetSatelliteSelectorBar to account for rotator and NORAD IDs, improving robustness and accuracy."
- d85fbd6 "Refactor linked observation handling in TargetSatelliteSelectorBar by leveraging targetOptions for simplicity and reducing redundant logic."
- 07f5533 "Remove unused task and SDR logic in dashboard layout and observation banner while streamlining multi-observation handling for clarity and maintainability."
- 5585bdc "Refactor conflict resolution and preview logic by enhancing conflict reason handling, unifying variable names, and adding detailed time formatting for improved clarity and flexibility."
- 7215de9 "Support multiple running observations with dynamic UI updates and refactor countdown logic for efficiency and clarity."
- 5fc6b7e "Update AGENTS.md to use repository-relative paths for backend DB configuration and improve clarity in setup instructions."
- 93d919b "Normalize tracker ID handling by removing redundant logic, resolving runtime rotator ownership dynamically, and updating dependent tests and components."
- 66c3a2f "Add shared tracker-state update helper with rotator ownership arbitration and corresponding tests."
- 45f1e0f "Remove group_id requirement for creating tracking states and add test for auto-tracking without group_id."
- 68d3c89 "Improve satellite tracking test stability by handling empty state and live telemetry scenarios."
- 7a067ac "Handle 'none' rotator ID sentinel in CRUD operations and tracker logic to prevent invalid processing."
- 26ac55d "Remove unused preview box in TargetSatelliteSelectorBar component for cleanup and simplification."
- f040b31 "Add 'No targets configured' UI messages, tracker deletion logic, and reset active tracker state functionality across frontend and backend."
- ce3b9d0 "Upgrade uuid package to version 14.0.0 in frontend dependencies."
- 359a69f "Add fleet pass summaries feature with backend API integration, tracker-based data fetching, and frontend UI updates in TargetPopover."
- dbb40ea "Refactor transcription workers to use dedicated asyncio loops for provider I/O, optimize audio preprocessing off main event loop, and improve Socket.IO status emissions."
- 6bda4c6 "Add support for swapping rotator ownership between trackers, including backend and frontend integration."
- 939e683 "Log warning for rotator ownership conflicts in tracking state assignments."
- cb9fae7 "Fix inconsistent fontFamily syntax in TargetPopover component for elevation typography."
- c9cee3b "Upgrade Mako to version 1.3.11 in backend requirements."
- 1af4e16 "Update layout schema to version 3 and enhance satellite search UI with retarget hint and responsive Paper component improvements."
- 0af2a63 "Update layout schema to version 3, refine grid layouts for all breakpoints, and simplify responsive handling in satellite selector UI."
- c1d878c "Improve table and layout responsiveness by adding
minWidthand horizontal scrolling to scheduler components." - e1b286f "Add SatelliteEditDialog component and integrate edit functionality into SatelliteInfo; enable satellite details editing with improved dialog flows."
- 7058fc8 "Introduce layout schema versioning in local storage handling, enforce default layouts for legacy data, and improve layout persistence logic."
- 8a1492c "Enforce layout schema versioning across components, update layout persistence logic, and enhance default grid layouts."
- 065e48a "Combine satellite name and alternative name into a single line with fallback logic and trimming redundant caption handling in SatelliteInfo component."
- 9a4ab20 "Introduce reusable TargetBadge component, replacing Chip-based target labels across fleet and dashboard views for enhanced styling and tracking state support."
- f579a38 "Refactor rig and rotator control components: enhance usage displays, optimize state management, and improve UI responsiveness with dynamic styling and fallback logic."
- 621c9a3 "Refactor satellite data handling with improved fallback checks, conditional properties, and dynamic tab/dropdown target switching for enhanced flexibility and UI responsiveness."
- 2ebdf46 "Refactor rig control layout and fleet target row styles, enhance satellite tracking state management, and optimize target grid layouts."
- 344f23b "Add in-depth architecture and implementation overview for multi-target and multi-rotator tracking in backend tracker README."
- ba496f4 "Normalize and refactor tracker ID handling across frontend and backend to improve consistency and fallback logic."
- ebca6a5 Restrict Drone CI pipeline to run on
pushevents for themainbranch only. - 7945234 Add visitor tracking badges to README.md
- 8d717a7 "Update Drone CI pipeline to run push events on the main branch only"
- 7e4b5ea "Refactor TargetNumberIcon and map tooltip for improved layout consistency and visual alignment."
- 7a2bddb "Add dynamic satellite tracking indicators and support for target prioritization, improving tracking state management and UI responsiveness."
- 1404ea3 "Use user time settings (timezone and locale) in CelestialTopbar and MonitoredGridIsland"
- 63177ef "Add delete confirmation dialog and improve action buttons in CelestialTopbar"
- 74384d8 "Add individual clear action dialogs and enhance celestial settings management"
- 5f29b7a Update column labels in MonitoredGridIsland for clarity and consistency
- 37a7dbb Enable partial celestial track updates to improve efficiency and state synchronization
- 65fb80f Refresh monitored celestial objects after adding new targets in CelestialTopbar
- 4597980 Implement viewport animations and dynamic label placement in SolarSystemCanvas
- 4f1122e Add support for
target_typeandtarget_keyfields in monitored celestial objects for mission/body distinction - 6fcb6cb Display loading progress text in celestial toolbar and integrate with tracks loading state.
- aef2659 Refactor celestial handlers to streamline observer location loading and emit partial row callback
- 2b4b4fa Add celestial vectors caching table, CRUD operations, and observer math for local sky projections
- bdf3a50 Add body type metadata and support for planets/moons count across backend and frontend
- d393ef2 Adapt step computation for celestial timelines, enforce sample cap, and fix minor UI dependencies
- 3844b87 Remove
disableRowSelectionOnClickfrom monitored grid island DataGrid configuration - 7dace99 Add support for custom colors in monitored celestial objects
- 7ead1ee Bump version to 0.3.16
Pull the Docker image:
For AMD64 systems:
docker pull --platform linux/amd64 ghcr.io/sgoudelis/ground-station:0.4.0For ARM64 systems (Raspberry Pi, etc):
docker pull --platform linux/arm64 ghcr.io/sgoudelis/ground-station:0.4.0Or pull architecture-specific tags directly:
# AMD64
docker pull ghcr.io/sgoudelis/ground-station:0.4.0-amd64
# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.4.0-arm64Run the container:
Option 1: With SoapySDR Remote Server Discovery (Recommended)
Uses host networking to enable mDNS discovery of SoapySDR remote servers:
# AMD64
docker run -d \
--platform linux/amd64 \
--network host \
--name ground-station \
--restart unless-stopped \
--device=/dev/bus/usb \
--privileged \
-v /path/to/data:/app/backend/data \
-e GS_ENVIRONMENT=production \
-e GR_BUFFER_TYPE=vmcirc_mmap_tmpfile \
ghcr.io/sgoudelis/ground-station:0.4.0# ARM64 (Raspberry Pi, etc)
docker run -d \
--platform linux/arm64 \
--network host \
--name ground-station \
--restart unless-stopped \
-v /dev:/dev \
--privileged \
-v /path/to/data:/app/backend/data \
-e GS_ENVIRONMENT=production \
-e GR_BUFFER_TYPE=vmcirc_mmap_tmpfile \
ghcr.io/sgoudelis/ground-station:0.4.0Option 2: Standard Bridge Mode (No SoapySDR Remote Discovery)
Uses standard bridge networking with port mapping:
# AMD64
docker run -d \
--platform linux/amd64 \
-p 7000:7000 \
--name ground-station \
--restart unless-stopped \
--device=/dev/bus/usb \
--privileged \
-v /path/to/data:/app/backend/data \
-e GS_ENVIRONMENT=production \
-e GR_BUFFER_TYPE=vmcirc_mmap_tmpfile \
ghcr.io/sgoudelis/ground-station:0.4.0# ARM64 (Raspberry Pi, etc)
docker run -d \
--platform linux/arm64 \
-p 7000:7000 \
--name ground-station \
--restart unless-stopped \
-v /dev:/dev \
--privileged \
-v /path/to/data:/app/backend/data \
-e GS_ENVIRONMENT=production \
-e GR_BUFFER_TYPE=vmcirc_mmap_tmpfile \
ghcr.io/sgoudelis/ground-station:0.4.0Note: Replace
/path/to/datawith your desired data directory path. Option 1 (host networking) is required for automatic mDNS discovery of SoapySDR remote servers. Option 2 works for local SDRs and all other features. For ARM64, using-v /dev:/devensures all USB devices are accessible.
After starting the container, access the web interface at http://<YOUR_HOST>:7000
Upgrading an existing container:
# Stop and remove the existing container
docker stop ground-station
docker rm ground-station
# Pull the new version
docker pull ghcr.io/sgoudelis/ground-station:0.4.0
# Run the container again (use the appropriate command above for your architecture)Multi-arch support:
This image supports linux/amd64 and linux/arm64 platforms. Docker will automatically pull the correct architecture for your system.
Full Changelog: v0.3.16...v0.4.0