Skip to content

Installation ​

You have several options for installing Thunder:

Using Docker ​

  1. Pull the Docker image from the GitHub Container Registry:

    bash
    docker pull ghcr.io/quix-labs/thunder:latest
  2. Start the container:

    bash
    touch config.json
    docker run --rm -p "3000:3000" -v "./config.json:/config.json" --name thunder ghcr.io/quix-labs/thunder:latest
  3. Access the tool at http://localhost:3000 and configure it via the web interface.

Suggestion

It is recommended to specify a tag (version) when pulling the Docker image, for example:

bash
docker pull ghcr.io/quix-labs/thunder:v1.0.0

This ensures you're using a specific, stable version of Thunder rather than the latest version, which may be in development.

Using Prebuilt Assets ​

  1. Download the appropriate package from the Releases page.

  2. Follow the installation instructions provided for your platform (e.g., .deb, .apk, etc.).

Building from Source ​

  1. Set up your Go project:

    bash
    cd /path/to/your/project
    go mod init your_app_name
    go get -u github.com/quix-labs/thunder/app@main
  2. Create a main.go file and add the following code:

    go
    package main
    
    import (
        "github.com/quix-labs/thunder"
        _ "github.com/quix-labs/thunder/exporters/csv"
        _ "github.com/quix-labs/thunder/exporters/json"
        _ "github.com/quix-labs/thunder/exporters/yaml"
        _ "github.com/quix-labs/thunder/modules/api"
        _ "github.com/quix-labs/thunder/modules/frontend"
        _ "github.com/quix-labs/thunder/modules/http_server"
        _ "github.com/quix-labs/thunder/source-drivers/postgresql_flash"
        _ "github.com/quix-labs/thunder/target-drivers/elastic"
    )
    
    func main() {
        err := thunder.Start()
        if err != nil {
            panic(err)
        }
    }
  3. Compile the app:

    bash
    go mod tidy
    CGO_ENABLED=0 go build -ldflags="-s -w" -o your_app_name
  4. Run your app:

    bash
    ./your_app_name
  5. The configuration file (config.json) will be placed in the current directory. Access the tool at http://localhost:3000 to configure it.

Next Steps ​

Once you have Thunder up and running, follow these steps:

  1. Configure Sources
  2. Define Targets
  3. Set Up Processors