Installation

Install the desktop app unless you need a server or command-line workflow. You do not need to choose or create a database until PSF Guard is running.

Desktop app

Download the installer for your platform from the latest release:

PlatformAsset
Windows x64PSF.Guard_<version>_x64_en-US.msi or the NSIS -setup.exe
macOS (Apple Silicon)PSF.Guard_<version>_aarch64.dmg
Linux x64PSF.Guard_<version>_amd64.deb or .AppImage

Install and launch the app. The Windows NSIS installer also installs psf-guard-cli.exe and adds it to your user PATH.

Next, return to Getting Started to build a catalog from FITS folders or open an existing Target Scheduler database.

Docker on a Linux server or NAS

CLI / NAS
Use this path for browser access on another machine

The database mount must be writable. FITS folders can stay read-only.

CLI reference →
docker run -d -p 3000:3000 \
  -v /path/to/catalog.sqlite:/data/database.sqlite \
  -v /path/to/images:/images:ro \
  ghcr.io/theatrus/psf-guard:latest

Open http://localhost:3000/. To tune the port, cache, or preview pre-generation, mount a TOML config at /data/config.toml and append server --config /data/config.toml /data/database.sqlite /images. See Configuration & API.

Standalone CLI binaries

These version-independent links point at the latest release:

PlatformDownload
Linux x64psf-guard-linux-x64
macOSpsf-guard-macos-x64
Windows x64psf-guard-windows-x64.exe
# Linux / macOS
chmod +x psf-guard-*
./psf-guard-linux-x64 server catalog.sqlite /path/to/images/
:: Windows — back up the DB first, then serve it
copy "%LOCALAPPDATA%\NINA\SchedulerPlugin\schedulerdb.sqlite" schedulerdb-backup.sqlite
psf-guard-windows-x64.exe server "%LOCALAPPDATA%\NINA\SchedulerPlugin\schedulerdb.sqlite" C:\path\to\images

Fedora RPM

Releases attach prebuilt RPMs for Fedora 43 and 44:

sudo dnf install ./psf-guard-*.fc44.x86_64.rpm

The package installs the CLI/server and a psf-guard.service systemd unit. Build instructions live in packaging/rpm/README.md.

Build from source

git clone https://github.com/theatrus/psf-guard.git
cd psf-guard
cargo build --release
./target/release/psf-guard server catalog.sqlite /path/to/images/

The build needs Rust and Node.js/npm. It embeds the React frontend and uses the published pure-Rust Seiza crates for image processing.