This guide shows you how to deploy Feast using Docker Compose. Docker Compose allows you to explore the functionality provided by Feast while requiring only minimal infrastructure.
This guide includes the following containerized components:
​A complete Feast deployment​
Feast Core with Postgres
Feast Online Serving with Redis.
Feast Job Service
A Jupyter Notebook Server with built in Feast example(s). For demo purposes only.
A Kafka cluster for testing streaming ingestion. For demo purposes only.
​Docker Compose​
Clone the latest stable version of Feast from the Feast repository:
git clone https://github.com/feast-dev/feast.gitcd feast/infra/docker-compose
Create a new configuration file:
cp .env.sample .env
Start Feast with Docker Compose:
docker-compose pull && docker-compose up -d
Wait until all all containers are in a running state:
docker-compose ps
You can now connect to the bundled Jupyter Notebook Server running at localhost:8888
and follow the example Jupyter notebook.
Please ensure that the following ports are available on your host machine:
6565
6566
8888
9094
5432
If a port conflict cannot be resolved, you can modify the port mappings in the provided docker-compose.yml file to use different ports on the host.
If some of the containers continue to restart, or you are unable to access a service, inspect the logs using the following command:
docker-compose logs -f -t
If you are unable to resolve the problem, visit GitHub to create an issue.
The Feast Docker Compose setup can be configured by modifying properties in your .env
file.
To access Google Cloud Storage as a data source, the Docker Compose installation requires access to a GCP service account.
Create a new service account and save a JSON key.
Grant the service account access to your bucket(s).
Copy the service account to the path you have configured in .env
under GCP_SERVICE_ACCOUNT
.
Restart your Docker Compose setup of Feast.