github sgoudelis/ground-station v0.8.17

3 hours ago

Docker Image

Version: 0.8.17
Environment: production
Git Commit: ef38df8
Build Date: 20261006

📖 View Project Documentation

Commits in this release:

  • ef38df8 chore(version): bump to v0.8.17
  • eee0b7b refactor(solarsystem-canvas): refine label gap and bounding calculations for better alignment
  • 30935cf refactor(solarsystem-canvas): adjust label placements and add light theme rendering
  • 9981663 test(satellites): add unit tests for SatelliteInfoDialog and target actions
  • 8f6fc01 test(satellites): add tests for sync details dialog and satellite links
  • 0ec111d refactor(location-form): remove unused ZoomOut handler and icon
  • 93bbfa8 test(worker): add Deepgram worker cleanup and disconnect tests
  • 32ec940 test(worker): add Deepgram worker cleanup and disconnect tests
  • 6ac2808 feat(inventory): include nested SatDump output sizes in decoded folder summaries
  • b6fbd7c feat(scheduler): add IQ retention and waterfall generation on SatDump failure
  • 02fd0d6 refactor(waterfall): remove Gemini branding from VFO dialogs
  • 9e721e9 feat(target-picker): add icon support and responsive view toggle
  • cdd648e feat(waterfall): improve touch gesture handling in subtitle component
  • a9ff6bb feat(waterfall): add GNSS history clearing and audio status indicators
  • 7c5b1f9 refactor(waterfall): remove WebGL renderer and simplify canvas handling
  • f79b47d feat(waterfall): add fast zoom interaction with adjustable idle timing
  • 91b852d feat(waterfall): add suggested decoder config handling and apply logic
  • 3877ff2 feat(waterfall): track secondary canvas state and simplify renderer labels
  • 665c950 feat(waterfall): integrate WebGL renderer with fallback and update components
  • 314713a feat(library): support deletion of decoded folders and update tests
  • 6bd14d3 feat(flow-layout): support manual node positions and update graph rendering logic
  • 07c6b60 feat(library): include artifact size in observation summaries and update tests
  • 37de88b feat(library): include artifact size in observation summaries and update tests
  • d2a0731 style(filebrowser): remove period from viewer instruction text
  • b917484 feat(filebrowser): derive observation size from artifacts when folder size is zero
  • ac8d682 feat(filebrowser): group artifacts into categorized sections and update tests
  • 1449cf0 feat(backend/frontend): enhance observation and recording file handling
  • 1ee3ab3 feat(library): include artifact count for observations and add related tests
  • 2c8cd77 feat(library): include artifact count for observations and add related tests
  • 1793828 feat(library): introduce filesystem-backed inventory and related tests
  • 7e423eb refactor(transcription-subtitles): use darkened subtitleColor for consistent VFO styling
  • 5ad0d59 refactor(target-map): update satellite coverage color to white for consistent styling
  • a2f0503 refactor(transcription-subtitles): adjust styles for consistent color usage
  • 812f04b refactor(transcription-subtitles): improve drag handling with pointer events and optimize rendering
  • 51c3563 refactor(app-shell): relocate TranscriptionSubtitles to application shell for persistent visibility
  • 98def86 fix(waterfall): prevent edge strokes for full-bandwidth recordings
  • 55d9bb3 feat(backend): add GNU Radio launcher and decoder error logging
  • 312c0a4 feat(monitoring): add backend performance audit plan and opt-in timing tools
  • 8164bd7 refactor(vfoaudio): enhance mute indicators and audio toolbar logic
  • b5ba8ba chore(dependencies): update brace-expansion, moment, and undici to latest versions
  • c1a165b chore(dependencies): bump PyJWT to 2.15.0 and urllib3 to 2.8.0
  • bf4f306 refactor(tasks-popover): simplify running tasks list rendering
  • b1bc128 refactor(tasks-popover): adjust spacing for completed task list based on running tasks
  • 7cb36b7 refactor(rotator): remove satellite tracking lead slider and optimize rotator controls
  • 9cada9a refactor(popovers): unify Popover styles with slotProps and improve task list UI
  • 11045df feat(components): add synchronized VFO audio controls with compact UI
  • 5e05622 refactor(waterfall): reset rotator event queue on start and optimize idle event handling
  • e027f50 refactor(waterfall): initialize rotator status from store to prevent redundant marker redraws
  • af0aa42 refactor(components): add DeferredIslandPlaceholder for incremental mounting of deferred islands
  • 7bac9dc refactor(components): defer island and map renderings to optimize responsiveness
  • 8bcd1b4 refactor(celestial): batch and optimize state updates for celestial and solar scene data
  • 773654f refactor(satellites): replace requestAnimationFrame with setInterval, optimize selection updates
  • b771d22 refactor(waterfall): replace requestAnimationFrame with setInterval for periodic updates
  • 332a45e refactor(waterfall): enhance canvas overlays and DOM synchronization for improved rendering
  • 51cfed8 feat(waterfall): add rotator marker alignment and event handling in waterfall rendering
  • 430d4aa test(satellites): adjust selector for add group dialog heading in e2e tests
  • ef38e22 test(satellites): update selectors for add group dialog in e2e tests
  • 5fbd744 test(satellites): refine e2e test selectors and button actions for group management
  • a8f648a test(groups): add unit and integration tests for group actions and selection logic
  • 50683f3 refactor(models): use lambda for datetime defaults to ensure accurate evaluation
  • bf7bd08 docs(README): fix redundant phrasing in v0.8.16 release notes

Pull the Docker image:

For AMD64 systems:

docker pull --platform linux/amd64 ghcr.io/sgoudelis/ground-station:0.8.17

For ARM64 systems (Raspberry Pi, etc):

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

Or pull architecture-specific tags directly:

# AMD64
docker pull ghcr.io/sgoudelis/ground-station:0.8.17-amd64

# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.8.17-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 \
  ghcr.io/sgoudelis/ground-station:0.8.17
# 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 \
  ghcr.io/sgoudelis/ground-station:0.8.17

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 \
  ghcr.io/sgoudelis/ground-station:0.8.17
# 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 \
  ghcr.io/sgoudelis/ground-station:0.8.17

Note: Replace /path/to/data with your desired data directory path. 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

First startup note: On first run, it can take up to ~30 seconds after container startup for the frontend to become available.

You can watch startup progress with:

docker logs -f --tail=100 ground-station

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

# 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.8.16...v0.8.17

Don't miss a new ground-station release

NewReleases is sending notifications on new releases.