Docker Image
Version: 0.4.6
Environment: production
Git Commit: f113f0d
Build Date: 20260506
Commits in this release:
- f113f0d "Update celestial layout schema to version 4 and adjust default
- 8e5c201 "Enhance grid layout storage management: add single layout clear/export functionality, extend support to Celestial page, and refactor layout handling for improved scalability."
- ddba276 "Optimize solar system canvas rendering: add ring and label radius limits, skip redundant arcs, and improve viewport distance checks for performance."
- 8bc0ef2 "Add periodic sync for celestial vectors: implement automatic cache refresh for monitored missions, enhance dynamic caching logic, and introduce configuration-based sync timings."
- 56cd012 "Add Sun as celestial body: integrate Sun into body catalog, support heliocentric calculations, refine frontend icon handling, and update attribution for mission resources."
- c8c72b2 "Add mission icon attribution and caching support: introduce
ATTRIBUTION.mdfor image sources, enhance celestial pass timeline with densified elevation curves, and integrate mission-icon handling in frontend and backend routes." - e04e13a "Add persistent left-margin state and event handling for waterfall: ensure continuity across detach/reattach, optimize rotator event updates, and refine dotted line rendering conditions."
- ce6346f "Add slewing status support for rotators: track slewing count in summary, update color logic, and enhance rotator status handling in hardware popover."
- 4e9d7df Rename satellite image files: relocate from
backend/satimagestobackend/images/satellitesfor improved directory organization. - 6c0e23e "Add body icons support: implement texture-based planet icon rendering, integrate BodyIcon component into CelestialInfoIsland, and enable backend/static route for body-icons."
- aa8f69c "Refactor CelestialInfoIsland and CelestialPasses: update background styles with gradient logic, replace progress calculation with ProgressFormatter, and clean up unused utility functions."
- ec84abe "Add dynamic cache policy and elevation curve support: implement adaptive TTL logic for celestial vector caching, enhance pass events with precise elevation curve data, and update UI for responsive action buttons."
- 941da78 "Remove redundant target key display in CelestialInfoIsland: simplify layout by eliminating unused info text element and unnecessary condition."
- 191ded6 "Add CelestialInfoIsland component: implement detailed target display with real-time data, refactor angle formatting for consistency, and update layout to integrate info panel."
- 30c57c2 "Remove timeline components and constants: delete PassCurve, CurrentTimeMarker, PassTooltipContent, useTimelineEvents, and related constants from the target directory."
- b53b7a6 "Refactor map settings dialog: remove redundant DialogActions, enhance layout with flex-based structure, and streamline satellite overlay settings with modular components and default configuration handling."
- a131706 "Enhance map components with WMS support: add NASA GIBS layers, update CRS handling for H.264/EPSG4326 projections, refactor map initialization logic, and standardize dialog styling."
- 3210205 "Add bandscope rate-limiting feature: introduce toggle for rate-limiting, integrate state management, and ensure conditional draw logic across DOM and worker components."
- 5159f44 Bump version to 0.4.5
Pull the Docker image:
For AMD64 systems:
docker pull --platform linux/amd64 ghcr.io/sgoudelis/ground-station:0.4.6For ARM64 systems (Raspberry Pi, etc):
docker pull --platform linux/arm64 ghcr.io/sgoudelis/ground-station:0.4.6Or pull architecture-specific tags directly:
# AMD64
docker pull ghcr.io/sgoudelis/ground-station:0.4.6-amd64
# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.4.6-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.6# 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.6Option 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.6# 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.6Note: 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.6
# 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.5...v0.4.6