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 Hacktoberfest 2025

Overview

Olake-UI offers an intuitive web interface to configure, monitor, and manage your data replication jobs.

Running with Docker Compose

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.

Prerequisites

  • Docker installed and running (Docker Desktop recommended for Mac/Windows)
  • Docker Compose (comes with Docker Desktop)
  • Make sure port 8000 is available, as OLake UI is exposed on that port.

Quick Start

  1. One-Command Setup:
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose.yml | docker compose -f - up -d
  1. Access the services:

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>

Updating OLake UI Version

To update OLake UI to the latest version, use the following command:

curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose.yml | docker compose -f - down && \
curl -sSL https://raw.githubusercontent.com/datazip-inc/olake-ui/master/docker-compose.yml | docker compose -f - up -d

Note: Your data and configurations will be preserved as they are stored in persistent volumes and the olake-data directory.

Contributing

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