Run lakeFS
Note: The quickstart section is for learning purposes. The installations described in this section will not persist your data.
For a production suitable deployment, deploy lakeFS on your cloud.
Running locally with Docker
To run a local lakeFS instance using Docker:
-
Ensure that you have Docker installed on your computer.
-
Run the following command in your terminal:
docker run --pull always -p 8000:8000 treeverse/lakefs run --local-settings
-
Check your installation by opening http://127.0.0.1:8000/setup in your web browser.
-
Create your first repository in lakeFS.
Learn more by following this video tutorial:
Running locally with Docker, connected to an object store
You can alternatively connect a local lakeFS docker container to your cloud storage:
To modify the local deployment, for example, in order to use your local lakeFS against S3 storage (as opposed to the local storage), run the command with local parameters:
docker run --pull always -p 8000:8000 \
-e LAKEFS_BLOCKSTORE_TYPE='s3' \
-e AWS_ACCESS_KEY_ID='YourAccessKeyValue' \
-e AWS_SECRET_ACCESS_KEY='YourSecretKeyValue' \
treeverse/lakefs run --local-settings
To modify the local deployment in order to use your local lakeFS against Azure Blob Storage (as opposed to the local storage), run the command with local parameters:
docker run --pull always -p 8000:8000 \
-e LAKEFS_BLOCKSTORE_TYPE='azure' \
-e LAKEFS_BLOCKSTORE_AZURE_STORAGE_ACCOUNT='YourAzureStorageAccountName' \
-e LAKEFS_BLOCKSTORE_AZURE_STORAGE_ACCESS_KEY='YourAzureStorageAccessKey' \
treeverse/lakefs run --local-settings
To modify the local deployment in order to use your local lakeFS against Google Cloud Storage (as opposed to the local storage), run the command with local parameters:
docker run --pull always -p 8000:8000 \
-e LAKEFS_BLOCKSTORE_TYPE='gs' \
-e LAKEFS_BLOCKSTORE_GS_CREDENTIALS_JSON='YourGoogleServiceAccountKeyJSON' \
treeverse/lakefs run --local-settings
where you will replace YourGoogleServiceAccountKeyJSON
with JSON string that contains your Google service account key.
If you want to use the JSON file that contains your Google service account key instead of JSON string (as in the previous command) then go to the directory where JSON file is stored and run the command with local parameters:
docker run --pull always -p 8000:8000 \
-v $PWD:/myfiles \
-e LAKEFS_BLOCKSTORE_TYPE='gs' \
-e LAKEFS_BLOCKSTORE_GS_CREDENTIALS_FILE='/myfiles/YourGoogleServiceAccountKey.json' \
treeverse/lakefs run --local-settings
This command will mount your present working directory (PWD) within the container and will read the JSON file from your PWD.
To use lakeFS with MinIO (or other S3-compatible object storage), use the following example:
docker run --pull always -p 8000:8000 \
-e LAKEFS_BLOCKSTORE_TYPE='s3' \
-e LAKEFS_BLOCKSTORE_S3_FORCE_PATH_STYLE='true' \
-e LAKEFS_BLOCKSTORE_S3_ENDPOINT='http://<minio_endpoint>' \
-e LAKEFS_BLOCKSTORE_S3_DISCOVER_BUCKET_REGION='false' \
-e LAKEFS_BLOCKSTORE_S3_CREDENTIALS_ACCESS_KEY_ID='<minio_access_key>' \
-e LAKEFS_BLOCKSTORE_S3_CREDENTIALS_SECRET_ACCESS_KEY='<minio_secret_key>' \
treeverse/lakefs run --local-settings
Other methods
You can try lakeFS:
- With the lakeFS Playground.
- On Kubernetes.
- By running the binary directly.
Feeling ready for production? Deploy lakeFS on your cloud account.
Next steps
Now that your lakeFS is running, try creating a repository.