Installation
raptor is a single binary. You can build it from source or install the Debian package.
Debian / Ubuntu package
Prebuilt .deb packages are attached to each
GitHub Release:
$ sudo dpkg -i raptor_*.deb
The package installs:
/usr/bin/raptor— the server, with the web console embedded/etc/raptor/config.toml— default config, registered as a dpkg conffile (your edits survive upgrades)/usr/lib/systemd/system/raptor.service— a hardened systemd unit running as a transientDynamicUser, with state (SQLite DB + artifacts) under/var/lib/raptor
The service is enabled but not started on install, because you must set an admin password first:
$ raptor hash-password # type a password, copy the hash
$ sudoedit /etc/raptor/config.toml # paste into password_hash, pick DDI auth
$ sudo systemctl start raptor
See Running as a systemd Service for the unit’s hardening details and how to supply secrets safely.
From source
You need a recent stable Rust toolchain.
$ git clone https://github.com/rosterloh/raptor
$ cd raptor
$ cargo build --release
$ ./target/release/raptor --version
The binary lands at target/release/raptor.
Building with the web console
The embedded web console is behind the embed-ui Cargo feature. It requires the
Dioxus CLI (dx) to build the WASM bundle first:
$ cargo binstall dioxus-cli@0.7.10
$ dx build --release --package raptor-ui
$ cargo build --release --features embed-ui
Without embed-ui, the server runs identically but does not serve /ui.
Building the Debian package yourself
$ cargo install cargo-deb
$ dx build --release --package raptor-ui # populate the embedded UI
$ cargo deb -p raptor # -> target/debian/raptor_*.deb
Database
raptor supports SQLite and Postgres, selected by the database_url
scheme. Migrations run automatically at startup, so there is no separate migrate
step.
- SQLite:
sqlite://raptor.db?mode=rwc(themode=rwccreates the file) - Postgres:
postgres://user:pass@host/dbname
Next steps
- Configuration — the
raptor.tomlfile - Your First Deployment — an end-to-end walkthrough