Skip to Content

Installation

Using Ycode Cloud? You do not need to install anything. Go to ycode.com , sign up, and you are ready to build. Skip to Your First Project.

This guide covers the Open Source self-hosted setup. You can deploy Ycode to Vercel (recommended for production) or run it locally for development.

Prerequisites

  • Node.js 18 or later
  • A Supabase project — either Supabase Cloud  (free tier works) or a self-hosted Supabase instance
  • Git
  • npm

Step 1: Fork the repository

Fork the Ycode repository  on GitHub. This creates a copy under your account that you can deploy.

Step 2: Deploy on Vercel

  1. Go to vercel.com  and sign in.
  2. Click Add New Project and import your forked Ycode repository.
  3. Accept the default build settings and deploy.
  4. Wait for the deployment to finish. You will get a URL like your-project.vercel.app.

Step 3: Set up Supabase

You can use either Supabase Cloud or a self-hosted Supabase instance.

Supabase Cloud:

  1. Go to supabase.com  and create a new project.
  2. Wait for the project to finish provisioning.
  3. Go to Settings > API and copy the anon public key and service_role secret key.
  4. Go to Settings > Database and copy the connection string. Use the Transaction Pooler connection method (port 6543).
  5. Go to Authentication > Sign In / Providers and disable the Confirm email toggle.

Self-hosted Supabase:

  1. Make sure your Supabase instance is running and accessible.
  2. Get your anon key, service_role key, and database connection URL from the .env file next to your docker-compose.yml.
  3. Set ENABLE_EMAIL_AUTOCONFIRM=true in that .env file and restart your Docker containers.
  4. Note your Supabase API gateway URL (e.g. https://supabase.my-company.com or http://localhost:8000 for local Docker setups).

Step 4: Add environment variables in Vercel

  1. In your Vercel project, go to Settings > Environment Variables.
  2. Add the required variables (see Configuration for the full list):
    • SUPABASE_PUBLISHABLE_KEY — your Supabase anon/public key
    • SUPABASE_SECRET_KEY — your Supabase service role key
    • SUPABASE_CONNECTION_URL — PostgreSQL connection string (Transaction Pooler for Cloud, direct connection for self-hosted)
    • SUPABASE_DB_PASSWORD — your database password
    • SUPABASE_URL — your Supabase API gateway URL (only required for self-hosted Supabase)

Step 5: Redeploy

Trigger a new deployment so Vercel picks up the environment variables. Use Deployments > … > Redeploy on the latest deployment.

Step 6: Run the setup wizard

  1. Visit your deployed site.
  2. Go to /ycode/welcome (e.g. https://your-project.vercel.app/ycode/welcome).
  3. Follow the setup wizard to connect Supabase and run database migrations. The wizard detects whether you are on Vercel and adjusts the flow accordingly.
  4. Confirm that the Confirm email setting is disabled when prompted. The wizard checks this automatically.
  5. Create your admin account.
  6. Choose a starter template or start from scratch.
  7. The editor opens at /ycode.

Option 2: Local Development

Step 1: Clone the repository

git clone https://github.com/ycode/ycode.git cd ycode

Step 2: Install dependencies

npm install

Step 3: Copy environment file

cp .env.example .env

Step 4: Add Supabase credentials

Edit .env and fill in your Supabase credentials. See Configuration for the exact variable names and where to find them in the Supabase dashboard.

Step 5: Start the development server

npm run dev

Step 6: Run the setup wizard

  1. Open http://localhost:3002/ycode/welcome in your browser.
  2. Follow the setup wizard to connect Supabase and run migrations. Choose Supabase Cloud or Self-hosted Supabase depending on your setup.
  3. Confirm that the Confirm email setting is disabled when prompted.
  4. Create your admin account.
  5. Choose a starter template or start from scratch.
  6. The editor opens at http://localhost:3002/ycode.

Next Steps

Last updated on