OLake Go enables real-time data ingestion from databases, S3, and Kafka into Apache Iceberg.
OLake Fusion is a table management system for Apache Iceberg, helping teams to optimize performance and reduce storage costs.
Visit olake.io/docs for the full documentation, and benchmarks
OLake-UI offers an intuitive web interface to configure, monitor, and manage your data replication jobs.
This Docker Compose setup provides a comprehensive environment(OLake UI, Temporal worker, Temporal service, and dependencies) for demonstrating and exploring OLake's capabilities. This is the recommended way to get started for local development or evaluation.
- Docker installed and running (Docker Desktop recommended for Mac/Windows)
- Docker Compose (comes with Docker Desktop)
- Make sure port
8000is available, as OLake UI is exposed on that port.
-
One-Command Setup:
Choose the setup that matches your use case:
Ingestion only
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose-v1.yml | docker compose -f - up -dIngestion and Maintenance
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose-v1.yml | ENABLE_OPTIMIZATION="true" docker compose --profile fusion -f - up -d
-
Access the services:
- OLake UI: http://localhost:8000
- Default login: Username:
admin, Password:password
Custom Admin User:
The stack automatically creates an initial admin user on first startup. To change the default credentials, edit the x-signup-defaults section in docker-compose-v1.yml:
x-signup-defaults:
username: &defaultUsername "your-custom-username"
password: &defaultPassword "your-secure-password"
email: &defaultEmail "[email protected]"Custom Data Directory:
By default, data is stored in ${PWD}/olake-data directory. To use a different location, edit the x-app-defaults section in docker-compose-v1.yml:
x-app-defaults:
host_persistence_path: &hostPersistencePath /your/host/pathMake sure the directory exists and is writable.
Encryption Modes:
Configure encryption in docker-compose-v1.yml:
x-encryption:
# 1. For AWS KMS (starts with 'arn:aws:kms:'):
key: &encryptionKey "arn:aws:kms:..."
# 2. For local AES-256 (any other non-empty string):
# key: &encryptionKey "secret-key" # Auto-hashed to 256-bit key
# 3. For no encryption (not recommended for production):
# key: &encryptionKey ""- KMS: Uses AWS Key Management Service for encryption/decryption
- Local: Uses AES-256-GCM with key derived from your passphrase
- Empty: No encryption (for development only)
- If there are any file permission error, ensure the host persistence/config directory is writable by Docker.
- For complete logs, use:
docker-compose logs -f
- For logs specific to a service, use:
docker compose logs -f <service_name>
To update OLake UI to the latest version, use the command for your setup:
Ingestion only
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose-v1.yml | docker compose -f - down && \
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose-v1.yml | docker compose -f - up -dIngestion and Maintenance
docker ps -aq --filter name=fusion-cluster \
| xargs -r docker rm -f; \
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose-v1.yml \
| docker compose --profile fusion -f - down && \
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose-v1.yml \
| ENABLE_OPTIMIZATION="true" docker compose --profile fusion -f - up -dNote: Your data and configurations will be preserved as they are stored in persistent volumes and the olake-data directory.
To upgrade from legacy docker-compose.yml that was used before Jan 30th 2026:
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose-v1.yml | docker compose -f - down && \
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose-v1.yml | docker compose -f - up -dWe ❤️ contributions of all sizes and appreciate every improvement to the project. As always, thanks to our amazing contributors!
- To contribute to OLake-UI visit CONTRIBUTING.md
- To contribute to OLake Go Repo, visit OLake Go Repository.
- To contribute to OLake Fusion Repo, visit OLake Fusion Repository.
- To contribute to OLake website and documentation, visit OLake Docs Repository.