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#
Main Redis. Value in format of Redis connection string: redis://:password@host:port
or
redis://host:port
without password
Admin Token for authorizing requests from/to Configurator.
Redis: skip client certificate verification
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 webhook URL. Server starts, system errors, and panics information will be sent there
SMTP configuration in JSON format. Read more about this configuration here
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.
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
If Retroactive User Recognition should be enabled.
true
by default
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.
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).
Enable SQL DDL debug logs (create, update table statements). Default value is true
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
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. |
/home/configurator/data/logs/ (optional) | Configurator application logs |
/home/eventnative/data/airbyte (optional) | Required for Airbyte connectors support. Mount with |
/var/run/docker.sock (optional) | Required for Airbyte connectors support. Mount to |
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.