Fastest open-source tool for replicating Databases to Apache Iceberg or Data Lakehouse. ⚡ Efficient, quick and scalable data ingestion for real-time analytics. Starting with MongoDB. Visit olake.io/docs for the full documentation, and benchmarks
Olake-UI is built on top of Olake CLI to execute commands via UI.
We ❤️ contributions big or small check our Bounty Program. As always, thanks to our amazing contributors!.
- To contribute to Olake-UI visit CONTRIBUTING.md
- To contribute to Olake Main Repo, visit OLake Main Repository.
- To contribute to OLake website and documentation (olake.io), visit [Olake Docs Repository][https://github.com/datazip-inc/olake-docs/].
This Docker Compose setup provides a comprehensive environment(UI, backend, Temporal worker, Temporal services, 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)
-
Clone the repository:
git clone https://github.com/datazip-inc/olake-ui.git cd olake-ui
-
Start all services:
docker compose up -d
-
Check that everything is running:
docker compose ps
-
Access the services:
- Frontend UI: http://localhost:8000
- Default login: Username:
admin
, Password:password
- Make sure port
8000
is exposed and accessible, as both the frontend and backend run on this single port.
-
Stopping the stack:
docker compose down
- On first run, docker will pull all required images.
- Data and configuration are persisted in the directory set in
docker-compose.yml
. - The Temporal worker requires access to the Docker socket to launch containers for jobs. This is handled by the volume mount in the compose file.
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.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.yml
:
x-app-defaults:
host_persistence_path: &hostPersistencePath /your/host/path
Make sure the directory exists and is writable.
Encryption Modes:
Configure encryption in docker-compose.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>
We welcome contributions from everyone!
Please read our Contribution Guide for step-by-step instructions on how to get started.