Skip to content

Pivot to standalone astrophotography image platform #105

@mstelz

Description

@mstelz

Summary

Sidereal (formerly Skymmich) is shifting from an Immich companion app to a standalone, self-hosted image platform purpose-built for astrophotography and astronomy imaging.

Background

The project was originally conceived as a companion to Immich — extending it with astrophotography-specific features like plate solving, equipment tracking, acquisition logging, and sky map visualization. As a result, the current codebase is tightly coupled to Immich: image synchronization, serving, metadata management, and the plate solving pipeline all depend on the Immich API.

New Direction

The platform should own its image pipeline end-to-end — ingestion, storage, serving, metadata, and processing — without requiring any external service. The focus is on being the best self-hosted solution for managing, organizing, and working with astrophotography and astronomy images.

Immich as a Plugin

Immich should transition from a required dependency to an optional plugin integration — one of potentially many external services that can be connected for syncing or loading images. The plugin architecture should be designed so that other integrations (direct upload, NINA, file system watchers, etc.) are equally viable sources.

Core Principles

  • Standalone first: The platform must be fully functional with zero external dependencies beyond its own stack
  • Astro-native: First-class support for astrophotography formats (FITS, XISF, camera RAW), metadata, and workflows
  • Plugin-extensible: External integrations (Immich, NINA, etc.) connect through a well-defined plugin/source interface
  • Self-hosted: Maintains the self-hosted, privacy-respecting ethos

Scope of Work

This is a foundational architectural shift that touches:

  • Image storage & serving: Local image management replacing Immich proxy
  • Ingestion pipeline: Support for direct uploads, file system sources, and plugin-based sources
  • Source abstraction layer: A plugin interface that Immich (and future integrations) implement
  • Database schema: Decoupling from immichId as the primary image identifier
  • Frontend: Image display, upload UI, and admin configuration updates
  • Branding: Remaining Skymmich → Sidereal naming updates throughout the codebase

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions