Docker Image
Version: 0.2.2
Environment: production
Git Commit: 9201d7f
Build Date: 20260224
Commits in this release:
• Fix: RTL‑SDR SDR parameters now include the default RX antenna/port ("RX"), addressing missing RX port in RTL‑SDR configs.
• Bumped version to 0.2.0 and 0.2.2.
• Dockerfile updates: add libsqlite3-dev, upgrade pip/setuptools, improve venv usage, pin UHD to v4.9.0.0, add HydraSDR SoapyHydraSDR support.
• Hardware/logger: add hardware logger config; update SDR antenna defaults.
• Observations: cancel if rotator is parked; add execution log for cancellations.
• Database contention fixes: optimize transmitter import; run gr‑satellites import after TLE sync.
• UI: make toast pause‑on‑focus‑loss configurable; simplify monitored satellites button label.
• SSTV: improve decoder color fidelity (BT.601 YUV→RGB); default bandwidth 12.5 kHz; improve cutoff logic.
• README: telemetry packet viewer section; Raspberry Pi 5 recommendation; device support expansions (LimeSDR, SDRplay, UHD/USRP, HydraSDR); SatNOGS acknowledgments; profile hit counter image.
• Testing: add Playwright global setup with location fallback; improve focus visibility checks; enhance button handling with visibility and label variants.
• Cleanup: remove processing module (audio recorder management, consumer base, decoder config services)
Pull the Docker image:
For AMD64 systems:
docker pull --platform linux/amd64 ghcr.io/sgoudelis/ground-station:0.2.2For ARM64 systems (Raspberry Pi, etc):
docker pull --platform linux/arm64 ghcr.io/sgoudelis/ground-station:0.2.2Or pull architecture-specific tags directly:
# AMD64
docker pull ghcr.io/sgoudelis/ground-station:0.2.2-amd64
# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.2.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.2.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.2.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.2.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.2.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.2.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.2.1...v0.2.2