---
title: "Deploy Lakekeeper Iceberg catalog"
description: "Secure Apache Iceberg catalog with PostgreSQL and Railway object storage."
category: "Storage"
url: https://railway.com/deploy/lakekeeper-iceberg-catalog
---

# Deploy Lakekeeper Iceberg catalog

Secure Apache Iceberg catalog with PostgreSQL and Railway object storage.

**[Deploy Lakekeeper Iceberg catalog on Railway](https://railway.com/template/lakekeeper-iceberg-catalog)**

- **Creator:** Anton Orel's Projects
- **Category:** Storage
- **Total deploys:** 1

## Template content

### Lakekeeper

- **Image:** quay.io/lakekeeper/catalog:v0.13.1@sha256:4749ee267a4524502f9786e3f7eb8d34c8fe2a7b316d232bab80ca47563d7c68
- **Start command:** `/home/nonroot/lakekeeper serve`
- **Health check:** /health

### Lakekeeper PostgreSQL

- **Image:** postgres:17-alpine@sha256:742f40ea20b9ff2ff31db5458d127452988a2164df9e17441e191f3b72252193

### Lakekeeper Gateway

- **Image:** caddy:2.10-alpine@sha256:4c6e91c6ed0e2fa03efd5b44747b625fec79bc9cd06ac5235a779726618e530d
- **Start command:** `/bin/sh -ec 'password_hash="$(caddy hash-password --plaintext "$LAKEKEEPER_PASSWORD")"; printf '"'"':8080 {\n handle /healthz {\n  respond "ok" 200\n }\n handle {\n  basic_auth {\n   %s %s\n  }\n  reverse_proxy %s\n }\n}\n'"'"' "$LAKEKEEPER_USERNAME" "$password_hash" "$LAKEKEEPER_UPSTREAM" >/tmp/Caddyfile; exec caddy run --config /tmp/Caddyfile --adapter caddyfile'`
- **Health check:** /healthz
- **Public domain:** Yes

## Buckets

- **Lakekeeper Warehouse**

## Documentation

# Deploy and Host Lakekeeper on Railway

Lakekeeper provides a vendor-neutral Apache Iceberg REST catalog with a browser UI and management API. This template adds persistent PostgreSQL metadata, Railway Bucket warehouse storage, and a generated Basic Auth gateway.

## About Hosting Lakekeeper

The catalog and database stay private while Railway exposes only the authenticated Caddy gateway. The deployment starts by applying Lakekeeper's PostgreSQL migrations, then serves the UI, management API, and Iceberg REST protocol on one private listener.

## Why Deploy Lakekeeper on Railway

Railway provisions the catalog, database volume, S3-compatible Bucket, private networking, public TLS, and generated credentials together. You still explicitly bootstrap Lakekeeper and create the first warehouse, so acceptance and storage configuration remain visible choices.

## Common Use Cases

- Give Spark, PyIceberg, Trino, or Flink a shared Iceberg REST catalog.
- Evaluate Iceberg table workflows without operating a separate catalog database and object store.
- Host a trusted small-team data catalog behind one shared gateway credential.

## Dependencies for Lakekeeper Hosting

### Deployment Dependencies

- Lakekeeper `0.13.1`
- PostgreSQL `17`
- Caddy `2.10`
- Railway Bucket with S3-compatible access


## Similar templates

- [Garage S3 Storage](https://railway.com/deploy/garage-s3-storage) — Ultra-light S3 server: fast, open-source, plug-and-play.
- [Redis](https://railway.com/deploy/redis-1) — Self Host Latest Redis with Railway
- [EasyImg](https://railway.com/deploy/easyimg) — Simple self-hostable Nuxt.js personal image hosting system.

Open this page in a browser: https://railway.com/deploy/lakekeeper-iceberg-catalog
