github sgoudelis/ground-station v0.3.0

7 hours ago

Docker Image

Version: 0.3.0
Environment: production
Git Commit: fefc6b1
Build Date: 20260403

📖 View Project Documentation

Commits in this release:

  • fefc6b1 Bump version to 0.3.1 in version.json.
  • 1da4871 Remove redundant apt-get update and dependency installation step from Dockerfile.
  • c04d1a8 Bump version to 0.3.0 in version.json.
  • 6faa785 Sync satelliteId with backend updates in target-slice to ensure real-time tracking state consistency.
  • a576d9c Introduce active and upcoming observation indicators in the dashboard:
  • f8cc69c Dim inactive satellite markers in overview-map using a new custom icon.
  • 64fa5dc Refactor frequency violation text formatting to handle multi-code-point icons and improve trim logic.
  • 2caebf3 Improve frequency violation alert styling in satellite-transmitters:
  • 2b5af37 Import Leaflet in satellite-map and remove redundant ESLint disable directive from mercator-grid.
  • 2884993 Normalize satellite data parsing and enhance map visuals:
  • db916bd Add getModulationColor utility to dynamically set badge colors in satellite-info component
  • 97a1210 Enhance frequency band display:
  • a9eb35c Localize string literals and fix Greek translations across frontend components and JSON files.
  • bd117f8 Upgrade frontend and backend dependencies:
  • b6c7020 Refactor hardware e2e tests for improved reliability and reuse
  • c2dad53 Relax ESLint rules for gradual adoption of React compiler-driven hooks; replace LocationForm with direct LocationPage usage in settings panel
  • 88db272 Refactor SettingsTabs to derive active tabs from URL; remove redundant state variables and handlers
  • fe7154c Refactor selection and action handling in tables
  • 1d78c77 Refactor dashboard edit mode to use Redux actions for grid editing states.
  • 9bb5e7b - Implement toSelectedIds utility to normalize row selections across multiple tables. - Switch to functional manualChunks in Vite config for compatibility with Vite 8. - Override worker.format to es in Vite config to ensure compatibility with top-level await. - Upgrade frontend and backend dependencies, including FastAPI, aiohttp, cryptography, and Pillow. - Update grid layout components to improve resizing and layout synchronization. - Add overview-map-layout-change event to synchronize map state with layout changes. - Refactor data grid row selection across multiple components using toSelectedIds for consistency.
  • 7ddd443 Handle azimuth wraparound and improve target tolerance logic

Pull the Docker image:

For AMD64 systems:

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

For ARM64 systems (Raspberry Pi, etc):

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

Or pull architecture-specific tags directly:

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

# ARM64
docker pull ghcr.io/sgoudelis/ground-station:0.3.0-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 \
  -e GS_ENVIRONMENT=production \
  -e GR_BUFFER_TYPE=vmcirc_mmap_tmpfile \
  ghcr.io/sgoudelis/ground-station:0.3.0
# 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.3.0

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 \
  -e GS_ENVIRONMENT=production \
  -e GR_BUFFER_TYPE=vmcirc_mmap_tmpfile \
  ghcr.io/sgoudelis/ground-station:0.3.0
# 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.3.0

Note: Replace /path/to/data with 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:/dev ensures 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.3.0

# 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.19...v0.3.0

Don't miss a new ground-station release

NewReleases is sending notifications on new releases.