Download Magic


Kafka Magic Community Edition is FREE for personal and business use.
Just download the app following links below.

You can get access to free Professional Evaluation by signing up for Kafka Magic Account right in your Kafka Magic app.

Download and Run

Platform Get files
Windows 64 Download KafkaMagic_win64.zip
Linux 64 Download KafkaMagic_linux-x64.zip
macOS 10.14 Mojave (Intel) Download KafkaMagic_osx.10.14-x64.zip
Docker container (Linux amd64) docker pull digitsy/kafka-magic

Latest version: 2.0.3.4

Windows

Extract zip file into a new folder. Run KafkaMagic.exe app.

In your browser navigate to http://localhost:5000
(you can change the port number - see below)

macOS 10.14 Mojave

Extract zip file into a new folder. In the context of that folder run

chmod +x KafkaMagic
./KafkaMagic

In your browser navigate to http://localhost:5000

Docker container

Kafka Magic Docker container (Linux amd64) is hosted on Docker Hub in the repository digitsy/kafka-magic.

To pull the image: docker pull digitsy/kafka-magic.

The web interface is exposed on port 80. To run container and map to a different port (ex. 8080):

docker run -d --rm -p 8080:80 digitsy/kafka-magic

In your browser navigate to http://localhost:8080

Configuration

You can configure several things in Kafka Magic app:

  • localhost port to which the app is listening
  • saving cluster configuration in memory or file
  • enable deletion of a topic (requires Professional license)

Cluster connection configuration you have entered when registering your clusters can be stored in-memory or in an encrypted file. ‘in-memory’ means that configuration will be lost after you shut down the Kafka Magic application.
To preserve the configuration you need to configure file storage and optional encryption key.

There are differences in configuration steps between desktop version of the app and Docker container.

Configure desktop version

Port number

If you need to use different port instead of default 5000, you can configure that in appsettings.json file:

{
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://localhost:5432"
      }
    }
  }
}

Configuration Store

The type of the storage is defined by the CONFIG_STORE_TYPE configuration parameter. It can have one of two values: “memory” or “file”. Absence of the configuration means in-memory storage.

To preserve configuration between application shutdowns, file storage parameters is configured in the appsettings.json file. You can find this file in the folder where you installed (unzipped) the application.

Here is the default configuration for the desktop version of the Kafka Magic app:

{
  "CONFIG_STORE_TYPE": "file",
  "CONFIG_STORE_CONNECTION": "Data Source=KafkaMagicConfig.db;",
  "CONFIG_ENCRYPTION_KEY": "ENTER_YOUR_KEY_HERE"
}

CONFIG_STORE_CONNECTION value should be in the format Data Source=PATH_TO_THE_CONFIG_FILE;. You can pick any name for your configuration file.

Enable Topic Deletion

As a precaution, topic deletion is disabled by default. You can change configuration to enable topic deletion by changing configuration parameter ALLOW_TOPIC_DELETE in the appsettings.json file:

{
  "ALLOW_TOPIC_DELETE": true
}

Docker Container configuration

When you are running the Kafka Magic app in a Docker container, to configure the app you can use command parameters, Environment variables, or via docker-compose.yml file.

Port number

The web interface is exposed on port 80. To run container and map to a different port (ex. 8080):

docker run -d --rm -p 8080:80 digitsy/kafka-magic

Configuration Store

By default Docker Container version of the Kafka Magic app is configured to store configuration in-memory.

To configure file storage you can update configuration through the Environment variables. Names of the configuration environment variables use KMAGIC_ prefix, so you will need to create these variables:

  KMAGIC_CONFIG_STORE_TYPE: "file"
  KMAGIC_CONFIG_STORE_CONNECTION: "Data Source=PATH_TO_THE_CONFIG_FILE;"
  KMAGIC_CONFIG_ENCRYPTION_KEY: "ENTER_YOUR_KEY_HERE"

Enable Topic Deletion

As a precaution, topic deletion is disabled by default. You can change configuration to enable topic deletion by setting Environment variable KMAGIC_ALLOW_TOPIC_DELETE to true:

  KMAGIC_ALLOW_TOPIC_DELETE: "true"

You can do that as a docker command parameter:

docker run -e "KMAGIC_ALLOW_TOPIC_DELETE=true" -d --rm -p 8080:80 digitsy/kafka-magic

Docker-compose file

You can combine all configuration parameters in a single docker-compose.yml file.

version: '3'
services:
  magic:
    image: "digitsy/kafka-magic"
    ports:
      - "8080:80"
    volumes:
      - .:/config
    environment:
      KMAGIC_ALLOW_TOPIC_DELETE: "true"
      KMAGIC_CONFIG_STORE_TYPE: "file"
      KMAGIC_CONFIG_STORE_CONNECTION: "Data Source=/config/KafkaMagicConfig.db;"
      KMAGIC_CONFIG_ENCRYPTION_KEY: "ENTER_YOUR_KEY_HERE"