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.77For ARM64 systems (Raspberry Pi, etc):
docker pull --platform linux/arm64 ghcr.io/sgoudelis/ground-station:0.1.77Or 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-arm64Run 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.77For 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.77Note: Replace
/path/to/datawith your desired data directory path. The--platformflag ensures the correct architecture is used. For ARM64, using-v /dev:/devensures 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