github sgoudelis/ground-station v0.8.20

2 hours ago

Docker Image

Version: 0.8.20
Environment: production
Git Commit: 32e2902
Build Date: 20261020

📖 View Project Documentation

Commits in this release:

  • 32e2902 chore(version): bump to v0.8.20
  • 250edc6 feat(backend): rename OMM fields to orbit_format and orbit_payload, add tests for six-digit ephemeris handling
  • 1a1f091 feat(frontend): add resolution toggles to regeneration preview dialog with accessibility improvements
  • 3f364bf feat(gnss,frontend,backend): add FSK framing and deviation support with enhanced transmitter configuration
  • f31313e refactor(frontend): improve layout scalability and simplify scheduler table rendering
  • 88d3b31 test(frontend,backend): add role-based orbital source tests and session clearing logic
  • 5731ffe refactor(frontend): standardize data_decoders_help translations and simplify VFO descriptions
  • 7908722 refactor(gnss): centralize GNSS label formatting and simplify VFO marker logic
  • a2cc64d feat(gnss): refine tuning workflows, add fix lifecycle handling, and improve SDR integration
  • d871a8b feat(backend,frontend): improve SDR error diagnostics and simplify error handling workflows
  • 62d6f81 refactor(frontend): simplify LastSeenFormatter by removing unused timezone and locale props
  • 7d0b019 test(frontend): add unit test for GNSS verified satellite count and refine VFO satellite display
  • d4fd421 feat(gnss): add pseudorange support, refine GNSS satellite verification, and enhance frontend data display
  • 018af4c test(frontend): add unit tests for OBS hardware menu synchronization and rig selection persistence
  • 979fc6b test(backend): add unit test to ensure rigs and transmitters persist for first observation target
  • 625a8ba feat(frontend): enhance scheduler UI with band grouping, detailed metadata, and iconography
  • b25909f feat(frontend,backend): add observation rig selection and ensure hardware handoff during tracker setup
  • 8d211ec feat(config): deprecate secret_key app setting and CLI flag for compatibility
  • d7a6c38 feat(frontend): add version change handling during socket reconnects
  • 83eb34b feat(deploy): add configurable Nginx HTTP port support with GS_HTTP_PORT environment variable
  • ec20159 feat(tlesync): add support for parsing Alpha-5 NORAD IDs in TLE processing
  • 1dce3fd test(api-docs): dynamically validate operation count in OpenAPI spec tests
  • ba20db1 feat(api): add /api/v1/trackers/rigs and /api/v1/rigs endpoints for rig state tracking and metadata
  • 0c47e7c feat(api): document /api/v1/trackers/rotators endpoint in tests and API specs
  • 8ed4bc9 chore(docs,Dockerfile): update SSDV repository URL to Codeberg
  • d732d19 feat(api): add /api/v1/trackers/rotators endpoint for tracking rotator states
  • 8e4b450 style(ui): update lobby layout with flexbox and centered alignment
  • 4cba89f feat(control): close public event streams on service restart
  • 601dbe6 feat(control): close public event streams on service restart
  • 81eedc6 feat(shutdown): add SDR process cleanup after session termination
  • 0b72cd8 feat(shutdown): add SDR process cleanup after session termination
  • f969971 feat(api): add comprehensive OpenAPI schema and response examples for public API endpoints
  • e23215a feat(api): add scoped SDR and rotator metadata endpoints with token-based access
  • 679d0b5 feat(events): add pub-sub for SDR streams, target tracking, and artifact updates
  • 32c612d style(auth): adjust dialog content padding in token revocation modal
  • a6baaaf test(api-docs): update e2e tests for new artifact endpoints in Swagger UI
  • 4f247bb feat(artifacts): add token-scoped download support with API links and range requests
  • 6223c45 test(waterfall): add unit tests for transcription scrolling behavior and improve scroll handling
  • 9d82c15 feat(transcription): add detected language support and improve decoder lifecycle handling
  • a567942 feat(transcription): add support for disabling translation and handling legacy targets
  • fa1c77b test(waterfall): add unit tests for VFO dialogs and rotary encoder tuning
  • a060cde feat(translation): add LibreTranslate support with enhanced UI and integration testing
  • 8e5edc8 feat(transcription): add Parakeet transcription provider with Google Translate support
  • af322d8 fix(build): streamline version metadata generation and improve fallback logic
  • fa5036a feat(api): add public event stream with server-sent events
  • cfd10a7 fix(auth): improve API token dialog layout and accessibility
  • 5bf3da7 feat(docs): add dark mode toggle and route theming for API reference
  • af64097 feat(auth): migrate API token management to Socket.IO commands
  • a6e16b4 feat(admin): implement real-time admin user management via Socket.IO
  • ade90cf feat(auth): add scoped API token management
  • 74e612d fix(filebrowser): clarify metadata file inclusion in purge messages across locales
  • f6031d0 fix(filebrowser): ensure consistent spinner visibility during purge preview loading
  • 4bb4392 feat(filebrowser): add purge dialog with slider and aggregate previews
  • 6ac6ed7 feat(inventory): add image count to decoded folder summary and detail views

Pull the Docker image:

For AMD64 systems:

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

For ARM64 systems (Raspberry Pi, etc):

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

Or pull architecture-specific tags directly:

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

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

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

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

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

Don't miss a new ground-station release

NewReleases is sending notifications on new releases.