Indexer Toolkit

Subquery Indexer Toolkit (aka Swiss Kinfe)

Objective of the project:
Provide a reliable and convenient environment for indexer owners and the opportunity to learn about the problem in a timely manner

What is it, what does it consist of?
The tool contains everything you need to index, monitor and properly access for you from any device

The solution is based on

  • Postgres
  • Subquerynetwork/indexer-coordinator
  • Redis
  • Subquerynetwork/indexer-proxy
  • Trafik
  • Grafana
  • Node exporter
  • Additional friendly exporters
  • Wireguard

Is it opensource? Can i check?
Yep. The solution was created by indexers for indexers in order to improve the quality of work of indexers

What will I get after installation?

  • Fully prepared server for indexing with featured metrics
  • Secure access yo your coordinator panel via any device (pc,phone,etc)
  • Secure access to monitoring & Alerting

How it will looklike?

  1. Generating keys and passwords.

  2. Instalation process
    (All data will be saved to SubqueryIndexerHandbook.tar.gz, So, download it. Here - passwords and all required keys)

After setup, web server automatically will generate SSL cert for you subdomain and server 443 and 80 ports


Subquery toolkit dashboard




Infrastructure description

By default Wireguard mask, but you can set you own in .env file Internal network mask: All addresses and services accessible via private network!

Service Address Annotation
Indexer Coordinator
Indexer Proxy
Traefik ports 8082(metrics), 80(public), 443(public with Letsencrypt)
Node Exporter

You can receive access to subnet via wireguard configuration from SubqueryIndexerHandbook.tar.gz

Wireguard use by default 816 port. But you can set it manually in .env file. This file NEVER automatically overwrites, Script preventing override.


  1. Prepare system

Debian/Ubuntu/Arch/Kali any apt-get based
Run command:

sudo apt update && sudo apt install -y docker-compose git curl bzip2

Centos/Fedora/Redhat any yum based
Run command

 sudo yum install -y yum-utils git curl bzip2
 sudo yum-config-manager --add-repo
 sudo yum install docker-ce docker-ce-cli docker-buildx-plugin docker-compose-plugin

  1. Cloning package
cd /opt
git clone
cd subquery-indexer-toolkit

  1. Generating keys
    Run command

sudo bash ./tools/generate_initial_configuration

Command will request domain name and your email. Please paste only domain without protocol. Example: and make shure, you linked IP address to this domain

  1. Install Indexer and monitoring software
    Run command

sudo bash ./tools/start_indexer_with_wireguard

After installation will complete you will have fully completed ecosystem with VPN server, monitoring, and indexer software. Please download from server file: SubqueryIndexerHandbook.tar.gz. It will contains All passwords, keys and addresses.


  1. Upgrade from repo

sudo git pull

  1. Run upgrading process

sudo bash ./tools/start_indexer_with_wireguard

Connection to server with wireguard

LInux users

1.Install wireguard client

  • Ubuntu/Debian/Arch/Kali
    sudo apt install wireguard-tools wireguard

  • Centos/Fedora/Redhat
sudo yum install epel-release
sudo yum install 'dnf-command(config-manager)'
sudo yum config-manager --set-enabled PowerTools
sudo yum copr enable jdoss/wireguard
sudo yum install wireguard-dkms wireguard-tools

  • Macbook

Install ‎WireGuard on the Mac App Store

  • Iphone

Install ‎WireGuard on the App Store

  • Android

2 Configure vpn client

Open downloaded file SubqueryIndexerHandbook.tar.gz

Linux any dist

  • Open wireguard folder from archive. and copy client1.conf OR client2.conf to /etc/wireguard/ folder. It will looklike /etc/wireguard/client1.conf

  • Execute command

sudo systemctl enable wg-quick@client1
sudo systemctl start wg-quick@client1

Please change client1 to client2 if you want to use on this pc client2 profile.


  • Using GUI import content of client1.conf and run.(Import tunnel from file)


  • Using GUI import content of client1.conf and run.(Import tunnel from file)


  • Open on PC archive, go to wireguard folder and open client2.png. That’s image. QR code. Then - open wireguard on phone on choose option. Scan from QR code.


  • Open on PC archive, go to wireguard folder and open client2.png. That’s image. QR code. Then - open wireguard on phone on choose option. Scan from QR code.

  1. Completing


I have own cert, i don’t want to use free OR i want to use nginx as proxy with self configured ssl

  • Yes, you can use own proxy server for that cofiguration you need to use another run script
    sudo bash ./tools/start_indexer_with_wireguard_without_traefik
    Then, configure your nginx proxy to host
    Docs: NGINX Reverse Proxy | NGINX Documentation


  • Docs and scrips for migration from official Subquery scripts
  • Docs for Postgres clustering/Migration
  • Auto-resolving problems + Load balancing & reservation for nodes
  • CLI interface for indexer management