> ## Documentation Index
> Fetch the complete documentation index at: https://docs.risingwave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get started with Nimtable

> Deploy Nimtable, complete first login, and connect your first Iceberg catalog.

## Prerequisites

* Docker and Docker Compose
* Network access to your Iceberg storage and catalog backends (for example, S3 and AWS Glue)
* PostgreSQL for Nimtable metadata if you override the default Docker Compose database

## Deploy with Docker Compose

```bash theme={null}
git clone https://github.com/nimtable/nimtable.git
cd nimtable/docker
docker compose up -d
```

* UI defaults to `http://localhost:3000`
* REST Catalog API defaults to port `8182` (configurable)

## First login

* Open `http://localhost:3000/login`
* Default admin username/password: `admin` / `admin`
* Change the password immediately in the UI; afterward, environment variables no longer override it

## First-run catalog wizard

On first login you are prompted to register a catalog and warehouse. Available templates:

* Custom
* REST + S3
* JDBC + S3
* S3 Tables
* Glue + S3
* Load from nimtable `config.yaml`
* Load from Spark CLI parameters
* Load from `spark-defaults.conf`

For REST + S3, supply:

* Catalog type and URI for the REST endpoint
* Warehouse path (for example, `s3://warehouse/wh/`)
* S3 properties such as `io-impl`, `s3.endpoint`, `s3.access-key-id`, `s3.secret-access-key`, `s3.region`, `s3.path-style-access`

Catalogs created in the wizard are stored in Nimtable’s internal database.

## Configure via file (optional)

Mount `config.yaml` to `/app/config.yaml` in Docker to pre-provision catalogs.

```yaml Example config.yaml for Nimtable theme={null}
server:
  port: 8182
  host: 0.0.0.0
database:
  url: jdbc:postgresql://localhost:5432/nimtable_db
  username: nimtable_user
  password: password
```

Use the file for repeatable environments; keep secrets out of the image by passing them via environment variables or mounted credentials.

## Connect RisingWave to Nimtable

Set `catalog.type = 'rest'` and point `catalog.uri` to Nimtable’s REST endpoint when creating an Iceberg source, sink, or connection in RisingWave.

```sql Example: Connect RisingWave to Nimtable REST catalog theme={null}
CREATE CONNECTION nimtable_rest WITH (
  connector = 'iceberg',
  catalog.type = 'rest',
  catalog.uri = 'http://nimtable:8182',
  warehouse.path = 's3://my-warehouse/',
  database.name = 'analytics',
  table.name = 'events'
);
```

* Adjust `catalog.uri` to the host:port reachable from RisingWave
* Provide storage credentials (for example, `s3.region`, `s3.access.key`, `s3.secret.key`) or enable vended credentials if supported by your REST catalog setup.
