tablecn Documentation

Data table and data grid components built with shadcn/ui, featuring sorting, filtering, pagination, infinite scrolling, and real-time collaboration.

RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy tablecn on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name tablecn --restart always postgres:17.4
Configured Services & Ports
โš™๏ธ postgres
image: postgres:17.4
๐Ÿ”Œ Ports: ${DATABASE_PORT}:5432
docker-compose.yml
yaml (docker-compose.yml)
services:
  postgres:
    image: postgres:17.4
    restart: always
    ports:
      - ${DATABASE_PORT}:5432
    environment:
      - POSTGRES_PASSWORD=${DATABASE_PASSWORD}
      - POSTGRES_USER=${DATABASE_USER}
      - POSTGRES_DB=${DATABASE_NAME}
    volumes:
      - ./docker-data/db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${DATABASE_USER} -d ${DATABASE_NAME}"]
      interval: 10s
      timeout: 5s
      retries: 5

Technical Documentation: sadmann7/tablecn

โ„น๏ธ Provenance: Standard README.md ยท CodeWiki Reference ยท Recency: Active (< 180 days)

[tablecn](https://tablecn.com)

Data table and data grid components built with shadcn/ui, featuring sorting, filtering, pagination, infinite scrolling, and real-time collaboration.

Documentation

See the documentation to get started.

Tech Stack

Features

  • Server-side pagination, sorting, and filtering
  • Customizable columns
  • Auto generated filters from column definitions
  • Notion/Airtable like advanced filtering
  • Linear like filter menu for command palette filtering
  • Action bar on row selection
  • Infinite scrolling with virtualization
  • Real-time collaboration

Running Locally

Quick Setup (with Docker)

  1. Clone the repository

    bash
    git clone https://github.com/sadmann7/tablecn
    cd tablecn
  2. Copy the environment variables

    bash
    cp .env.example .env
  3. Run the setup

    bash
    pnpm ollie

    This installs dependencies, starts the Docker PostgreSQL instance, pushes the schema, and seeds sample data.

Manual Setup

  1. Clone the repository

    bash
    git clone https://github.com/sadmann7/tablecn
    cd tablecn
  2. Install dependencies

    bash
    pnpm install
  3. Set up environment variables

    bash
    cp .env.example .env

    Update .env with your database credentials.

  4. Start the database and dev server

    bash
    pnpm db:start   # start the PostgreSQL container
    pnpm db:setup   # push schema and seed data
    pnpm dev        # start the Next.js dev server

Multiplayer

To run the multiplayer demo locally:

bash
pnpm dev:multiplayer

This starts the Next.js dev server and the PartyServer worker (via wrangler dev) concurrently.

Deployment

Follow the deployment guides for Vercel, Netlify, and Docker.

The multiplayer demo runs on PartyServer as a Cloudflare Worker with Durable Objects, deployed separately to your Cloudflare account:

bash
pnpm deploy:multiplayer

Set NEXT_PUBLIC_PARTYKIT_HOST in your deployment environment variables to the worker's host (for example tablecn.<your-subdomain>.workers.dev) after deploying.

Credits

  • shadcn/ui - For the initial implementation of the data table.

--- METRICS ---