Show HN: Shumai – open-source Frame.io alternative for creative work

Hacker News Top Products

Summary

Shumai is an open-source platform for creative work, serving as an alternative to Frame.io with features like frame-by-frame annotations, secure sharing, access control, and integrated AI capabilities.

Shumai is an open source platform for uploading creative files, managing projects, collecting precise feedback, sharing work, and collaborating with AI agents, all in one simple creative-first workspace.<p>I’ve always liked the product design of Frame.io, and I wanted to build an alternative that feels just as polished, while being open source and easy to self host.<p>You can deploy Shumai with docker compose in just a few minutes. It can also be installed from npm, though you&#x27;ll need to provide your own PostgreSQL instance with the pgvector extension installed.<p>For larger deployments, Shumai supports distributed processing via Temporal, allowing resource intensive tasks such as transcoding to be scaled independently.<p>It&#x27;s still early in development, feel free to try and share any feedback.<p>Demo: <a href="https:&#x2F;&#x2F;staging.shumai.one" rel="nofollow">https:&#x2F;&#x2F;staging.shumai.one</a>
Original Article
View Cached Full Text

Cached at: 06/23/26, 01:43 PM

shumaiOne/shumai

Source: https://github.com/shumaiOne/shumai

Shumai Logo

Shumai

An open-source platform for all your creative work.

Website | Docs | Demo

Shumai App Screenshot

Features

  • S3-Compatible & Local Storage: Securely store and serve your creative assets using a local filesystem or any S3-compatible cloud storage (AWS S3, Cloudflare R2, MinIO, etc.).
  • Frame-by-Frame Annotations & Comments: Give precise feedback using frame-specific drawing tools and timestamped comments directly on video and image assets.
  • Secure Sharing & Collections: Create secure public share links and curated media collections to collaborate with clients and stakeholders.
  • Granular Access Control: Manage workspace permissions using team-level and project-level role-based access controls.
  • Distributed Transcoding via Temporal: Offload resource-heavy video transcoding to a background worker pool orchestrated by Temporal.
  • Custom Asset Metadata: Define and customize dynamic metadata fields tailored to your production pipeline.

Shumai Agent

  • Collaborative AI Chat: Converse with a context-aware AI agent directly within your project workspace.
  • Custom Skills & Tools: Extend the agent’s capabilities by registering custom scripts, tools, and automation skills.
  • Isolated Sandbox Execution: Run agent-submitted scripts securely within a sandboxed environment.
  • AI-Powered Metadata Autofill: Automatically generate tags, descriptions, and custom metadata for new assets using Google Gemini.
  • Semantic Search: Locate assets instantly based on visual or conceptual search queries using vector embeddings.

Installation

Below is a quickstart guide for running Shumai with local storage. For advanced configuration options (including S3-compatible storage and Temporal workflow orchestration), see our Documentation.

Option 1: Docker Compose

Docker Compose is the fastest way to get Shumai running. You do not need to clone the repository or install packages manually. Ensure you have Docker and Docker Compose installed, then follow these steps:

  1. Create and navigate to a new directory for your configuration and data volumes:
    mkdir shumai && cd shumai
    
  2. Download the docker-compose.yaml file:
    curl -o docker-compose.yaml https://raw.githubusercontent.com/shumaiOne/shumai/main/docker-compose/local/docker-compose.yaml
    
  3. Configure Environment Variables (Remote Deployments only): If deploying Shumai to a remote server (e.g., AWS EC2, VPS), edit docker-compose.yaml and add AWS_ENDPOINT_URL_S3 under the environment section, setting it to your server’s public IP address or domain name (e.g., http://12.34.56.78).
  4. Start the services in detached mode:
    docker compose up -d
    
  5. Open your browser and access Shumai at http://localhost:3000 (or http://<your-server-ip>:3000 for remote deployments).

Option 2: Install via NPM / Package Manager

Shumai is published as @shumai-one/shumai on NPM. This option allows you to run Shumai globally or locally.

Step 1: Start PostgreSQL with pgvector

Shumai requires PostgreSQL with the pgvector extension. Start a pre-configured database container using Docker:

docker run --name shumai_postgres \
  -e POSTGRES_USER=shumai \
  -e POSTGRES_PASSWORD=shumai_password \
  -e POSTGRES_DB=shumai_db \
  -p 5432:5432 \
  -d pgvector/pgvector:pg18

Step 2: Create a workspace folder

Create a dedicated directory to store your environment configuration and media files (which are saved in a ./data directory by default):

mkdir shumai && cd shumai

Step 3: Install Platform-Specific Dependencies

Make sure the following system dependencies are installed on your host machine before installing Shumai:

PackageDescriptionUbuntu/DebianFedoraArchmacOS
ffmpegMedia transcoding and metadata extractionsudo apt install -y ffmpegsudo dnf install -y ffmpegsudo pacman -S --noconfirm ffmpegbrew install ffmpeg
bubblewrapSandboxing environment for secure AI agent executionsudo apt install -y bubblewrapsudo dnf install -y bubblewrapsudo pacman -S --noconfirm bubblewrapNOT REQUIRED
socatBidirectional socket relay for sandbox network bridgingsudo apt install -y socatsudo dnf install -y socatsudo pacman -S --noconfirm socatbrew install socat
ripgrepFast search tool for workspace security policiessudo apt install -y ripgrepsudo dnf install -y ripgrepsudo pacman -S --noconfirm ripgrepbrew install ripgrep

Ubuntu 24.04+ Note: These releases restrict unprivileged user namespaces by default. To allow bubblewrap and the sandbox isolation layer to function, disable this restriction:

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

Alternatively, configure an AppArmor profile that grants user namespace creation (userns) privileges to the relevant binaries.

Step 4: Install Shumai globally

Install Shumai globally using your preferred package manager:

# NPM
npm install -g @shumai-one/shumai

# PNPM
pnpm add -g @shumai-one/shumai

# Bun
bun add -g @shumai-one/shumai

Step 5: Configure Environment Variables

Create a .env file in your workspace folder (shumai/) and add the following configuration:

DATABASE_URL=postgresql://shumai:shumai_password@localhost:5432/shumai_db?schema=public
BETTER_AUTH_SECRET=ySxs7DxzHDZBbeeHNPEwBuspYwipBqz5Gk5XdBjNhWw=
STORAGE_BACKEND=local
SHUMAI_SERVER_PORT=3000
AWS_ENDPOINT_URL_S3=http://localhost

If deploying on a remote server, update AWS_ENDPOINT_URL_S3 from http://localhost to your server’s public IP address or domain name.

Step 6: Run Shumai

For Bun Users: Since the published package binaries contain a #!/usr/bin/env node shebang, running the global command directly (e.g., shumai) will execute under Node.js. If you installed with Bun and want to run under the Bun runtime, you must prefix all commands with bun run --bun (e.g., bun run --bun shumai, bun run --bun shumai -d, bun run --bun shumai stop).

Start the application from your workspace folder:

shumai

Alternatively, you can run and manage Shumai in daemon mode:

  • Start in daemon mode:
    shumai -d
    
  • Stop Shumai:
    shumai stop
    
  • Restart Shumai:
    shumai restart
    
  • Show/tail logs:
    shumai logs
    

On startup, Shumai will automatically run database migrations and start the web server at http://localhost:3000.


Option 3: Run from Source (Development)

To set up Shumai locally for development:

  1. Clone the repository and install dependencies:
    git clone https://github.com/shumaiOne/shumai.git
    cd shumai
    bun install
    
  2. Start the pgvector database container (as described in Option 2, Step 1).
  3. Create a .env file at the root of the workspace using the configuration from Option 2, Step 5.
  4. Apply the database schema migrations:
    bun run db:migrate
    
  5. Start the local development server:
    bun run dev
    

Command Line Interface (CLI)

Shumai provides a Command Line Interface (CLI) tool to manage projects, folders, and assets, upload files/folders, and create new versions directly from your terminal.

For more details on installation and usage, see the CLI Readme.

Similar Articles

Framed

Product Hunt

Framed is a tool that turns screenshots, videos, and code into polished visuals, available on Product Hunt.

DeepFrame

Product Hunt

DeepFrame is a newly launched tool focused on ensuring serious security measures before public exposure. It has been posted on Product Hunt for community discussion.

@hank_aibtc: Palmier Pro: The open-source gem that lets Claude/Cursor edit videos directly in the timeline! A native Mac AI video editor, fully open-source (core editor + MCP service, GPLv3), upgrading AI agents from mere chat to actual video editing. Core…

X AI KOLs Timeline

Palmier Pro is an open-source native Mac AI video editor that connects AI agents like Claude and Cursor via MCP, allowing direct timeline editing, rearrangement, and asset organization, with export to professional software. The core editor and MCP service are open-source (GPLv3), and the free core version is available.

heygen-com/hyperframes

GitHub Trending (daily)

HyperFrames is an open-source framework that converts HTML, CSS, and animations into MP4 videos, designed for use by AI coding agents and developers via CLI or integrated skills.