Skip to content

A minimal, offline, Docker image for the Astrometry.net plate solver - solver binaries only, no web app.

License

Notifications You must be signed in to change notification settings

DiarmuidKelly/astrometry-dockerised-solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Astrometry.net Dockerised Solver

Docker Image Version (latest semver) ghcr.io Docker Image Size Docker Pulls License

A minimal, maintained Docker image for the Astrometry.net plate solver - solver binaries only, no web app.

Available on: Docker HubGitHub Container Registry

Source Code: GitHub Repository

Built specifically for use with astrometry-go-client.

Features

  • Multi-stage build - small runtime image (~500MB vs 2GB+ with build tools)
  • Multi-arch support - linux/amd64 and linux/arm64
  • Release-aligned - tracks upstream astrometry.net releases
  • Automated builds - GitHub Actions builds and publishes to GHCR
  • Upstream monitoring - auto-creates issues when new astrometry.net releases are published

Quick Start

# Pull from DockerHub
docker pull diarmuidk/astrometry-dockerised-solver:latest

# Show help
docker run --rm diarmuidk/astrometry-dockerised-solver:latest solve-field --help

# Check version
docker run --rm diarmuidk/astrometry-dockerised-solver:latest solve-field --version

# Solve an image (mount your index files and image directory)
docker run --rm \
  -v /path/to/index/files:/usr/local/astrometry/data:ro \
  -v /path/to/images:/data \
  diarmuidk/astrometry-dockerised-solver:latest \
  solve-field /data/your-image.fits

Available Commands

All astrometry.net solver binaries are included. Simply replace solve-field with any command:

# Main plate solving command
docker run --rm diarmuidk/astrometry-dockerised-solver:latest solve-field --help

# Other available commands:
docker run --rm diarmuidk/astrometry-dockerised-solver:latest image2xy --help
docker run --rm diarmuidk/astrometry-dockerised-solver:latest fit-wcs --help
docker run --rm diarmuidk/astrometry-dockerised-solver:latest wcs-xy2rd --help
docker run --rm diarmuidk/astrometry-dockerised-solver:latest wcs-rd2xy --help

Available binaries:

  • solve-field - main plate solving command
  • image2xy - extract sources from images
  • fit-wcs - fit WCS to xy lists
  • wcs-xy2rd, wcs-rd2xy - coordinate conversions
  • And more...

For detailed usage and command documentation, see the upstream Astrometry.net solving documentation.

Usage with astrometry-go-client

This image is designed to work seamlessly with the astrometry-go-client:

// Use the containerized solver instead of the web API
client := astrometry.NewClient(astrometry.Config{
    SolverType: astrometry.LocalDocker,
    DockerImage: "diarmuidk/astrometry-dockerised-solver:latest",
    IndexPath: "/path/to/index/files",
})

Index Files

The image includes one sample index file (index-4119.fits) covering ~20-30° field widths.

For complete coverage, download additional index files (available here at astrometry.net):

# Download to a local directory
mkdir -p ./index-files
cd ./index-files

# Download index files for your field of view
# See: http://data.astrometry.net/
wget http://data.astrometry.net/4100/index-41{19,18,17}.fits

Then mount this directory when running:

docker run --rm \
  -v $(pwd)/index-files:/usr/local/astrometry/data:ro \
  -v $(pwd):/data \
  diarmuidk/astrometry-dockerised-solver:latest \
  solve-field /data/image.fits

Available Tags

Available on both DockerHub and GHCR:

  • latest - most recent build from main branch
  • 0.97, 0.96, etc. - specific astrometry.net versions
  • main - development builds

Versioning

This project follows a semantic versioning scheme aligned with upstream:

Format: MAJOR.MINOR.PATCH

  • MAJOR.MINOR - Matches upstream astrometry.net version (e.g., 0.97)
  • PATCH - Increments for Dockerfile fixes/improvements

Examples:

  • 0.97.0 - Initial build of astrometry.net 0.97
  • 0.97.1 - Dockerfile optimization for 0.97
  • 0.98.0 - New upstream astrometry.net 0.98 release

Release Process

For Dockerfile changes (patch bump):

  1. Create PR with changes
  2. Title PR with [PATCH] prefix (or fix:)
  3. Merge PR → auto-bumps to next patch version (e.g., 0.97.00.97.1)

For new upstream releases (major/minor bump):

  1. Upstream monitoring creates an issue
  2. Create PR with [MAJOR] title and update VERSION file to 0.98.0
  3. Merge PR → creates v0.98.0 release

Skip release:

  • Use [SKIP] prefix or docs:/chore: for non-release changes

Contributing

Issues and PRs welcome! This repo is intentionally minimal - for solver functionality, contribute upstream to dstndstn/astrometry.net.

Building Locally

# Build default version (0.97)
docker build -t astrometry-solver .

# Build specific version
docker build --build-arg ASTROMETRY_VERSION=0.97 -t astrometry-solver:0.97 .

# Multi-arch build
docker buildx build --platform linux/amd64,linux/arm64 -t astrometry-solver .

Automated Builds

This repo uses GitHub Actions for automated builds and upstream monitoring:

  • Build pipeline (.github/workflows/build-and-push.yml) - Builds multi-arch images and pushes to both GHCR and DockerHub on version tags
  • Upstream monitoring (.github/workflows/check-upstream-release.yml) - Runs daily to check for new astrometry.net releases and creates issues

See the Versioning section for the release process.

License

This repo carries the same license as the upstream - kept up to date 14.12.2025. Astrometry.net has it's own License - see upstream repo for details.

Related Projects

Acknowledgments

About

A minimal, offline, Docker image for the Astrometry.net plate solver - solver binaries only, no web app.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •