github sgoudelis/ground-station v0.8.21

3 hours ago

Docker Image

Version: 0.8.21
Environment: production
Git Commit: 21ea004
Build Date: 20261025

📖 View Project Documentation

Commits in this release:

  • 21ea004 chore(version): bump to v0.8.21
  • faa7173 feat(frontend): refactor scheduler dialogs into memoized host component with transition handling and tests
  • b284e71 feat(frontend): refactor scheduler dialogs into memoized host component with transition handling and tests
  • 374ef4b feat(frontend): refactor EarthView map tracking with useStableEvent and isolated island component
  • 62fabeb feat(frontend): improve memoization and stability in waterfall settings with new useStableEvent hook and expanded tests
  • 8053af5 feat(frontend): refactor target layout and map settings with memoization and error handling improvements
  • 2ab48a1 feat(frontend): replace transmitter select dropdown with go-to button and menu interaction
  • 6d17411 feat(frontend): refactor transmitter target label into reusable component and replace split button with dropdown in frequency settings
  • 3767365 feat(frontend): add target labels and slot numbers to VFO transmitter lock with tests
  • 385348d feat(frontend): enhance transmitter and satellite edit dialogs with contextual helper texts
  • 42eef07 feat(frontend): enhance LoRa parameter rendering and VFO styling in decoded packets drawer with tests
  • c354732 feat(frontend): add copy target name and ID feature with enhanced popover tests
  • 717710d feat(backend): add LoRa decoder suggestions with locked VFO support and tests
  • edb3030 feat(frontend): add target popover satellite and transmitter editors with tests
  • 869a7db feat(tinygs): resolve reused NORADs with TLE identity fallback
  • 652ee99 feat(loRa): add configurable receiver profiles with TinyGS integration and front-end support
  • 7aef4fd feat(backend/frontend): integrate TinyGS transmitter support with orbital sync and waterfall UI adjustments
  • 4f71a8f feat(backend): add live LoRa VFO controls with tests for dynamic parameter updates and overrides
  • fa5baa3 feat(backend): add LoRa decoder with regression tests and frontend parameter support
  • e981daa feat(telemetry): add UMKA-1 USP telemetry decoding and display
  • e3112d7 feat(frontend): implement Earth View satellite propagation with OMM support
  • 15b8b51 feat(frontend): implement Earth View satellite propagation with OMM support
  • db45cab feat(backend): add versioned URLs for recording snapshots and thumbnails
  • 0b7d8cc feat(filebrowser): ensure page requests handle late or out-of-order replies
  • 7a8e9bf feat(filebrowser): replace multi-select with enhanced type filter component
  • 43db0e1 feat(filebrowser): add observation filter with rehydration support
  • d2a6ffc feat(filebrowser): add waterfall generation tracking and overlay for recordings
  • 6fe0aad feat(frontend): add transmitter strip with grouped labels and frequency markers in WaterfallViewer
  • 3ba6ce6 chore(frontend): update vite, lightningcss, and related dependencies
  • 5e738e8 chore: update dependencies and configuration for backend and frontend
  • 51b1a0c feat(scheduler): add regeneration progress tracking and disable actions during requests

Pull the Docker image:

For AMD64 systems:

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

For ARM64 systems (Raspberry Pi, etc):

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

Or pull architecture-specific tags directly:

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

# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.8.21-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 \
  -e GS_HTTP_PORT=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.21
# ARM64 (Raspberry Pi, etc)
docker run -d \
  --platform linux/arm64 \
  --network host \
  -e GS_HTTP_PORT=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.21

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

Port selection: In host-network mode, change GS_HTTP_PORT=7000 to your desired HTTP port, such as GS_HTTP_PORT=8080. Docker ignores -p in this mode. In bridge mode, change the host side of -p 7000:7000, such as -p 8080:7000; keep the container side at 7000. The backend remains on 127.0.0.1:7001 inside the container.

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>:<HTTP_PORT> (7000 by default).

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

# Run the container again (use the appropriate command above for your architecture and retain your HTTP port choice)

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.20...v0.8.21

Don't miss a new ground-station release

NewReleases is sending notifications on new releases.