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.

Ycode logo

Self-host Ycode

1.37.8

Visual website builder and CMS with AI-assisted editing

ReleaseOpen SourceMIT
Updated4 hours ago
LanguageTypescript
Setup difficultyAdvanced
Stars
334
Port
3002 (Local development server)

What is Ycode?

This project provides a drag-and-drop visual editor for building websites without coding. It ships as a self-hosted open-source application (MIT license) or a managed cloud offering. Running it yourself requires a GitHub account, a Supabase project for the database and authentication, and a Vercel account for hosting. The platform includes a content management system with collections and dynamic pages, a form builder, multi-language capabilities, reusable design components, and an embedded Model Context Protocol server that allows AI assistants such as Claude, ChatGPT, Cursor, and VS Code to create pages, manage content, and publish changes through natural language conversation. A setup wizard walks through connecting Supabase, running database migrations, and creating an administrator account. The codebase receives regular updates and releases.

Should you self-host Ycode?

Ycode scores 53/100 on selfhost.directory (how scoring works) and ranks #4 of 6 in Website Builder. It has 334 GitHub stars.

It shipped 11 stable releases in the past year. The latest, 1.37.8, came out on 28 October 2026. New versions land roughly every 1 days.

Setup is advanced: plan for several services and some ongoing maintenance. It is MIT-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Ghost (83/100, 55 626 stars). It scores higher overall, so compare the two before you pick. See Ycode vs Ghost side by side.

Features

  • Content Management System (CMS)
  • Custom code support
  • Custom domains
  • Form Builder
  • MCP server for AI-assisted editing
  • Multi-language Support
  • Responsive design controls
  • REST API
  • Reusable Components
  • SEO settings
  • Visual website builder

Ycode README

How to configure Ycode

  • AI_CHAT_MAX_DURATIONOptional: seconds one AI chat request may run before the platform kills it.

    Optional: seconds one AI chat request may run before the platform kills it.

  • ANTHROPIC_API_KEYAPI key for Anthropic (Claude) to enable the in-app AI agent.

    API key for Anthropic (Claude) to enable the in-app AI agent.

  • ANTHROPIC_MODELOptional: override the default model (defaults to claude-sonnet-5).

    Optional: override the default model (defaults to claude-sonnet-5).

  • DISABLE_PREVIEW_AUTHDebug only: set to true to skip auth on /ycode/preview routes. Never enable in production.

    Debug only: set to true to skip auth on /ycode/preview routes. Never enable in production.

  • GEMINI_API_KEYAPI key for Google Gemini to enable the in-app AI agent.

    API key for Google Gemini to enable the in-app AI agent.

  • GOOGLE_FONTS_API_KEYGoogle Fonts API Key (only used to execute npm run fonts:update).

    Google Fonts API Key (only used to execute npm run fonts:update).

  • NEXT_PUBLIC_MCP_SERVER_URLPublic URL that MCP clients should use (e.g. https://yoursite.com/ycode/mcp). Set it when the project is served from several hostnames or behind a reverse proxy.

    Public URL that MCP clients should use (e.g. https://yoursite.com/ycode/mcp). Set it when the project is served from several hostnames or behind a reverse proxy.

  • NEXT_PUBLIC_SITE_URLBase URL for sitemap and robots.txt (e.g. https://yoursite.com).

    Base URL for sitemap and robots.txt (e.g. https://yoursite.com).

  • NEXT_PUBLIC_TEMPLATE_API_URLURL for the template marketplace API. Leave unset to use the default.

    URL for the template marketplace API. Leave unset to use the default.

  • OPENAI_API_KEYAPI key for OpenAI (ChatGPT) to enable the in-app AI agent.

    API key for OpenAI (ChatGPT) to enable the in-app AI agent.

  • PAGE_AUTH_SECRETSecret for page auth cookies. Generate a random string if you use page-level auth.

    Secret for page auth cookies. Generate a random string if you use page-level auth.

  • REVALIDATE_SECRETSecret for cache revalidation. Used when triggering on-demand revalidation.

    Secret for cache revalidation. Used when triggering on-demand revalidation.

  • SUPABASE_CONNECTION_URLPostgreSQL connection string. Use the Transaction Pooler connection method.

    PostgreSQL connection string. Use the Transaction Pooler connection method.

  • SUPABASE_DB_PASSWORDDatabase password for your Supabase project.

    Database password for your Supabase project.

  • SUPABASE_PUBLISHABLE_KEYSupabase anon/public key. Used for client-side access.

    Supabase anon/public key. Used for client-side access.

  • SUPABASE_SECRET_KEYSupabase service role key. Used for server-side operations. Keep this secret.

    Supabase service role key. Used for server-side operations. Keep this secret.

  • SUPABASE_URLSupabase API gateway URL. Required for self-hosted Supabase (e.g. https://supabase.my-company.com). Leave empty for Supabase Cloud.

    Supabase API gateway URL. Required for self-hosted Supabase (e.g. https://supabase.my-company.com). Leave empty for Supabase Cloud.

  • TEMPLATE_API_URLTemplates API URL.

    Templates API URL.

  • TEMPLATE_UPLOAD_API_KEYTemplate upload API key.

    Template upload API key.

Ycode releases & version history

More in Website Builder

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…