selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Dim0 logo

Self-host Dim0

v0.3.101

Open-source AI canvas with notes, mini-apps, agents

BetaOpen SourceMIT
Updated2 weeks ago
LanguageTypescript
Setup difficultyModerate
MobileResponsive
ThemeDark mode
Stars
191
Port
8081 (Backend API)
Requires
PostgreSQL, Qdrant, Redis
Docker
winlp4ever/dim0-backend
Install with Docker Compose
Dim0 board showing nested research, notes, code, charts, and AI agent on one canvasMain screen showing a single board with notes, mind map, mini-apps, documents, and agentRich notes with math, code, and sub-pages edited in placeInteractive mini-app (React app) generated by the agent and running on the boardMind map created from shapes and notesTheme showcase showing available light and dark variantsAgent flow: ask a question on the board, get a visual answer as mini-app, mindmap, or noteAI agent produced a DeepSeek vs GLM benchmark report, news brief, and mindmap as connected nodesBoard mixing code snippets, math formula, hand-drawn shapes, icons, images, and nested folders as nodes

What is Dim0?

Dim0 is an open-source, real-time collaborative AI canvas that unifies notes, whiteboarding, code sandboxes, and AI agents on a single infinite board. The board holds rich text notes with math and code, hand-drawn and geometric shapes, interactive mini-apps (React apps generated by the agent), uploaded documents for retrieval, nested boards, and presentation frames. A board-aware agent can read the entire canvas, search the web, run code in sandboxes, and drop results back as editable nodes. Real-time multiplayer uses operational transforms for conflict-free sync with live cursors and shared agents. Users bring their own model keys from various providers via OpenRouter or native keys. The project is MIT-licensed and self-hostable via Docker Compose (with PostgreSQL, Qdrant, Redis), a native desktop app (Tauri, macOS/Linux/Windows), or from source. Eight themes include light and dark variants. The cloud version at app.dim0.net offers a free tier with daily/monthly AI request limits and paid plans; self-hosting has no caps.

Should you self-host Dim0?

Dim0 scores 49/100 on selfhost.directory (how scoring works) and ranks #53 of 125 in AI. It has 191 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v0.3.101, came out on 13 October 2026. New versions land roughly every 3 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is openhands (87/100, 92 086 stars). It scores higher overall, so compare the two before you pick. See Dim0 vs openhands side by side.

Features

  • Board-aware AI agent
  • Bring your own model
  • Code sandboxes
  • Data Export
  • Desktop App
  • Document RAG
  • Infinite canvas
  • Mind mapping
  • Mini-apps
  • Nested boards
  • Presentation Mode
  • Real-Time Collaboration
  • Rich notes
  • Whiteboard shapes

Dim0 README

How to install Dim0

Install Dim0 with Docker Compose

Docker + Docker Compose
Environment variables
OPENAI_API_KEY, OPENROUTER_API_KEY, LINKUP_API_KEY, plus optional provider keys and service settings

git clone https://github.com/vcmf/dim0.git && cd dim0 cp .env.sample .env # then set the three keys below make pull && make run # pulls latest images and starts everything

Requires Docker and Docker Compose. Set OPENAI_API_KEY, OPENROUTER_API_KEY, LINKUP_API_KEY in .env before running.

How to configure Dim0

  • ANTHROPIC_API_KEYAnthropic Claude API key

    Anthropic Claude API key

  • API_ORIGINhttp://localhost:${API_PORT}API origin URL

    API origin URL

  • API_PORT8081Backend API port

    Backend API port

  • APP_BASE_URLhttp://localhost:${APP_PORT}WebUI origin used to build links in outgoing emails

    WebUI origin used to build links in outgoing emails

  • APP_PORT5175Frontend port

    Frontend port

  • DAYTONA_API_KEYDaytona API key for code execution sandboxes

    Daytona API key for code execution sandboxes

  • DAYTONA_API_URLDaytona API URL

    Daytona API URL

  • DAYTONA_TARGETDaytona target

    Daytona target

  • EMAIL_VERIFICATION_ENABLEDfalseEnable email verification flow

    Enable email verification flow

    values: true/false

  • GEMINI_API_KEYGoogle Gemini API key

    Google Gemini API key

  • GOOGLE_CLIENT_IDGoogle OAuth client ID for web app

    Google OAuth client ID for web app

  • GOOGLE_CONNECT_ENABLEDfalseEnable Google sign-in

    Enable Google sign-in

    values: true/false

  • GOOGLE_DESKTOP_CLIENT_IDGoogle OAuth client ID for desktop app

    Google OAuth client ID for desktop app

  • GOOGLE_DESKTOP_CLIENT_SECRETGoogle OAuth client secret for desktop app

    Google OAuth client secret for desktop app

  • JWT_SECRET_KEYBackend API JWT authentication secret

    Backend API JWT authentication secret

  • LINKUP_API_KEYWeb search & page fetch

    Web search & page fetch

  • MINI_APP_PORT5176Mini-app sandbox port

    Mini-app sandbox port

  • MISTRAL_API_KEYMistral API key

    Mistral API key

  • OPENAI_AGENTS_DISABLE_TRACINGDisable OpenAI Agents tracing

    Disable OpenAI Agents tracing

  • OPENAI_AGENTS_DONT_LOG_MODEL_DATADon't log model data in OpenAI Agents

    Don't log model data in OpenAI Agents

  • OPENAI_AGENTS_DONT_LOG_TOOL_DATADon't log tool data in OpenAI Agents

    Don't log tool data in OpenAI Agents

  • OPENAI_API_KEYThe agent's default model + embeddings

    The agent's default model + embeddings

  • OPENROUTER_API_KEYAccess to other models (Claude, Gemini, Mistral, etc.)

    Access to other models (Claude, Gemini, Mistral, etc.)

  • PASSWORD_RESET_ENABLEDfalseEnable password reset flow

    Enable password reset flow

    values: true/false

  • PERPLEXITY_API_KEYPerplexity API key

    Perplexity API key

  • POSTGRES_HOSTPostgreSQL host

    PostgreSQL host

  • POSTGRES_PORT5432PostgreSQL port

    PostgreSQL port

  • QDRANT_HOSTQdrant host

    Qdrant host

  • QDRANT_PORT6333Qdrant port

    Qdrant port

  • REDIS_HOSTRedis host

    Redis host

  • REDIS_PASSWORDRedis password

    Redis password

  • REDIS_PORT6379Redis port

    Redis port

  • RESEND_API_KEYResend API key for email

    Resend API key for email

  • RESEND_FROM_EMAILFrom email address for Resend

    From email address for Resend

  • SERPER_API_KEYSerper web image search API key

    Serper web image search API key

  • TAVILY_API_KEYTavily web search API key

    Tavily web search API key

  • UNSPLASH_ACCESS_KEYUnsplash image search API key

    Unsplash image search API key

  • VITE_API_URL${API_ORIGIN}Frontend API URL

    Frontend API URL

  • VITE_BILLING_ENABLEDfalseEnable billing features in frontend

    Enable billing features in frontend

    values: true/false

  • VITE_HOST_ORIGINhttp://localhost:${APP_PORT}Frontend host origin

    Frontend host origin

  • VITE_MINI_APP_ORIGINhttp://localhost:${MINI_APP_PORT}Mini-app sandbox origin

    Mini-app sandbox origin

Dim0 releases & version history

FAQ

What format are my notes stored in?

Pure Markdown. Download any note and paste it into any other editor: Obsidian, VS Code, plain text. Boards export cleanly too. No proprietary blocks, no vendor format you can't walk away from.

How is my data used?

On the cloud: prompts and board context sent only to the model provider you pick, under their terms. No training on your content, no data selling, no profiling, no behavioral telemetry. Self-host: everything stays on your infrastructure.

How big can boards get?

Thousands. The canvas engine (canvas-harness) handles 10k visible nodes at ~80 fps on an M1, idle at ~120 fps. Same league as Excalidraw and tldraw.

Can Dim0 generate interactive apps, like ChatGPT apps or Claude artifacts?

Yes, called mini-apps. Describe what you want and Dim0 generates a real, interactive React app right on your canvas. Unlike an artifact trapped in a chat thread, a mini-app is a node on your board: it persists, your team can use it live, it can read the notes and data next to it, and you can open the code, edit it, or export it.

What can the agent actually do?

Read selected context, search the web, run code, and generate nodes, widgets, charts, or summaries directly on the board.

Why canvas-first instead of chat-first?

Complex thinking is spatial. A canvas keeps structure, relationships, and partial ideas visible at once. Chat buries context.

Is there a desktop or mobile app?

Dim0 runs in the browser today. Tablets work well; phones are read-friendly. Native apps may follow.

How does real-time collaboration work under the hood?

Operational transforms with last-write-wins for conflicts, the same approach Figma and Excalidraw use, not CRDT. Every edit becomes a typed operation, transformed against concurrent edits, applied on the server, then broadcast live.

Can I collaborate with others in real time?

Yes. Real-time multi-user collaboration is live: live cursors, presence, edits that sync without merge conflicts, and shared AI agents that work on the same board.

Which AI models?

Claude, GPT, Gemini, Mistral, DeepSeek, Qwen, Kimi, GLM. Pick what you trust; switch anytime.

Is it open source?

Yes. Inspect it, fork it, self-host it. It's all on GitHub.

Is it free?

Yes, free to use during early access at app.dim0.net. The product is also open source: fork it, self-host it, bring your own model keys.

Is Dim0 a Notion or Excalidraw alternative?

Yes. Dim0 is a Notion alternative and an Excalidraw alternative on one canvas, with a board-aware AI agent on top.

What is Dim0, exactly?

A thinking canvas where notes, docs, code, widgets, and AI agents live on one board together. Rich notes like Notion, freehand shapes like Excalidraw, agents that act on the board, all on the same surface.

More in Collaboration

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…