Skip to content

Latest commit

 

History

History
135 lines (94 loc) · 4.8 KB

File metadata and controls

135 lines (94 loc) · 4.8 KB

Olake-UI

olake
OLake

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

GitHub issues Documentation slack

Overview

Olake-UI is built on top of Olake CLI to execute commands via UI.

Contributing

We ❤️ contributions big or small check our Bounty Program. As always, thanks to our amazing contributors!.

Running with Docker Compose

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.

Prerequisites

  • Docker installed and running (Docker Desktop recommended for Mac/Windows)
  • Docker Compose (comes with Docker Desktop)

Quick Start

  1. Clone the repository:

    git clone https://github.com/datazip-inc/olake-ui.git
    cd olake-ui
  2. Start all services:

    docker compose up -d
  3. Check that everything is running:

    docker compose ps
  4. Access the services:

  5. Stopping the stack:

    docker compose down

Notes

  • 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.

Optional Configuration

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 "your-email@example.com"

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)

Troubleshooting

  • 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>