You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Niklas Fiekas 90ae5f3a53
Merge pull request #210 from gbedoya/upgrade_rust_1.56.0
11 months ago
.github try to update build env to ubuntu 18.04 (github discontinued 16.04) 12 months ago
Fairy-Stockfish@f3e6969d11 update to Fairy-Stockfish 14 1 year ago
Stockfish@fd5e77950e update sf 1 year ago
doc future proof timeout handling 1 year ago
src fix windows build after last tweak 11 months ago
.dockerignore minor cleanup after #156 1 year ago
.gitignore minor cleanup after #156 1 year ago
.gitmodules switch to Fairy-Stockfish (closes #174) 1 year ago
COPYING.txt forgot to update COPYING.txt 1 year ago
Cargo.lock bump deps (shakamty 0.20.1) 12 months ago
Cargo.toml Merge pull request #210 from gbedoya/upgrade_rust_1.56.0 11 months ago
Dockerfile Upgrades to Rust 1.56.0 and edition to 2021 11 months ago
LICENSE.txt switch to gpl 3 6 years ago try to update build env to ubuntu 18.04 (github discontinued 16.04) 12 months ago tweak import grouping 11 months ago implement KEY_FILE for docker (closes #200) 1 year ago
favicon.ico add icon for windows executable 1 year ago
rustfmt.toml tweak import grouping 11 months ago

fishnet: distributed Stockfish analysis for Docker Build


  1. Request your personal fishnet key:

  2. Install and run the fishnet client.

    Download standalone binary

    Select the binary for your platform from the latest release and run it.

    # After download:
    chmod +x fishnet-x86_64-unknown-linux-gnu
    ./fishnet-x86_64-unknown-linux-gnu --auto-update

    Useful commands

    ./fishnet-x86_64-unknown-linux-gnu configure              # Rerun config dialog
    ./fishnet-x86_64-unknown-linux-gnu systemd --auto-update  # Print a .service file
    ./fishnet-x86_64-unknown-linux-gnu --help                 # List commands and options

    Other installation methods: From source, AUR, Docker, Kubernetes

  3. Pick an update strategy.

    Automatic updates

    Run with --auto-update as recommended above (will currently still require manual restarts on Windows due to #151).

    Subscribe to release announcements

    With a GitHub account, you can watch this repository (can be set to release announcements only). See the top right corner on this page.

Video introduction

Watch @arex explain fishnet.

Video introduction


Which engine does fishnet use?

fishnet uses Stockfish (hence the name) and Fairy-Stockfish for chess variants.

What are the requirements?

Available for 64-bit Intel and AMD ARMv8 / Silicon
Linux x86_64-unknown-linux-gnu build from source
Windows x86_64-pc-windows-gnu.exe
macOS x86_64-apple-darwin aarch64-apple-darwin
FreeBSD build from source
  • Needs an operating system from around 2018 or later
  • Will max out the configured number of CPU cores
  • Uses about 64 MiB RAM per CPU core
  • A small amount of disk space
  • Low-bandwidth network communication with Lichess servers (only outgoing HTTP requests, so probably no firewall configuration required)

Is my CPU fast enough?

Almost all processors will be able to meet the requirement of ~2 meganodes in 6 seconds. Clients on the faster end will automatically be assigned analysis jobs that have humans waiting for the result (the user queue, as opposed to the system queue for slower clients).

What happens if I stop my client?

Feel free to turn your client on and off at any time. By default, the client will try to finish any batches it has already started. On immediate shutdown, the client tries to inform Lichess that batches should be reassigned. If even that fails, Lichess will reassign the batches after a timeout.

Will fishnet use my GPU?

No, Stockfish is a classical alpha-beta engine. The neural network evaluation of Stockfish NNUE works efficiently on CPUs.

Is fishnet secure?

To the best of our knowledge. However you implicitly trust the authors and the GitHub infrastructure when running with --auto-update.

You can mitigate this by running fishnet as an unprivileged user.

cargo-crev is used to review the trustworthiness of dependencies.

Is there a leaderboard of contributors?

No, sorry, not publically. It would incentivize gaming the metrics.

Can I autoscale fishnet in the cloud?

There is currently no ready-made solution, but an API for monitoring the job queue status is provided.


Sequence diagram

See for details. Also supports SSLKEYLOGFILE for inspection at runtime.


fishnet is licensed under the GPLv3+. See LICENSE.txt or ./fishnet-x86_64-unknown-linux-gnu license for the full license text.