Docker Image
Version: 0.4.7
Environment: production
Git Commit: 05327a2
Build Date: 20260510
Commits in this release:
- 05327a2 Update AppBar theming: add
appBarcolor to semantic palette and simplify MUI overrides for consistent styling. - ac597b1 Add dark mode support for AppBar: introduce
appBarsemantic color, update theming configuration, and refine MUI overrides for adaptive styling. - 659610b Refactor TitleBar styles: extract shared style presets to
common.jsx, replace inlinesxdefinitions withislandTitleBarSxandislandTitleBarCompactSxacross components, and enhance i18n support for Celestial layout titles. - 5820079 Integrate adaptive theming: refactor to use semantic palette for colors, expand theme configuration with state and surface definitions, enhance waterfall and dashboard theming with dynamic styles, and update MUI component overrides.
- fb58662 Add secondary pointer at 90° to rotator gauges for improved visualization.
- e7b666a Bump Mako dependency to version 1.3.12 in
requirements.txtandpyproject.toml. - de6f725 Refactor satellite icon loading logic: implement fallback path resolution, enhance error handling, and optimize loading states.
- 8488da6 Update satellite icons: replace 64px, 128px, and 256px resolutions for NORAD ID 60209.
- 3532ea7 Remove obsolete satellite icons: delete outdated
full2resolution images and update 64px, 128px, and 256px variants for NORAD IDs 53109 and 62298. - 2e995e5 Relocate satellite
baseresolution icons tofulldirectory, update script and workflows accordingly, and adjust attribution and frontend usage paths. - e399aca Extend "Lock on Target" feature: add default settings, enhance initial state handling, and implement UI toggle in Map Settings.
- 9072c40 Add "Lock on Target" feature: implement state management, UI toggle, and button interactions in Target Map.
- c196cdc Update satellite icons: replace 64px, 128px, 256px, and base resolutions for NORAD IDs 44339 and 60209.
- 7e83698 Add new satellite icon for NORAD ID 965: process image source, update attribution, and generate 64px, 128px, 256px, and base resolutions.
- e4d9766 Update satellite icons: replace 64px, 128px, 256px, and base resolutions for NORAD IDs 46504, 46505, 46506, and 46507.
- 0e4a082 Integrate canonical orbit handling for satellites: add database support for TLE/OMM models, implement CRUD logic updates, and extend UI for orbital data management.
- 7660f2d "Update satellite icons: replace 64px, 128px, 256px, and base resolutions for NORAD ID 57172."
- 0615d17 "Update satellite icons: replace 64px, 128px, 256px, and base resolutions for NORAD ID 25544."
- 98fa389 "Add
process_satellite_icons.pyscript for batch satellite icon generation, update workflow documentation, and include new NORAD presets." - 4e6ca90 "Document and process satellite icon workflow: add detailed satellite icon creation guide, update attribution metadata, and include new icons for OSCAR 7 (7530) and Es'hail 2 (43700) with respective presets."
- 4ab20f9 "Modularize celestial icons: consolidate body, mission, and satellite icon logic into
icon-catalog.js; introduceTargetIconwrapper for flexible icon handling and update relevant components for streamlined integration." - 1dc1432 "Refactor target selector bar: use refs for
handleRetargetTargetandtrackingStateto prevent stale closures in async operations." - d4ff013 "Add satellite icon support: include image processing pipeline, caching improvements, fallback logic, and UI integration for enhanced satellite visuals."
- 61eb49b "Remove current elevation logic and associated UI elements from celestial passes and target components; increase angle precision to two decimal places for azimuth and elevation display."
- eb86e2a "Fix satellite altitude calculation: convert altitude to meters and adjust mile conversion formula for consistency."
- 580a67d "Reduce precision for non-satellite distance display in target info island from four to two decimal places for clarity."
- 4564de8 "Add mile-based calculations and display for satellite altitude and velocity across target info UI components."
- 50e07d6 "Simplify satellite status UI: remove redundant icon and tooltip, streamline layout for better readability and alignment."
- fbac0c3 "Add Titan support: include texture attribution, body aliases, and sphere icons; enhance satellite visibility UI with elevation-based status indicators and dynamic metadata"
- 0c33714 "Add Solar System Layout Options Dialog: modularize component logic, refactor settings management, and integrate into main layout to streamline UI customization."
- 1d62817 "Refactor quick filter buttons across satellite-related components: add dynamic sizing, tooltips, keyboard shortcuts, and icons for improved UI consistency and usability."
- cfc7754 "Standardize tooltip anchor distance to 12px across map components for consistent positioning."
- c26a581 "Add tooltip orientation utility with dynamic direction and offset logic; integrate with satellite markers and tooltips for improved positioning."
- 9216493 "Add support for highlighting satellite-specific passes in timeline components"
- 82f950d "Enable pass-assigned color support in timeline components, normalize color handling, and update stroke/fill logic accordingly."
- f27f09f "Remove deprecated backend tests for celestial refresh handlers leveraging network fetch."
- 653bb3f "Normalize satellite retargeting: ensure target identity fields are consistently updated, including satellite name, type, and reset of unused fields."
- 5bc1101 "Remove redundant backend tests for tracker target types normalization and rig handler behavior."
- f43f6f7 "Implement elevation curve handling improvements: backend provides curves for stabilized payloads; frontend adds fallback for legacy cases, guarded calculations, and dynamic updates."
- ff0ba93 "Normalize tracker identity retargeting: add satellite name handling, reset command/body fields, and update target state fields to ensure accurate UI rendering for observation passes."
- 5e5b321 "Redesign target selector: improve UI/UX for satellite, mission, and body selection with enhanced search, filtering, and catalog loading states."
- 0e7100c "Integrate
resolveTargetDisplayNameutility across components to improve target name handling and consistency." - a2e8dfd "Add utilities for celestial target handling, update celestial info component with tracking support, and add backend tests for target state normalization."
- ffef00a "Enable network fetch for celestial scene and track handlers on cache miss, suppress curve labels for large timeline windows, and add tests to validate new behavior."
- 7e9ae4b "Add tests for celestial refresh handlers: ensure proper handling of network fetch and bypassing cache for both single-target and monitored refresh scenarios."
- 48910bd "Bump version to 0.4.6"
Pull the Docker image:
For AMD64 systems:
docker pull --platform linux/amd64 ghcr.io/sgoudelis/ground-station:0.4.7For ARM64 systems (Raspberry Pi, etc):
docker pull --platform linux/arm64 ghcr.io/sgoudelis/ground-station:0.4.7Or pull architecture-specific tags directly:
# AMD64
docker pull ghcr.io/sgoudelis/ground-station:0.4.7-amd64
# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.4.7-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.7# 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.7Option 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.7# 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.7Note: 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.7
# 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.4.6...v0.4.7