Skip to main content

Introduction

Introduction

Iggy server is the most important part of the system as it's responsible for handling all the incoming connections, managing the data and providing the API for the clients. The server is written in Rust and can be run on any platform that supports it.

The releases are published to GitHub and can be found here. The official Docker images can be found here, simply type docker pull iggyrs/iggy.

Keep in mind, that if you were to compile the source code in release mode, the longer compilation time is due to LTO enabled in profile.

The HTTP API endpoints can be found in server.http file, which can be used with REST Client extension for VS Code.

In order to see the detailed logs from the server, run it with RUST_LOG=trace environment variable.

And finally, to seed the example data, simply execute cargo r --bin data-seeder-tool from the root of the repository while running your Iggy server.

All the requests to the server except of sending a ping, fetching the stats or logging in, require the session to be authenticated. The session is created by logging in with the user's credentials or personal access token and is valid for the duration of the session or until the user logs out or the connection is lost. In case of HTTP API, the authentication is done by providing the Authorization header with the Bearer token.