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, but the FITS directories can remain 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/ in your browser. You can configure
the port, cache settings, and preview pre-generation by mounting a TOML configuration
file at /data/config.toml and appending the configuration parameters
to the start command: server --config /data/config.toml /data/database.sqlite /images.
For details, see the Configuration & API reference.
Standalone CLI binaries
These version-independent links download the latest release for your platform:
| 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
Prebuilt RPM packages are attached to each release for Fedora 43 and 44:
sudo dnf install ./psf-guard-*.fc44.x86_64.rpm
The package installs the CLI binary and a psf-guard.service
systemd unit to run the server in the background. Build instructions are
available 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/
Building from source requires Rust and Node.js/npm. The compilation process embeds the React frontend and uses the published pure-Rust Seiza crates for image processing.