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
Option 1: Deploy to Vercel (Recommended)
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
- Go to vercel.com and sign in.
- Click Add New Project and import your forked Ycode repository.
- Accept the default build settings and deploy.
- 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:
- Go to supabase.com and create a new project.
- Wait for the project to finish provisioning.
- Go to Settings > API and copy the
anonpublic key andservice_rolesecret key. - Go to Settings > Database and copy the connection string. Use the Transaction Pooler connection method (port 6543).
- Go to Authentication > Sign In / Providers and disable the Confirm email toggle.
Self-hosted Supabase:
- Make sure your Supabase instance is running and accessible.
- Get your
anonkey,service_rolekey, and database connection URL from the.envfile next to yourdocker-compose.yml. - Set
ENABLE_EMAIL_AUTOCONFIRM=truein that.envfile and restart your Docker containers. - Note your Supabase API gateway URL (e.g.
https://supabase.my-company.comorhttp://localhost:8000for local Docker setups).
Step 4: Add environment variables in Vercel
- In your Vercel project, go to Settings > Environment Variables.
- Add the required variables (see Configuration for the full list):
SUPABASE_PUBLISHABLE_KEY— your Supabase anon/public keySUPABASE_SECRET_KEY— your Supabase service role keySUPABASE_CONNECTION_URL— PostgreSQL connection string (Transaction Pooler for Cloud, direct connection for self-hosted)SUPABASE_DB_PASSWORD— your database passwordSUPABASE_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
- Visit your deployed site.
- Go to
/ycode/welcome(e.g.https://your-project.vercel.app/ycode/welcome). - Follow the setup wizard to connect Supabase and run database migrations. The wizard detects whether you are on Vercel and adjusts the flow accordingly.
- Confirm that the Confirm email setting is disabled when prompted. The wizard checks this automatically.
- Create your admin account.
- Choose a starter template or start from scratch.
- The editor opens at
/ycode.
Option 2: Local Development
Step 1: Clone the repository
git clone https://github.com/ycode/ycode.git
cd ycodeStep 2: Install dependencies
npm installStep 3: Copy environment file
cp .env.example .envStep 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 devStep 6: Run the setup wizard
- Open
http://localhost:3002/ycode/welcomein your browser. - Follow the setup wizard to connect Supabase and run migrations. Choose Supabase Cloud or Self-hosted Supabase depending on your setup.
- Confirm that the Confirm email setting is disabled when prompted.
- Create your admin account.
- Choose a starter template or start from scratch.
- The editor opens at
http://localhost:3002/ycode.
Next Steps
- Configuration — Environment variables and Supabase setup
- Your First Project — Create a page and use the editor