in

Nimtable: Open-source web UI to browse and manage Apache Iceberg tables

Nimtable: Open-source web UI to browse and manage Apache Iceberg tables

Nimtable: The Control Plane for Apache Iceberg™

A lightweight, easy-to-use platform to monitor, optimize, and govern your Iceberg-based lakehouse.

Overview

Nimtable helps you easily manage and explore Apache Iceberg catalogs. With a web-based platform designed for clarity and simplicity, Nimtable makes it easy to browse tables, run queries, analyze file distributions, and optimize storage layouts.

Key Features

🌟 Multi-Catalog Support

Connect to REST Catalog, AWS Glue, AWS S3 Tables, and PostgreSQL (via JDBC).

🗄️ Object Store Integration

Seamlessly work with S3 and S3-compatible stores like Cloudflare R2, Minio, and more.

🔍 Table Exploration

Inspect table schemas, partitions, and snapshots with ease.

⚡ Interactive Querying

Run SQL queries directly from the platform.

🤖 AI Copilot

Get intelligent assistance for Iceberg table exploration.

📄 AI Summary

Automatically generate summaries of your Iceberg tables.

📊 File Distribution Analysis

Visualize how data files are distributed across partitions and snapshots.

🔧 Table Optimization

Run file compaction and manage snapshot expiration.

🔌 REST Catalog Compatibility

Serve as a standard Iceberg REST Catalog, adapting any underlying catalog to a RESTful API.

Architecture

Nimtable acts as a bridge between users and catalog servers, providing both an interactive web interface and a standard REST Catalog API layer.

Quick Start

The fastest way to get started is using Docker:

cd docker
docker compose up -d
Access the UI at http://localhost:3000.

Default Admin Login

Username: admin
Password: admin

Managing the Service (Optional)

View logs:

Stop the service:

Development

See HACKING.md for details on how to hack on Nimtable.

Configuration

Nimtable can be configured in two ways:

Web UI: Easiest for new users – just log in and click “Create Catalog.”
YAML Configuration File: Recommended for advanced users or automated deployments.

1. Configuration File Location

By default, Nimtable looks for config.yaml in the working directory.
Docker: Mount your config file to /app/config.yaml inside the container.
See docker/docker-compose.yml for an example of mounting configuration.

2. Minimal Configuration Example

server:
port: 8182
host: 0.0.0.0
admin:
username: admin
password: admin
database:
url: jdbc:postgresql://localhost:5432/nimtable_db
username: nimtable_user
password: password

Important: Change the default admin password after your first login for security.

3. Catalog Configuration

You can add catalogs in two ways:

Web UI:

After logging in, click “Create Catalog” and follow the prompts. Catalogs added via the UI are stored in the internal database and do not modify config.yaml.

YAML File:

Pre-configure catalogs by adding them to your config.yaml.

See backend/config.yaml for full examples and templates.

Supported Catalog Types:

REST
AWS Glue
S3 Tables
PostgreSQL (via JDBC)

Each catalog type may require specific fields. Refer to the sample config for details.

4. AWS Credential Configuration

If you use AWS Glue or S3, you can provide credentials in two ways:

Environment Variables:

# docker-compose.yml
services:
nimtable:
environment:
– AWS_REGION=us-east-1
– AWS_ACCESS_KEY_ID=your-access-key
– AWS_SECRET_ACCESS_KEY=your-secret-key

Mounting AWS Credentials File:

# docker-compose.yml
services:
nimtable:
volumes:
– ~/.aws/credentials:/root/.aws/credentials:ro

Roadmap

🔧 Optimized Compaction: Advanced compaction strategies and scheduling
📊 Monitoring & Analytics: Comprehensive dashboard and insights
💾 Caching: Database integration and metadata caching
⚡ Query Engine Integration: Support for multiple query engines
📋 Metadata Management: Enhanced snapshot, schema and partition management
🔐 Security & Access Control: RBAC and fine-grained permissions
🔌 API & Integration: REST API support and authentication
🔄 Data Lineage: Table and column-level lineage tracking
🤖 Better AI Copilot Support: Enhanced capabilities for AI agent.
🏢 Catalog & Warehouse Integration: Support for various storage backends

For detailed roadmap items and progress tracking, see Roadmap.

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the Apache License 2.0 – see the LICENSE file for details.

Report

What do you think?

Newbie

Written by Mr Viral

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings

Playback: Reliving the Wild Days of Beijing Indie Music

Playback: Reliving the Wild Days of Beijing Indie Music

DeepSeek App Faces Ban in Germany for Illegal Transfer of User Data

DeepSeek App Faces Ban in Germany for Illegal Transfer of User Data