Docker Image
Version: 0.4.2
Environment: production
Git Commit: b5efa1e
Build Date: 20260428
Commits in this release:
- b5efa1e "Add validation for gain, sample rate, and antenna selection before starting stream; update UI and logic to show errors and prevent invalid configurations."
- 03f5892 "Replace
fft_overlapwithfft_overlap_percentandfft_overlap_depth: update backend, frontend, and processing logic to enable finer-grained overlap control." - 099f0eb "Refactor amplitude-to-y mapping in waterfall rendering: extract reusable helper function
mapAmplitudeToYto simplify normalization logic and improve code clarity." - 22e69b5 "Add bandscope smoothing presets, enable FFT overlap configuration, and integrate new options into frontend and backend pipelines."
- 74f3f23 "Refactor hardware status tracking: use Sets for ID management, optimize disconnected/unassigned counts, and update dependencies for accurate summary calculations."
- 4a5d6de "Refactor hardware ID resolution: introduce
resolveAssignedHardwareIdhelper, add tests, and update popover logic for improved assignment handling." - 227cc86 "Refactor FFT visualization: replace dB-dependent line offset with fixed viewport pan for consistent rendering behavior."
- 3c36890 "Bump version to 0.4.1"
Pull the Docker image:
For AMD64 systems:
docker pull --platform linux/amd64 ghcr.io/sgoudelis/ground-station:0.4.2For ARM64 systems (Raspberry Pi, etc):
docker pull --platform linux/arm64 ghcr.io/sgoudelis/ground-station:0.4.2Or pull architecture-specific tags directly:
# AMD64
docker pull ghcr.io/sgoudelis/ground-station:0.4.2-amd64
# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.4.2-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.4.2# 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.2Option 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.2# 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.2Note: 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.4.2
# 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.1...v0.4.2