This repository contains the Docker images for the following Snowplow components:
They are published in the snowplow-docker-registry.bintray.io docker registry.
You can pull the images from the registry directly:
# Scala Stream Collector image
docker pull snowplow-docker-registry.bintray.io/snowplow/scala-stream-collector:0.12.0
# Stream Enrich image
docker pull snowplow-docker-registry.bintray.io/snowplow/stream-enrich:0.13.0
# Elasticsearch Loader image
docker pull snowplow-docker-registry.bintray.io/snowplow/elasticsearch-loader:0.10.1
# S3 Loader image
docker pull snowplow-docker-registry.bintray.io/snowplow/s3-loader:0.6.0Alternatively, you can build them yourself:
# All images are based on the base image
docker pull snowplow-docker-registry.bintray.io/snowplow/base:0.1.0
# Scala Stream Collector image
docker build -t snowplow/scala-stream-collector:0.12.0 scala-stream-collector/0.12.0
# Stream Enrich image
docker build -t snowplow/stream-enrich:0.13.0 stream-enrich/0.13.0
# Elasticsearch Loader image
docker build -t snowplow/elasticsearch-loader:0.10.1 elasticsearch-loader/0.10.1
# S3 Loader image
docker build -t snowplow/s3-loader:0.6.0 s3-loader/0.6.0Create your own config file filling it according to your setup, you can find examples at the following locations:
- Scala Stream Collector configuration
- Stream Enrich configuration
- Elasticsearch Loader configuration
- S3 Loader configuration
Next, you can run a container for each component by mounting your configuration directory:
# Scala Stream Collector container
docker run \
-v $PWD/scala-stream-collector-config:/snowplow/config \
snowplow/scala-stream-collector:0.12.0 \ # if you have built the image
# snowplow-docker-registry.bintray.io/snowplow/scala-stream-collector:0.12.0 if you have pulled the image
--config /snowplow/config/config.hocon
# Stream Enrich
docker run \
-v $PWD/stream-enrich-config:/snowplow/config \
snowplow/stream-enrich:0.13.0 \ # if you have built the image
# snowplow-docker-registry.bintray.io/snowplow/stream-enrich:0.13.0 if you have pulled the image
--config /snowplow/config/config.hocon \
--resolver file:/snowplow/config/resolver.json \
--enrichments file:/snowplow/config/enrichments/ \
--force-ip-lookups-download
# Elasticsearch Loader
docker run \
-v $PWD/elasticsearch-loader-config:/snowplow/config \
snowplow/elasticsearch-loader:0.10.1 \ # if you have built the image
# snowplow-docker-registry.bintray.io/snowplow/elasticsearch-loader:0.10.1 if you have pulled the image
--config /snowplow/config/config.hocon
# S3 Loader
docker run \
-v $PWD/s3-loader-config:/snowplow/config \
snowplow/s3-loader:0.6.0 \ # if you have built the image
# snowplow-docker-registry.bintray.io/snowplow/s3-loader:0.6.0 if you have pulled the image
--config /snowplow/config/config.hoconYou can find more information in the readme for each image:
There is also a Docker Compose example in the example folder.
| Technical Docs | Setup Guide | Roadmap & Contributing |
|---|---|---|
![]() |
![]() |
![]() |
| Technical Docs | Setup Guide | coming soon |
Copyright 2017-2017 Snowplow Analytics Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.



