Installing Stork

There are two parts to Stork: the command line tool, and the Javascript module. Here, you'll learn how to install both.

The command line tool

macOS
Ubuntu
Amazon Linux
Cross-platform

Option 1: Install with Homebrew:

$ brew install stork-search/stork-tap/stork

Option 2: Download a pre-compiled binary (Intel only):

$ wget https://files.stork-search.net/releases/v1.5.0/stork-macos-10-15
$ chmod +x stork-macos-10-15

Option 3: If you have the Rust toolchain installed, use Cargo:

$ cargo install stork-search --locked

The --locked flag is required; discussed further in issue #188

Option 1: Download a pre-compiled binary:

$ wget https://files.stork-search.net/releases/v1.5.0/
stork-ubuntu-20-04
$ chmod +x stork-ubuntu-20-04

Option 2: If you have the Rust toolchain installed, use Cargo:

$ cargo install stork-search --locked

The --locked flag is required; discussed further in issue #188

Option 1: Download a pre-compiled binary:

$ wget https://files.stork-search.net/releases/v1.5.0/stork-amazon-linux
$ chmod +x stork-amazon-linux

Option 2: Build from source. Note that Stork cannot be built with the web-scraping feature on Amazon Linux because of OpenSSL incompatibilities.

Install the Rust toolchain and install Stork with Cargo:

$ cargo install stork-search --locked

The --locked flag is required; discussed further in issue #188

If these options don't work for you, please file a Github issue describing the installation process you hope to see!

The Javascript library

You can either load the Javascript library from the Stork CDN (backed by AWS Cloudfront) or by self-hosting it.

From the Stork CDN:

Include the following script tag on your site, before your closing </body> tag:

<script src="https://files.stork-search.net/releases/v1.5.0/stork.js"></script>

When a new Stork version comes out, update the version that is pinned in the URL.

Self-hosting:

Download stork.js and stork.wasm from the latest Github release and publish those files on your web server. Be sure to serve stork.wasm with the correct MIME type, and be sure to call stork.initialize() with the URL where you're hosting the stork.wasm.

Visit the self-hosting guide for more information.

Updates and Semantic Versioning

Stork updates contain bug fixes, indexing enhancements, UI enhancements, and additional configuration options.

All files on the files.stork-search.net CDN are versioned. If you're loading the JS, CSS, or any command line binaries from the CDN, make sure to update the version number in the URL to stay up-to-date.

The project will maintain semantic versioning adherence in the following areas:

  • Any working configuration file will still work with any later version of the Stork indexing binary, up to the next major version
  • Any command line invocation will still give the same output for any later binaries, up to the next major version
  • Any working calls to the Stork JS API (.register(), .initialize(), .search() and others) will still work with any later versions of stork.js, up to the next major version
  • Any index file can be loaded with any later versions of stork.js/stork.wasm, up to the next major version

However, the project cannot guarantee semantic versioning adherence in the following areas (although if Stork is causing major issues with these, please reach out):

  • The API of the Rust stork-search library published to crates.io
  • HTML and CSS side effects of Stork themes (although the dynamically generated HTML structure will remain the same, to not break custom themes)
  • Development processes

To track updates, follow the Stork Releases RSS feed.

Was this page helpful?

If you see an issue, please file a bug!

© 2019–2022. Stork is maintained by James Little, who's really excited that you're checking it out.

If you have any questions or comments, feel free to start a discussion on Github or chat about the project on Discord.

This site is open source. Please file a bug or open a PR if you see something confusing or incorrect.

Logo art by Bruno Monts, with special thanks to the fission.codes team. Please contact James Little before using the logo for anything.