Skip to content

Join the Seedly owners community →

Help Center

Install Seedly Sites

Install the Seedly Sites platform from your source download - prerequisites, the guided setup wizard, and your first local run.

Last updated

This guide takes you from the ZIP you downloaded to the whole platform running on your own computer: the admin, the visual builder, and a rendered site. You do not need to be a programmer. If you can copy a line of text and paste it into a terminal, you can finish this setup.

Your download also ships with a complete SETUP/ handbook inside the project folder, with numbered chapters (00 through 14, plus an optional dashboard tour in 15) covering everything from "what is a terminal" to launch day. This page is the condensed version.

Before you unzip: put the ZIP in a plain folder such as Desktop or Documents and unzip it there. Keep the project out of iCloud Drive, OneDrive and Dropbox, which can quietly corrupt a project folder while they sync it.


From the project folder in a terminal, run:

npx pnpm run setup

That launches Pixl, the Seedly Sites setup companion, who walks you through the whole setup one small step at a time and checks your work as you go. If you would rather be led than read, run that command and skip the rest of this page.

Pixl uses a few commands you can also run yourself at any time:

CommandWhat It Does
npx pnpm run setup:checkThe "doctor" - checks your setup and names anything missing or misconfigured, in plain English
npx pnpm run gen:secretsGenerates the platform's own secret values
npx pnpm run provisionSets up your local sandbox, then guides the live setup. Fresh installs only

There is also a path for Claude Code users: open the project folder, start Claude, and ask it to read SETUP/CLAUDE_START.md and walk you through setup one chapter at a time.


Prerequisites#

You need four tools installed once per computer.

On Windows, first allow PowerShell to run them. A new Windows computer blocks the small scripts these tools use, and the first npx command then fails with "running scripts is disabled on this system". In PowerShell, run this once and answer Y:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

It only changes the setting for your own Windows user.

Node (version 22)#

Node runs the platform's code. Install the 22.x line from nodejs.org with the defaults. If the big download button offers version 24, use the download page's list of releases and pick 22 instead. Check it:

node --version

You want v22 as the first number. Node 24 runs the local sandbox, but the project does not support it, so you will see an "Unsupported engine" warning on every command until you switch to 22.

You may also see notices offering to update npm, pnpm or Astro while you work. Ignore them. The project pins the versions it needs.

pnpm#

pnpm installs the project's building blocks. You do not install it separately: the project uses it through npx, which comes with Node. Whenever you see npx pnpm ..., that is pnpm. Check it (answer y if it offers to download):

npx pnpm --version

Git#

Git tracks your code and publishes sites through GitHub. On a Mac, run xcode-select --install. On Windows, install from git-scm.com with the defaults.

Before your first commit, tell git who you are (once per computer, with your own details), or the commit stops with "Author identity unknown":

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

GitHub CLI#

The GitHub CLI (gh) signs this computer in to GitHub and creates your private repo during the live setup. The setup wizard cannot install it for you. On a Mac, run brew install gh. On Windows, run winget install GitHub.cli. Either way you can also download it from cli.github.com. Then close the terminal and open a new one, because a tool installed while a window is open does not show up in it, and check it with gh --version. Sign in once with gh auth login (answer GitHub.com, HTTPS, Yes, then Login with a web browser).


Run It Locally#

The local sandbox uses a small built-in file database, so it needs no accounts, no keys, and costs nothing.

  1. Point the terminal at the project. Type cd (with a trailing space), drag the unzipped seedly-sites folder onto the terminal window, and press Enter.

  2. Install the pieces:

    npx pnpm install

    Lots of text scrolls by for a minute or two. It is done when you can type again.

  3. Tell the CMS where the builder is. Already ran npx pnpm run setup (Pixl)? It normally writes this line for you: open packages/cms/.env.local and if it already contains RENDER_BASE_URL, skip to step 4. If the file is missing or the line is not there (Pixl skips it when you decline the write, or when you resume an existing setup), carry on here. The platform is two programs that have to find each other, and out of the box the CMS does not know the builder's address. Skip this and everything else still works, but the moment you click Open in Builder the browser lands on a bare 404 This page could not be found. Add this one line to a file called .env.local inside packages/cms (the command creates the file if it does not exist, and adds to it if it does):

    RENDER_BASE_URL=http://localhost:4321

    On a Mac, run printf 'RENDER_BASE_URL=http://localhost:4321\n' >> packages/cms/.env.local in the terminal. In Windows PowerShell, run Add-Content packages\cms\.env.local 'RENDER_BASE_URL=http://localhost:4321'. In Windows Command Prompt, run echo RENDER_BASE_URL=http://localhost:4321>> packages\cms\.env.local. Never replace the whole file if it already exists, because setup keeps your sandbox login in it.

    The second file lets the preview read your content. The page Preview needs a login of its own. Pixl writes this file too, so first check whether packages/render/.env already lists PAYLOAD_API_URL, PAYLOAD_EMAIL and PAYLOAD_PASSWORD. If it does not, create packages/render/.env with these three lines, using the email and password you will give your first admin in step 5:

    PAYLOAD_API_URL=http://localhost:3000
    [email protected]
    PAYLOAD_PASSWORD=your-local-password

    Without it, Preview says "Preview unavailable" or "No draft page exists" for a page that is right there.

  4. Start both dev servers:

    npx pnpm m6:dev

    This starts the two halves of the platform together: the CMS (your admin and portal) on http://localhost:3000 and the render studio (the visual builder and page preview) on http://localhost:4321. Leave the terminal window running; closing it stops the servers. If something else on your computer already uses port 3000 or 4321, npx pnpm m6:dev stops straight away and names the busy port. Close the other program and run it again, or move the sandbox by setting SEEDLY_CMS_PORT and SEEDLY_STUDIO_PORT first (on a Mac, SEEDLY_CMS_PORT=3100 SEEDLY_STUDIO_PORT=4400 npx pnpm m6:dev). If you move a port, change RENDER_BASE_URL in packages/cms/.env.local and PAYLOAD_API_URL in packages/render/.env to match.

  5. Create your first admin. Open http://localhost:3000/admin in a browser. A brand-new database asks you to create the first admin account. Use the same email and password you put in packages/render/.env in step 3, or the preview cannot sign in. The admin screen refuses a password under 12 characters and the setup wizard refuses one under 16, so 16 or more satisfies both. After you sign in you land in /admin, the raw database view. Your working dashboard is http://localhost:3000/operator.

  6. Look around. Create a site (tenant) from the dashboard, open a page, and the visual builder opens straight away. The pages the platform seeds for you (privacy policy, terms) already have content, so create a new page if you want to try a blank canvas. This is the whole platform, running entirely on your computer.

To stop the servers, press Ctrl and C in the terminal. Run npx pnpm m6:dev to start them again.


What Just Happened#

You proved the full path works locally: the CMS stores content, the builder edits it, and the renderer turns it into a website. Going live is the same thing on real infrastructure, with your own domains - that is the Provisioning guide.

Estimated time: 15 to 30 minutes for the local sandbox, then a few hours of hands-on work, spread across a day or two, for the live setup, plus waiting on DNS and email-domain verification. You can stop anywhere and resume.


Two Things That Trip People Up#

Your download contains hidden files, and it needs them. Files whose names begin with a dot are part of the project. Some unzip tools, and some file managers, quietly drop them. If setup behaves as though configuration is missing, this is usually why. Setup checks for the loss and tells you before anything else breaks, but the fix is to unzip again with a tool that keeps hidden files rather than trying to work around it.

Do not copy your project folder through a shortcut or symlink. Setup and check scripts launched through a symlink used to do nothing at all, quietly. They now run normally through one, but the simplest answer is still to work from the real folder.


Where the Templates Are#

Your download includes the seven template packs (cedar, fresh, grit, surge, swift, vista and warm) in packages/cli/templates/. You do not fetch them separately. You can add your own packs beside them, and an update never writes into a pack you added.

A pack on disk is not yet offered to clients. The client intake picker lists template sites, so a pack has to be seeded into one first: create a site in the portal, then in /admin open Tenants, open that site, tick Is Template and fill in Template Pack, then run the template-seed command from SETUP/operations/managing-templates.md inside your download. It signs in as you; an operator API key (--api-key) is the option that keeps working with two-factor on. Until at least one template site is seeded, the intake picker shows a "no templates set up yet" state.

To add a pack of your own, either use the Upload template tile on your operator Templates page once your live setup is connected to GitHub (it commits the pack to your repo, which redeploys your CMS), or unzip the pack into packages/cli/templates/ and commit and push it yourself. A pack is only real to your live platform once it is committed: a folder copied into a running server disappears on the next deploy. Both ways are written up in SETUP/operations/managing-templates.md.


If You Get Stuck#

  1. Run the doctor: npx pnpm run setup:check. It names what is wrong.
  2. Check the Troubleshooting guide.
  3. Look up any confusing word in the Glossary.
  4. Ask in the Seedly Community on Facebook.

One caution: the SETUP/ folder inside your project is your installation manual. Do not edit or delete it; setup tooling depends on those files.

Was this page helpful?