github sgoudelis/ground-station v0.3.9

5 hours ago

Docker Image

Version: 0.3.9
Environment: production
Git Commit: db29515
Build Date: 20260410

📖 View Project Documentation

Commits in this release:

  • db29515 Update i18n: Rename Up/Down to Links in transmitter translations and associated components
  • ac63ca9 Disable transmitters display in overview slice configuration
  • 521db92 Add support for transmitter link details: integrate Up/Down displays, 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: relocate DeepgramTranscriptionWorker and GeminiTranscriptionWorker imports to the module level.
  • b10ed4a Refactor bookmark label rendering: remove hasAliveStatus logic 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 cryptography dependency to 46.0.7 in requirements and pyproject.toml
  • 122e506 Refactor determineArcToDisplay logic: replace with determineAzimuthArcFlags for clearer short-arc handling and improve test coverage.
  • db3c45d Add isRenderableTransmitter check 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 FrequencyBandOverlay for 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.9

For ARM64 systems (Raspberry Pi, etc):

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

Or 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-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.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.9

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

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

Don't miss a new ground-station release

NewReleases is sending notifications on new releases.