Skip to content

andersmyrmel/open-studio

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Open-Studio

A lightweight, self-hosted PostgreSQL UI inspired by Supabase Studio.

Open-Studio extracts and refactors Supabase Studio's powerful database editor and query interface into a standalone local web application that connects directly to any PostgreSQL instance—no authentication, storage, or cloud dependencies required.

Inspiration

This project was inspired by Simon Høiberg's tweet about the need for a local-first PostgreSQL UI tool.

Features

  • Database Editor: Browse tables, schemas, and run queries directly
  • Query Interface: Execute SQL queries with a clean, intuitive interface
  • Local-First: Runs entirely on your machine, no cloud required
  • Docker-Ready: Simple deployment with docker-compose up
  • Direct PostgreSQL Connection: Connect to any PostgreSQL instance via standard connection string

About This Extraction

Open-Studio is a standalone implementation inspired by Supabase Studio's database editor. Due to Studio's tight integration with Supabase's cloud infrastructure, internal monorepo packages, and authentication systems, we've created a standalone app using Studio's core libraries:

  • Monaco Editor - Professional SQL editing experience
  • TanStack Query & Table - Efficient data management
  • Direct PostgreSQL - Using node-postgres (pg) for database connectivity
  • No Cloud Dependencies - Fully self-contained

For detailed information about the extraction approach, see SETUP.md.

Quick Start

Using Docker Compose (Recommended)

  1. Clone the repository:
git clone https://github.com/andersmyrmel/open-studio.git
cd open-studio
  1. Create a .env file with your PostgreSQL connection:
DATABASE_URL=postgresql://user:password@localhost:5432/mydb
PORT=3000
  1. Start the application:
docker-compose up
  1. Open your browser to http://localhost:8080

Local Development

⚠️ Important: Use the standalone package.json:

cp package-open-studio.json package.json
npm install
# or
pnpm install
  1. Set up your .env file (copy from .env.example):
cp .env.example .env
  1. Run the development server:
npm run dev
# or
pnpm dev
  1. Open http://localhost:3000

Docker Compose Example

version: '3.8'

services:
  open-studio:
    build: .
    ports:
      - "8080:3000"
    environment:
      - DATABASE_URL=postgresql://user:password@host.docker.internal:5432/mydb
      - PORT=3000
    restart: unless-stopped

Configuration

Open-Studio uses environment variables for configuration:

Variable Description Default
DATABASE_URL PostgreSQL connection string Required
PORT Port for the web server 3000

Architecture

For detailed information about the technical architecture, see ARCHITECTURE.md.

Development Roadmap

See ROADMAP.md for the project's development roadmap and planned features.

Implementation Plan

See PLAN.md for the detailed implementation plan.

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

License

Open-Studio is licensed under the Apache 2.0 License. See LICENSE for details.

Credits

Differences from Supabase

Open-Studio is a focused extraction of Supabase Studio's database UI. We've removed:

  • Authentication and user management
  • Storage and file management
  • Realtime subscriptions
  • Cloud hosting dependencies
  • Multi-project management
  • API key management

What remains is a clean, local-first PostgreSQL UI perfect for local development and self-hosted deployments.

About

Open-source PostgreSQL UI, forked from Supabase Studio.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages

  • TypeScript 96.9%
  • JavaScript 1.4%
  • CSS 1.1%
  • Other 0.6%