github sgoudelis/ground-station v0.1.77

latest releases: v0.3.0, v0.2.19, v0.2.18...
4 months ago

Docker Image

Version: 0.1.77
Environment: production
Git Commit: 11b2195
Build Date: 20251128

Commits in this release:

  • 11b2195 "Update version to 0.1.77 in version.json"
  • a1efe31 "Refactor satellite table row styling and improve FileBrowser's layout: update elevation-based coloring logic, restructure signal power section, and replace Grid with Box layout in telemetry tabs."
  • b43133e "Refactor FileBrowser component: rename to FilebrowserMain, introduce hardcoded page size, and update references across router and imports."
  • 839d8cb "Refactor file browser layout by replacing Grid with responsive Box grid and adjust default page size to 10 for improved usability and display consistency."
  • 1d096e5 "Update MUI dependencies to latest versions and replace Grid2 with Grid for compatibility and consistency across components."
  • 0d70374 "Replace DataObjectIcon with InsertDriveFileIcon in file browser for consistent file type representation."
  • 2ffa375 "Refactor asyncio loop handling for Python 3.12+ compatibility; reorganize shared memory cleanup module; suppress specific deprecated pkg_resources warning in rtlsdrworker logs."
  • fad74e1 "Optimize waterfall rendering with ring buffer and zero-copy FFT updates; enhance performance by introducing precomputed color palettes and disabling image smoothing."
  • 998101f "Remove redundant mypy overrides for tools and unnecessary file exclusion patterns in pyproject.toml"
  • 0b4fde4 "Add LoRa transmitter module and update configuration for tools and decoders"
  • 21c272c "Add YUV to RGB conversion support in SSTV decoder for Robot modes; maintain GBR to RGB conversion for Martin and Scottie modes"
  • 8e7df04 "Refactor decoder shutdown to use asynchronous cleanup thread for improved UI responsiveness and proper process termination handling"
  • ece8cf2 "Enhance decoder infrastructure with multiprocessing support: Add BaseDecoderProcess for process isolation, refactor AFSKDecoder to extend BaseDecoderProcess, improve shared memory monitoring and restart handling, and update related components for multiprocessing queue compatibility."
  • 0b3e74e "Add --ipc=host to Docker run commands in workflows to improve inter-process communication within containers."
  • cf98a2d "Remove redundant blank lines in backend startup script."
  • 092c86d "Update GNU Radio configuration in startup script to use new config file format for mmap-based buffers"
  • ff5bef7 "Add GNU Radio preferences setup in startup script to configure mmap-based circular buffers"
  • 27a6920 "Set default GNU Radio buffer type to mmap-based temporary files in startup script to prevent shared memory exhaustion."
  • 3b5b535 "Configure GNU Radio to use mmap-based buffers to prevent shared memory exhaustion; update workflows, Docker run commands, and Dockerfile accordingly."
  • 0977ca6 "Refactor shared memory handling: replace cleanup thread with monitoring thread, update GNU Radio to use mmap buffers to prevent segment exhaustion, and revise related utility logic across decoders."
  • 45632f8 "Introduce shared memory cleanup utility for GNU Radio orphaned segments; integrate with app startup."
  • 0d61783 "Add --shm-size=512m to Docker run commands in workflows to prevent shared memory issues in containers"
  • e0d4ff5 "Add signal power measurement to BaseDecoder and enhance all decoder classes to include power statistics in telemetry output and UI display."
  • 3a259c0 "Add string analysis functionality to telemetry viewer; introduce string extraction methods in backend and new frontend tab for visualization."
  • 2909f2e "Fix incorrect kilobaud formatting in VFO utilities by removing redundant 'k' replacement logic."
  • 29c1c7f "Add LoRa-specific label formatting and FSK decoder configuration; extend VFO utilities to support new decoder parameters."
  • 24c7875 "Enhance VFO interaction logic by adding secondary label checks for decoders in the frontend; improve LoRaDecoder backend status updates with detailed configuration info."
  • ac4343d "Refactor LoRaDecoder to inherit from BaseDecoder; enhance LoRa parameter auto-detection, metadata handling, and file output logic."
  • ba1c151 "Improve client logging in SDR process lifecycle; provide clearer active client details with SDR ID context."
  • ee049f0 "Prevent premature process info deletion in SDR processing loop; ensure cleanup occurs in stop_sdr_process()"
  • d99f1b3 "Add SSTV metadata generation in backend; update frontend to display decoded image previews with metadata"
  • a2aca95 "Introduce dedicated GMSKDecoder class for clarity; move GMSK-specific logic from FSKDecoder and reorganize imports for better modularity."
  • 3f2021d "Add FSK decoder support; refactor GMSKDecoder to handle FSK-family modulations (FSK/GMSK/GFSK) with unified implementation"
  • fed37fb "Ensure VFO transmitter lock value resets to 'none' if the current transmitter ID is missing in the list of transmitters."
  • e7c3471 "Fix incorrect state reference in VFO middleware to ensure proper streaming check logic."
  • 60d3a14 "Prevent backend sync in VFO middleware when not streaming, except for streaming state updates."
  • 2e21467 "Streamline VFO frequency update logic by removing conditional backend sync; adjust socket event logging to use debug level for improved granularity."
  • 913068a "Refactor decoder support by adding Morse, updating LoRa parameter handling, and removing deprecated RTTY/PSK31 references."
  • eaac553 "Enhance callsign NORAD lookup by adding support for callsigns with SSID suffixes; improve satellite identification logging."
  • 54227d0 "Move satellite NORAD lookup data from frontend to backend for better separation of concerns"
  • 650fff7 "Remove DecodedPacketsOverlay and satellite lookup utilities; streamline frontend components and data management by eliminating unused code."
  • d4154f9 "Add support for AFSK decoder and baudrate formatting; enhance label formatting with framing and compact baudrate display"
  • a7cb7fe "Add support for DOKA/CCSDS concatenated frames in GMSKDecoder with dedicated deframer"
  • fe8d7ee "Add touch support for DecodedPacketsDrawer resizing; persist drawer state and height in store"
  • ecdaa91 "Streamline logging in satellite configuration by consolidating detailed messages and removing redundant debug logs; enhance clarity of key operational logs."
  • a83b7c1 "Refactor decoder configurations to use satellite and transmitter metadata as complete dictionaries; streamline and consolidate logging across decoders for improved clarity."
  • d67036f "Refactor AudioBroadcaster to support direct queue subscriptions; replace UI audio thread forwarding with direct subscription for improved efficiency and cleanup handling."
  • 0c870f2 "Enhance Dockerfile to support multi-architecture builds; dynamically determine architecture-specific Python library path and update gr-lora_sdr binding installation logic."
  • 8308c15 "Add optional 'config' parameter to SSTV and Morse decoders for compatibility with standardized DecoderConfig integration."
  • bcf33bf "Add optional gr-lora_sdr integration; implement availability checks, conditional LoRaDecoder initialization, and dynamic decoder registry updates."
  • 673f276 "Remove conditional GNU Radio imports and availability checks; simplify decoder initialization and streamline imports across all decoder modules."
  • 3d23062 "Introduce BaseDecoder class to centralize shared packet handling logic; add DecoderConfigService and DecoderConfig for unified configuration management; refine telemetry parser logging verbosity."
  • 44b3cf0 "Add empty InfoRow component to telemetry-overview-tab for future customization or data expansion."
  • 5041cd0 "Add delete functionality to DecodedPacketsDrawer; implement confirmation dialog, socket event handling, and related UI updates."
  • 543de65 "Add 'Transceiver' option to TYPE_OPTIONS in transmitter-modal component to expand supported transmitter types."
  • 99fb7ff "Consolidate and streamline configuration logging across AFSK, BPSK, and GMSK decoders; eliminate duplicate logs, centralize final config summary, and enhance readability."
  • 7619561 "Add payload protocol support to all decoders and DecodedPacketsDrawer; enhance logging, UI display, and configuration clarity."
  • d69c65e "Refine BPSK decoder framing handling; directly use detected framing protocol, simplify status updates, and improve configuration clarity."
  • 42acf19 "Add toggle icon to DecodedPacketsDrawer; enhance UI feedback by displaying up/down arrow based on drawer state and update typography styling for better readability."
  • 1c8ffa4 "Remove ASCII decoding and packet_text generation from AFSK, BPSK, and GMSK decoders to streamline decoder output structure."
  • 0538d88 "Replace 'transmitter' with 'framing' in BPSK decoder; streamline framing protocol handling, improve initialization clarity, and refine logging messages."
  • dce8a75 "Improve framing detection logic in BPSK and GMSK decoders; respect explicit satellite configs, enhance metadata-based checks, and refine override behavior for smart defaults."
  • ce15966 "Update BPSK decoder to support AX.25 and DOKA framing; improve framing detection, auto-calculate sample rate, and enhance FLL handling for frequency offset correction."
  • 0d6c31a "Add AFSK decoder implementation using GNU Radio; includes AX.25 framing support, configuration handling, and real-time packet processing with telemetry parsing and metadata generation."
  • c082378 "Add G3RUH scrambler handling to BPSK and GMSK decoders; map to AX.25 framing based on transmitter description."
  • fcef9fc "Refactor framing detection logic in BPSK and GMSK decoders; consolidate metadata-based checks, prioritize description analysis, and provide defaults for improved clarity and maintainability."
  • daf7ec0 "Remove debug logging from DecodedPacketsDrawer; streamline code by eliminating unnecessary console statements."
  • 4407115 "Add drag detection to DecodedPacketsDrawer; prevent accidental toggle during resize; reset drag state with delay to ensure proper interaction handling."
  • 74dde7c "Reduce default packets drawer height to 250px; limit displayed decoded packets to the 100 most recent; remove unused pagination options and footer for streamlined presentation."

Pull the Docker image:

For AMD64 systems:

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

For ARM64 systems (Raspberry Pi, etc):

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

Or pull architecture-specific tags directly:

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

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

Run the container:

For AMD64 systems:

docker run -d \
  --platform linux/amd64 \
  --shm-size=512m \
  --ipc=host \
  -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.1.77

For ARM64 systems (Raspberry Pi, etc):

docker run -d \
  --platform linux/arm64 \
  --shm-size=512m \
  --ipc=host \
  -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.1.77

Note: Replace /path/to/data with your desired data directory path. The --platform flag ensures the correct architecture is used. For ARM64, using -v /dev:/dev ensures all USB devices are accessible.

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.1.77

# 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.1.76...v0.1.77

Don't miss a new ground-station release

NewReleases is sending notifications on new releases.