Link Search Menu Expand Document

Deploy lakeFS on Docker

Database

lakeFS requires a PostgreSQL database to synchronize actions on your repositories. This section assumes that you already have a PostgreSQL database accessible from where you intend to install lakeFS. You can find instructions for creating the database in the deployment instructions for AWS, Azure and GCP.

Prerequisites

Users that require S3 access using virtual host addressing should configure an S3 Gateway domain.

Installing on Docker

To deploy using Docker, create a yaml configuration file. Here is a minimal example, but you can see the reference for the full list of configurations.

database:
  connection_string: "[DATABASE_CONNECTION_STRING]"
auth:
  encrypt:
    secret_key: "[ENCRYPTION_SECRET_KEY]"
blockstore:
  type: s3
database:
  connection_string: "[DATABASE_CONNECTION_STRING]"
auth:
  encrypt:
    secret_key: "[ENCRYPTION_SECRET_KEY]"
blockstore:
  type: gs
# Uncomment the following lines to give lakeFS access to your buckets using a service account:
# gs:
#   credentials_json: [YOUR SERVICE ACCOUNT JSON STRING]
database:
  connection_string: "postgres://user:pass@<AZURE_POSTGRES_SERVER_NAME>..."
auth:
  encrypt:
    secret_key: "<RANDOM_GENERATED_STRING>"
blockstore:
  type: azure
  azure:
    auth_method: msi # msi for active directory, access-key for access key 
    #  In case you chose to authenticate via access key replace unmark the following rows and insert the values from the previous step 
    #  storage_account: <your storage account>
    #  storage_access_key: <your access key>

Save the configuration file locally as lakefs-config.yaml and run the following command:

docker run \
  --name lakefs \
  -p 8000:8000 \
  -v $(pwd)/lakefs-config.yaml:/etc/lakefs/config.yaml \
  treeverse/lakefs:latest run --config /etc/lakefs/config.yaml

Load balancing

You should have a load balancer direct requests to the lakeFS server. By default, lakeFS operates on port 8000, and exposes a /_health endpoint which you can use for health checks.

Next Steps

Your next step is to prepare your storage. If you already have a storage bucket/container, you are ready to create your first lakeFS repository.