Like Jitsu? Give us a star on ⭐ GitHub!

πŸ“œ Configuration

Configuration UI

πŸ‘©β€πŸ”¬ Extending Jitsu

Overview
Destination Extensions
Source Extensions
API Specs

Jitsu Internals

Deploying Jitsu (@jitsucom/jitsu)

@jitsucom/jitsu is a Docker image to simplify deployment on your IaaS or hardware of choice. It contains both Configurator and Server (read more about the difference here).

The only external dependency is Redis. The image is configured with environment variables and certain volumes must be mounted.

Exposed Ports

The only port image exposing is 8000. Jitsu Configurator UI and Jitsu Server API works on this port, Configurator under /configurator path

Environment Variables

REDIS_URL
required
Docker Env Var
string

Main Redis. Value in format of Redis connection string: redis://:password@host:port or redis://host:port without password

CLUSTER_ADMIN_TOKEN
required
Docker Env Var
string

Admin Token for authorizing requests from/to Configurator.

TLS_SKIP_VERIFY
optional
Docker Env Var
boolean

Redis: skip client certificate verification

MAX_MIND_PATH
optional
Docker Env Var
boolean

Path to MaxMind file (read more about geo-resolution). Can be either path to file (inside docker-mounted dir) or maxmind://[license key]. The latter will make Jitsu to download files from MaxMind servers using your license key. Read more about the capability read more about here.

SLACK_NOTIFICATIONS_WEBHOOK
optional
Docker Env Var
string

Slack webhook URL. Server starts, system errors, and panics information will be sent there

GOOGLE_ADS_DEVELOPER_TOKEN
optional
Docker Env Var
string

Developer Token for Google Ads connector

JITSU_SSO_CONFIG
optional
Docker Env Var
string

Read more about this configuration here

JITSU_SMTP_CONFIG
optional
Docker Env Var
string

SMTP configuration in JSON format. Read more about this configuration here

JITSU_HTTP_CONTEXT_ENRICHMENT
optional
Docker Env Var
boolean

Whether the server should enrich incoming HTTP events with HTTP context (headers, etc.). Please note that when upgrading from Jitsu 1.41.6 you can switch this setting to true only separately from the upgrade itself, otherwise event data may get corrupted.

Variables below are available only in beta version

USER_RECOGNITION_TTL_MINUTES
optional
Docker Env Var
number

Default value is 10080 minutes (7 days). This setting controls when user events are evicted from user recognition cache. Read more about user recognition eviction policy

USER_RECOGNITION_ENABLED
optional
Docker Env Var
boolean

If Retroactive User Recognition should be enabled. true by default

USER_RECOGNITION_REDIS_URL
optional
Docker Env Var
string

Redis connection string: redis://:password@host:port or redis://host:port without password for using separate Redis for anonymous events. Read more about Redis storage memory optimization.

EVENTS_QUEUE_REDIS_URL
optional
Docker Env Var
string

Redis connection string: redis://:password@host:port or redis://host:port without password for using separate Redis for incoming events JSON queue. All destinations in stream mode uses Redis events queue (if REDIS_URL or EVENTS_QUEUE_REDIS_URL configured). Otherwise they use in-memory queue).

SQL_DDL_LOG_ENABLED
optional
Docker Env Var
boolean

Enable SQL DDL debug logs (create, update table statements). Default value is true

SQL_QUERIES_LOG_ENABLED
optional
Docker Env Var
boolean

Enable SQL inserts debug logs. Warning: this feature can take significant disk space: all SQL insert statements will be written into the log file. Default value is true

SOURCES_SYNC_BATCH_SIZE
optional
Docker Env Var
integer

Synchronization data batch size for writing into destinations. Default value is 10 000. If you server has enough RAM you can increase this value for speed up your sources synchronization.

Volumes

Path (inside docker image) Description
/home/eventnative/data/logs/*
(Highly recommended to mount)

To send data in batches to destination, Jitsu needs to persist current batch on local disk. Internal queues are also persisted locally. If you don't want to loose the data, it's highly recommended to mount this volume.

Example: -v $PWD/server_logs/:/home/eventnative/data/logs/, make sure that the volume is writable with: `chmod 777 $PWD/server_logs/

This volume contains server application logs as well

/home/configurator/data/logs/
(optional)

Configurator application logs

Example: -v $PWD/configurator_logs/:/home/configurator/data/logs/, make sure that the volume is writable with: chmod 777 $PWD/configurator_logs/

/home/eventnative/data/airbyte
(optional)

Required for Airbyte connectors support. Mount with -v jitsu_workspace:/home/eventnative/data/airbyte). Name jitsu_workspace should be exactly this.

/var/run/docker.sock
(optional)

Required for Airbyte connectors support. Mount to /var/run/docker.sock (with -v /var/run/docker.sock:/var/run/docker.sock)

Example

mkdir $PWD/server_logs/ $PWD/configurator_logs/ chmod -R 777 $PWD/server_logs/ $PWD/configurator_logs/

(you need the one above to ensure that Jitsu can write data to those dirs)

docker run -p <local_port>:8000 \ -e REDIS_URL=<redis_url> \ -v $PWD/server_logs/:/home/eventnative/data/logs/ \ -v $PWD/configurator_logs/:/home/configurator/data/logs/ \ -v jitsu_workspace:/home/eventnative/data/airbyte \ -v /var/run/docker.sock:/var/run/docker.sock \ jitsucom/jitsu:latest

Jitsu deployment requires Redis. You can easily run redis docker instance with docker run -p 6379:6379 --name jitsu-redis -d redis command.