Docker Image
Version: 0.3.9
Environment: production
Git Commit: db29515
Build Date: 20260410
Commits in this release:
- db29515 Update i18n: Rename
Up/DowntoLinksin transmitter translations and associated components - ac63ca9 Disable
transmittersdisplay in overview slice configuration - 521db92 Add support for transmitter link details: integrate
Up/Downdisplays, enhance sorting logic, and extend i18n translations. - 45fa703 Refactor session handling: centralize globals into
runtimestate, deduplicate SDR session logic, and integrate shared helpers for streamlined transcription and session management. - 5806770 Optimize import statements in
transcriptionmanager: relocateDeepgramTranscriptionWorkerandGeminiTranscriptionWorkerimports to the module level. - b10ed4a Refactor bookmark label rendering: remove
hasAliveStatuslogic and associated LED indicators, adjust type indicator positioning and colors, and simplify label overlay rendering. - e108047 Add scroll persistence and history limit for transcription subtitles
- a4e21b9 Offload transcription start/stop operations to worker threads to maintain Socket.IO event loop responsiveness.
- 7866755 Bump
cryptographydependency to 46.0.7 in requirements and pyproject.toml - 122e506 Refactor
determineArcToDisplaylogic: replace withdetermineAzimuthArcFlagsfor clearer short-arc handling and improve test coverage. - db3c45d Add
isRenderableTransmittercheck to improve transmitter filtering logic across bookmarks. - 6d45fbd Refactor bookmark row assignment: add proximity-based row allocation logic for improved label stacking clarity and reduce overlap across layers.
- fe7f6c8 Ensure consistent handling of
bookmark.frequency: convert to string and default to 0. - bafaedb Optimize transcription auto-start logic: avoid redundant restarts by validating active worker settings and preserve state compatibility with language and provider preferences.
- c4ef38a Clamp bookmark label positions to avoid overflow and improve label visibility. Adjust alpha values for better overlay clarity and integrate
FrequencyBandOverlayfor dynamic band rendering. - f4b303d Refactor bookmark label handling: implement clustering, simplify label rendering, and remove truncation logic. Adjust doppler and neighbor bookmark grouping for improved UI efficiency.
- d7b3ec3 Add source-based bookmark styling and filtering. Add accent colors, type indicators, and line styles for each source. Refactor source filtering logic and improve toolbar UI.
- 1124ffc Add interaction tracking to optimize canvas resizing and prevent unnecessary width updates during active interactions.
- 7a3a220 Bump backend version to 0.3.8 in version.json
Pull the Docker image:
For AMD64 systems:
docker pull --platform linux/amd64 ghcr.io/sgoudelis/ground-station:0.3.9For ARM64 systems (Raspberry Pi, etc):
docker pull --platform linux/arm64 ghcr.io/sgoudelis/ground-station:0.3.9Or pull architecture-specific tags directly:
# AMD64
docker pull ghcr.io/sgoudelis/ground-station:0.3.9-amd64
# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.3.9-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.3.9# 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.3.9Option 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.3.9# 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.3.9Note: 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.3.9
# 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.8...v0.3.9