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:
| Platform | Asset |
|---|---|
| Windows x64 | PSF.Guard_<version>_x64_en-US.msi or the NSIS -setup.exe |
| macOS (Apple Silicon) | PSF.Guard_<version>_aarch64.dmg |
| Linux x64 | PSF.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
The database mount must be writable. FITS folders can stay read-only.
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:
| Platform | Download |
|---|---|
| Linux x64 | psf-guard-linux-x64 |
| macOS | psf-guard-macos-x64 |
| Windows x64 | psf-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.