github sgoudelis/ground-station v0.4.10

2 hours ago

Docker Image

Version: 0.4.10
Environment: production
Git Commit: 35bedae
Build Date: 20260523

šŸ“– View Project Documentation

Commits in this release:

  • 35bedae Adjust ObservationStatusBanner DialogContent styling: add explicit padding for consistent spacing.
  • 597b600 Adjust DialogContent styling in ServiceControlCard: add explicit padding for consistent spacing.
  • 55b45d7 Refactor VFO selection logic: avoid sending full VFO state to prevent backend inconsistencies during updates.
  • 0087529 Introduce GNSS "no fix" timer: track, manage, and bootstrap lifecycle state from decoder updates.
  • 1f2a58d Track and manage "time without GNSS fix" state in Decoded Insights Island, refactor elapsed time calculation logic.
  • f45dd45 Add "Time without fix" metric to Decoded Insights Island and calculate elapsed time when GNSS fix is lost.
  • ae08170 Update GNSS_PARAMETERS labels and descriptions for clarity and detailed processing behavior explanation.
  • c272a25 Refactor Decoded Insights Island tab styling: adjust font size for consistency
  • 0758276 Refactor maintenance settings: extract tab styles to functions, add theme-dependent styling, and remove redundant props.
  • 32431ef Add manual coordinate input dialog for location settings and refactor settings navigation to support improved tab routing.
  • bb09e27 Update waterfall layout schema to version 6 and adjust default layout dimensions
  • a5a8c67 Refactor Decoded Insights Island: simplify UI layout, remove lastMessage column, optimize gnss tab with grid layout, and add GNSS guide markers to fix quality timeline.
  • 27bd455 Add PRN column to Decoded Insights Island and enhance C/Nā‚€ styling with severity-based color coding.
  • 9fb32ee Remove UTC column from Decoded Insights Island to simplify UI table.
  • 079882d Refactor GNSS satellite tracking: simplify state management, optimize satellite rows handling, and add Doppler, C/N0, and UTC telemetry tracking with updated tests.
  • 7f35cc5 Improve VFO decoder handling: avoid unnecessary restarts by tracking pre-update decoder state and refining logging.
  • 7402f2b Track full SDR configuration in process lifecycle to support accurate change detection and configuration updates.
  • 3dbbe11 Remove GNSS event count tracking: simplify state management and clean up UI.
  • 45bcc86 Add GNSS fix quality timeline: UI rendering, state tracking, and reducer updates with corresponding tests.
  • 5f782d0 Add GNSS loss-of-lock tracking: update decoding, UI telemetry, backend stats, and add related tests.
  • 46a6f7f Process GNSS lock-loss log lines only: update decoding logic and add unit test.
  • bf9a443 Add GNSS lock-loss event handling: update backend parsing logic, UI state transitions, and tests.
  • ae51ae9 Standardize GNSS fix status display by introducing gnssFixStatusYesNo and updating status formatting logic.
  • f88de17 Clear GNSS outputs on decoder restart; add action, reducer, backend status update, and corresponding tests.
  • 3bab7b4 Reset GNSS fix lifecycle at the start of each streaming session; add reducer, action, and corresponding tests.
  • c94da78 Refactor Decoded Insights Island: enhance GNSS and packet telemetry layout, improve data visualization, and standardize status formatting.
  • be3ea58 Remove GNSS state migration logic and update default sort model for improved consistency and separation of concerns.
  • 363c3e0 Refactor GNSS state management: move GNSS slice to dedicated module, update reducers, actions, and persist config for improved separation and runtime handling.
  • 34fb951 Add GNSS fix detection and lifecycle tracking: include status transitions, backend-enriched metadata, and related tests.
  • ad29eb2 Enhance GNSS fix detection: add PVT field handling to improve signal classification logic.
  • 3853fd8 Persist GNSS fix lifecycle: track status transitions, duration, and last signal timestamps for improved telemetry insights.
  • 4f4ddab Track GNSS fix lifecycle: add status transitions, duration tracking, and elapsed time display for enhanced telemetry insights.
  • ca44aab Add stream continuity metadata and debugging: enhance chunk and sample tracking across workers, IQ Broadcaster, and IQ Recorder
  • 5ae8a93 Refine Decoded Insights Island layout: improve GNSS summary display, add sticky header, and enhance telemetry details formatting.
  • 09fc819 Handle SoapySDR read errors more robustly: discard partial frames, clear buffers, and remove DC offset bias. Match local worker behavior.
  • d9fee30 Refactor GNSS activity tracking: add ZMQ transport, GNSS monitor heartbeats, and enhanced UDP observable parsing.
  • dc4a914 Add GNSS monitor UDP receiver and integrate GNSS-SDR protobuf support for enhanced telemetry handling.
  • 9b1ccaf Improve GNSS-SDR FIFO handling with retry logic, error tracking, and diagnostic enhancements.
  • c9edcd1 Enhance GNSS Satellite Resolver with expanded alias support, refined scoring logic, and negative-cache TTL adjustment.
  • 83dd702 Introduce GNSS Satellite Resolver for NORAD enrichment and remove client-side satellite matching logic.
  • 57d98ad Adjust waterfall layout schema to version 5, update GNSS frequency ranges, and refine layout dimensions.
  • a798084 Add advanced GNSS satellite filtering, enhanced decoder process management, and refined UI for decoded insights.
  • 061c07d Add GNSS-SDR Decoder and Decoded Insights Island components
  • 36fcc7a Disable tracking button while card data is loading
  • c6cdb28 Ensure deterministic NORAD ID generation in satellite tests and improve tab navigation for TLE inputs.
  • c5b21b7 Replace Typography with FormHelperText for consistency and add dynamic background color styling to catalog input.
  • de7026e Remove redundant bgcolor styles from DialogContent and apply theme-based overrides for consistent theming.
  • 7c09d22 Bump version to 0.4.9 in version.json.

Pull the Docker image:

For AMD64 systems:

docker pull --platform linux/amd64 ghcr.io/sgoudelis/ground-station:0.4.10

For ARM64 systems (Raspberry Pi, etc):

docker pull --platform linux/arm64 ghcr.io/sgoudelis/ground-station:0.4.10

Or pull architecture-specific tags directly:

# AMD64
docker pull ghcr.io/sgoudelis/ground-station:0.4.10-amd64

# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.4.10-arm64

Run 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.10
# 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.10

Option 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.10
# 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.10

Note: Replace /path/to/data with 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:/dev ensures 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.10

# 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.9...v0.4.10

Don't miss a new ground-station release

NewReleases is sending notifications on new releases.