Skip to content

Frontend & BFF (Backend for frontend) for Olake. This includes the UI code and backend code for storing the configuration of sync and orchestrating it.

License

Notifications You must be signed in to change notification settings

datazip-inc/olake-ui

Repository files navigation

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:

    • 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.
  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 "[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)

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>

Contributing

We welcome contributions from everyone!
Please read our Contribution Guide for step-by-step instructions on how to get started.

About

Frontend & BFF (Backend for frontend) for Olake. This includes the UI code and backend code for storing the configuration of sync and orchestrating it.

Resources

License

Contributing

Stars

Watchers

Forks