Skip to content
Pancake Stack

Pancake Stack Manual

Use your browser's Print command to print this manual or save it as a PDF.

Welcome to Pancake

What Pancake Stack is, what it brings with it, what your Mac needs, and how to read this manual.

1.1What Pancake is

Pancake Stack runs websites on your Mac. It brings its own web servers, languages and databases inside the app, so there is nothing to install and nothing to configure in Terminal. You click New Site, answer up to four questions, and the site opens in your browser at name.localhost with its own database.

When a site is ready, Pancake takes it the rest of the way: a temporary link to show someone, your own domain, a copy on your phone over Wi-Fi, or a deploy to your hosting company or a cloud server.

Pancake is a Mac App Store app. It runs inside Apple's app sandbox, and it never touches the Apache that comes with macOS, Homebrew, MAMP or anything else you have installed. You can keep using those side by side.

1.2What comes in the box

ComponentVersionsNotes
Apache2.4Serves every site. Each site gets its own virtual host.
PHP8.5, 8.4, 8.3, 8.2 and 7.1Every plan runs the newest PHP. Choosing an older version per site is FullStack.
MySQL8.4One database and one user per site. Adminer is included for browsing it.
Python3.12, 3.13 and 3.14, with uvFor Django, Flask and FastAPI sites.
PostgreSQL17FullStack, switched on in Services.
Valkey and MemcachedCaches, FullStack.
NginxAn alternative web server per site, FullStack.
cloudflaredPuts sites online through Cloudflare without router setup.

Every PHP 8 version includes the extensions popular apps expect: GD, Imagick, intl, zip, bz2, XSL, sodium, YAML, OAuth, Tidy, APCu, OPcache and Xdebug. The full list of components and their licences is in Help ▸ Open-source licences.

1.3What your Mac needs

  • macOS 14 Sonoma or later, on Apple silicon or Intel.
  • For the Assistant on Apple Intelligence: a Mac with Apple Intelligence turned on. On other Macs the Assistant can use an AI provider with your own key, or you can leave it off.
  • For putting sites online: an internet connection. A free Cloudflare account is needed only for your own domain; the temporary test link needs no account at all.

1.4The three stacks

Pancake is a subscription with three plans, named after how tall the stack is. Every plan runs as many sites on your Mac as you like; taller stacks put more of them online and add more toppings. New subscribers get a free first week.

PlanIn short
ShortStackUnlimited local sites, one site online, one deploy target.
TallStackUp to 10 sites online, publishing to your host over SFTP or FTP, staging copies, database publishing, mail relay, outside PostgreSQL and SSH tunnels, Pancake Cloud saves, up to 3 servers on AWS.
FullStackEverything unlimited, older PHP per site, PostgreSQL, Valkey, Memcached, Nginx, scheduled tasks and workers, off-site backups, push alerts, sync between your Macs, servers on every provider.

The full comparison is in Plans and subscription.

1.5Your sites stay yours

Pancake has no account and no analytics. Your sites, databases and settings live on your Mac; passwords and keys live in your Keychain. When something goes elsewhere (Cloudflare, your host, your storage bucket, your iCloud, an AI provider you chose), it goes straight from your Mac with your own credentials, never through Enfour. If a subscription ends, nothing is deleted, and you can still export every site and database. See Privacy and your data.

1.6How to read this manual

The chapters follow the life of a site: start it, build it, share it, keep it running. If you are new to Pancake, read A tour of the window and Your first site, then dip into whatever you need.

Menu paths
Written like Settings ▸ Local HTTPS: open Settings in the sidebar, then the Local HTTPS section.
Plan badges
ShortStack TallStack FullStack mark features that need a particular plan. A feature with a TallStack badge is in TallStack and FullStack. Anything without a badge is in every plan.
Advanced
Each pane shows its simple settings first. When a step says "Advanced", turn on the Advanced switch at the top right of that pane.
Tip

Pancake also has Help inside the app. Choose Help ▸ Pancake Help or press ⌘?, and search. The Assistant can answer questions from the same Help, and it can read your sites' logs.

A tour of the window

The sidebar, the toolbar, the Advanced switch, the menu bar icon and the other windows, plus every keyboard shortcut.

The Pancake window: the sidebar on the left, the status pill, Start/Stop and Outside Access at the top right, and the Sites pane with one card per site.
Figure 2.1The Pancake window: the sidebar on the left, the status pill, Start/Stop and Outside Access at the top right, and the Sites pane with one card per site.

2.1The sidebar

Pancake has one main window. The sidebar lists its panes, and Pancake remembers which one you had open.

PaneWhat it is for
SitesEvery site, as a card: open it, edit it, choose its PHP version, back it up. See Working with sites.
DatabasesEach site's MySQL database, Adminer, import and export, and outside databases. See Databases.
OnlineYour local network and the internet: test links, your own domains, certificates. See Putting sites online.
DeployWhere each site is published, and publishing again. See Deploying.
BackupsBackups, save points, off-site copies and Pancake Cloud. See Backups and save points.
AssistantAsk questions and have Pancake do things for you; connect AI coding tools. See The Assistant and MCP.
ServicesPostgreSQL, Valkey, Memcached, scheduled tasks and workers. FullStack See Services, tasks and workers.
SubscriptionYour plan and the three stacks. See Plans and subscription.
SettingsEverything else. See Settings, templates and plug-ins.

On ShortStack and TallStack, the Services row is greyed out with a FullStack badge. Opening it explains what it adds, with a See FullStack button.

2.2The toolbar

Three controls at the top right of the window are always there, whatever pane is open.

The status pill
Says what the servers are doing: Running (green), Starting…, Needs attention (orange) or Stopped (grey). If Pancake is not on the standard port 80, the port is shown after "Running". When something failed, hold the pointer over the pill to read the error.
Start All / Stop All
The play or stop button starts or stops every server Pancake runs. Shortcut: ⇧⌘R. Hold ⌥ and click while running to restart everything.
Outside Access
The globe is Pancake's internet switch. When it says Offline, only this Mac can open your sites, whatever else is set. When it says Online, the sites you switched online are published. Turning it off is instant and keeps every setting. See Outside Access.

2.3Simple first, then Advanced

Each pane shows only the settings most people need. The Advanced switch at the top right of a pane reveals everything else in place, below a divider labelled "Advanced". Pancake remembers the switch for each pane.

If you always want everything, turn on Settings ▸ General ▸ Show advanced settings everywhere. Changing that switch resets the per-pane choices.

2.4The menu bar icon

Pancake puts a small stack of pancakes in the menu bar. The stack grows with your plan: three pancakes with butter on ShortStack, four on TallStack, and four with a cherry on FullStack. The Dock icon follows your plan too.

The menu shows the status, Start All/Stop All, the Outside Access switch, a submenu for each site (open it, or switch it online), New Site…, Mailbox, Open Pancake and Quit Pancake.

Note

While the menu bar icon is showing, closing the main window doesn't quit Pancake: your sites keep running. Choose Quit Pancake from the menu, or press ⌘Q, to stop everything. You can hide the icon in Settings ▸ General ▸ Show Pancake in the menu bar.

2.5Other windows

Logs ⌥⌘L
Every log Pancake keeps, newest first, with friendly names: "Web server", "MySQL", "blog; PHP errors", "blog; web server errors", "PHP 8.4; FPM" and so on. It shows the end of the file and refreshes every two seconds. Follow keeps the newest line in view; Clear empties the log; Show in Finder reveals the file.
Mailbox ⇧⌘M
Mail your sites send, caught before it leaves the Mac. See Mail from your sites.
Files
A file browser, editor and live preview for one site, opened from the site's card. See Files, the editor and design.
Pancake Help ⌘?
Searchable help topics in English, Japanese and Korean, and the open-source licences.
Diagnostics ⌥⌘D
A check of every bundled server inside the sandbox. Useful when you write to support.

2.6Widgets and Shortcuts

Add the Pancake widget to your desktop or Notification Center in small, medium or large size. It shows whether the servers are running and which sites are online, and has buttons to start or stop Pancake, switch Outside Access and make a new site.

Pancake also adds actions to the Shortcuts app and Siri:

ActionSay to Siri
Start Pancake"Start Pancake"
Stop Pancake"Stop Pancake"
Take My Sites Offline"Take my Pancake sites offline"
Put My Sites Online"Put my Pancake sites online"
New Pancake Site"New Pancake site"

2.7Keyboard shortcuts

KeysAction
⌘NNew Site (in the Sites pane)
⇧⌘RStart All / Stop All
⌥-click Stop AllRestart every server
⇧⌘MMailbox
⌥⌘LLogs
⌥⌘DDiagnostics
⌘?Pancake Help
⌘SSave, in the Files window
⌘ReturnSend, in the Assistant
⌘QQuit Pancake and stop its servers

In sheets, Esc cancels and Return chooses the highlighted button.

Your first site

Make a site in a minute: choose what kind it is, give it a name, decide who can see it, and open it at name.localhost.

3.1Make a site in four questions

  1. In the Sites pane, click New Site at the top right, or press ⌘N.
  2. Under Create, choose PHP site, Static HTML site or Python app. (WordPress, Laravel and the other choices are described below.)
  3. Name. Type a name such as blog. Pancake shows the address it will get, blog.localhost, as you type.
  4. Kind. Check or change the kind: PHP site, Static HTML site or Python app.
  5. Version or framework. For PHP, pick the PHP version. For Python, pick Django, Flask, FastAPI or Existing project (WSGI).
  6. Who should see it? Just me keeps it on this Mac. Anyone, with a temporary test link and Anyone, at my own domain (Cloudflare) put it online straight away (see Putting sites online).
  7. Click Create. Pancake makes the folder, creates the site's database, and starts or reloads the servers.
The New Site sheet: the Create choices first, and the Bring in a site choices below them.
Figure 3.1The New Site sheet: the Create choices first, and the Bring in a site choices below them.

When it's done, the site appears as a card in the Sites pane. Click Open to see it in your browser.

Note

Choosing a test link or your own domain while Outside Access is off turns Outside Access on, which also publishes every other site you have switched online. Pancake says so before you click Create.

3.2Names and addresses

A site's name becomes its address: shop opens at http://shop.localhost. Names use lowercase letters, digits and single hyphens, up to 40 characters. A few names are reserved for Pancake itself: localhost, www, pancake, admin and adminer.

Every browser on your Mac understands .localhost names with no setup, and they never reach the internet. To open a site from your phone, see On my network and local HTTPS.

Pancake uses the standard web port 80 when it can. If another web server on your Mac already has port 80, Pancake moves to 8080 by itself, and addresses include the port: http://shop.localhost:8080. The status pill shows the port when it isn't 80. You can choose the alternate ports yourself in Settings ▸ Advanced ▸ Web ports.

3.3Which kind of site?

ChoiceBest forWhat Pancake asks
Static HTML sitePlain HTML, CSS and JavaScript; built sites from Vite, Lovable or a site-design app.Name, who should see it.
PHP siteAny PHP code you write or copy in.Name, PHP version, who should see it.
Python appDjango, Flask, FastAPI or any WSGI app.Name, framework, who should see it.
WordPressA ready-to-use WordPress, installed and signed in.Name, title, admin user, email and password.
LaravelA new Laravel app with its database migrated.Name only.
Design with the AssistantA designed home page from a description.Name, a look, a description. See Design with the Assistant.
From a BlueprintA copy of a site you saved as a template.The Blueprint, a new name.

To bring in a site you already have, open Bring in a site in the same sheet. See Bringing sites in.

3.4WordPress

  1. Choose New Site ▸ WordPress.
  2. Fill in the Site name, the Title, the Admin user and Admin email. Pancake makes a strong random Admin password; click Copy to keep it, or type your own (at least 8 characters).
  3. Choose who should see it, and where WordPress comes from: Download the latest from wordpress.org, or A ZIP I downloaded.
  4. Click Create. Pancake creates the database, installs WordPress and finishes the setup. Open Site takes you to the dashboard at /wp-admin/.

The database password is never written into the site's files: WordPress reads it from the environment Pancake gives it.

3.5Laravel

Choose New Site ▸ Laravel and give it a name. Pancake runs its bundled Composer to download Laravel (a minute or two), serves the public/ folder, gives the app a MySQL database and runs the first migration.

3.6Python apps

Choose Python app, then a framework. Pancake gives the site its own Python environment on the newest Python (3.14), downloads the framework from PyPI and starts it. The first time takes about a minute.

  • Django runs under gunicorn, with /static/ served from staticfiles and /media/ from media. The card adds Migrate, Collect Static and Superuser… (then sign in at /admin/).
  • Flask runs app:app under gunicorn; FastAPI runs main:app under uvicorn.
  • Existing project (WSGI): create the site, put your project in its folder (Show Folder), set the App entry such as wsgi:application, then click Set Up.

Packages install from PyPI with Install Requirements. Pancake can't compile packages inside the sandbox, so the compiled packages most apps need (pydantic-core, psycopg2, cryptography, MarkupSafe and others) are built into Pancake; pure-Python packages install normally.

3.7What Pancake made for you

  • A folder in Pancake's data folder, under Sites/<name>. Show Folder on the card opens it in the Finder.
  • A web server entry (an Apache virtual host) for <name>.localhost.
  • A MySQL database and user, both named after the site (hyphens become underscores), with a random password kept in your Keychain.
  • Environment variables the site's code can read, so nothing secret goes into its files.
VariableValue
DB_HOST127.0.0.1
DB_PORTMySQL's port, usually 3306
DB_NAME, DB_DATABASEThe site's database
DB_USER, DB_USERNAMEThe site's database user
DB_PASSWORDIts password
PANCAKE_SITEThe site's name

In PHP, read them with getenv('DB_NAME'); in Python, with os.environ["DB_NAME"]. A site that uses an outside database also gets DATABASE_URL. On FullStack, sites get the addresses of Valkey and Memcached too (see Services).

Tip

Set a starting point for every new site in Settings ▸ Advanced ▸ Starter files for new PHP sites (or static sites): pick a folder, and Pancake copies it into each new site of that kind.

Working with sites

Everything on a site card: opening and editing, PHP versions and caches, save points, Git, PHP settings, Xdebug, staging copies, Blueprints and more.

4.1The site card

Each site in the Sites pane is a card. The light at the top left is green while the servers are running; next to the name is the kind of site (PHP, Static, or Python with its framework) and below it the site's address.

Open
Opens the site in your browser. It's greyed out while the servers are stopped: click Start All first. Once local HTTPS is on, a lock button opens the https:// address.
Show Folder
Opens the site's folder in the Finder.
Edit
Opens the site's folder in your editor or site-design app (see Edit in your own app).
Files
Opens the built-in file browser, editor and live preview. See Files, the editor and design.
QR code
Shows a code to open the site on a phone or tablet: its test link or domain when it's online, or its network name when On my network is on.
Save points (the clock)
Named copies of the site you can go back to. See Save points.

When the card is narrow, the buttons shrink to icons; hold the pointer over one to see its name.

4.2PHP version and cache

PHP sites have two menus under the buttons.

  • PHP version. Every plan runs the newest PHP (8.5). On FullStack, each site can pick an older version: 8.4, 8.3, 8.2 or 7.1 for old code. Pancake takes a save point named "Before PHP 8.4 (was 8.5)" before switching, so you can go back in one click.
  • Cache. No cache, OPcache (compiled PHP is kept in memory: faster, and what hosts use), or OPcache + APCu (adds a memory cache that WordPress and other apps can use for data).
Note

If a site was set to an older PHP on FullStack and your plan changes, it runs on the newest PHP and keeps its choice for later. The card says so, with a button to switch it to the newest version for good.

4.3AutoIndex

AutoIndex (list folders without an index page) shows a list of files when someone opens a folder that has no index.html or index.php. It's handy for a folder of downloads or documents. Hidden and sensitive files (such as .env, .sql dumps, keys and .htpasswd) are never listed or served, with AutoIndex on or off.

4.4Save points

A save point is a copy of a site's files and database that you can go back to in one click, such as "Before WordPress update".

  1. Click the clock button on the site's card and choose Save a Save Point….
  2. Give it a name and click Save.
  3. To go back, open the same menu, choose the save point and then Restore.

Pancake also takes save points by itself before changes that are hard to undo: switching PHP version, restoring a backup, using a new design, optimizing images, letting the Assistant change a file, downloading a live site again, and loading a site from Pancake Cloud. Each site keeps its newest 20 save points, apart from its regular backups (see Backups and save points).

4.5Edit in your own app

The Edit button opens the site's folder in the app chosen in Settings ▸ Editors ▸ Edit sites with: a code editor such as BBEdit, VS Code, Nova, Cursor or Zed, or a site-design app such as RapidWeaver, Blocs or Hype. The app macOS uses for each file opens files in their default apps.

A site can choose its own app: turn on Advanced and use Edit this site with on its card.

4.6Python sites

Python cards have their own buttons instead of the PHP menus.

  • Set Up creates the site's Python environment and installs the framework (shown until it has been done once).
  • Install Requirements installs the packages in the site's requirements.txt.
  • Django sites add Migrate, Collect Static and Superuser….

With Advanced on: Python version (3.12, 3.13 or 3.14; changing it rebuilds the environment), App entry, Reload when the code changes, the number of Workers (1 to 8), the App Log and Setup Log, Rebuild Environment… and, for Django, Run Check.

4.7Advanced settings on a card

Turn on Advanced in the Sites pane header to see more on every card.

Git
See Git below.
Aliases
More names for the same site, separated by commas, such as www.shop.localhost. Aliases must end in .localhost.
PHP Settings…
See PHP settings.
Apache Directives…
Lines added inside this site's Apache <VirtualHost>, for rewrite rules or headers your host would let you set. Pancake checks them with Apache first; if they don't load, they're skipped and the error is shown, so a typo can't stop your other sites.
Logs
Opens the Logs window at this site's PHP errors.
Xdebug
Off, When triggered (by a browser extension or XDEBUG_TRIGGER) or Every request. Your editor (VS Code, PhpStorm, Nova) listens on port 9003. The site runs in its own debugging PHP process, so other sites stay fast.
Database
Pancake's own database, or one of your outside databases. Either way the site gets DB_HOST, DB_PORT, DB_NAME, DB_USER and DB_PASSWORD for it.
Web server
Apache, or Nginx FullStack: try_files routing and no .htaccess, as on an Nginx host. Apache still answers first (for HTTPS, tunnels and local-only rules) and hands the site's requests to Nginx.
Single-page app
Static sites only: any address that isn't a file opens index.html, so routes such as /about in Vite, Lovable and React apps work when opened directly or reloaded.
Send real mail
TallStack Sends this site's mail through your SMTP relay as well as capturing it. See Mail relay.
Environment…
TallStack Your own environment variables. See Environment variables.
Optimize Images…
See Optimize images.
Save as Blueprint…
See Blueprints.
Make a Staging Copy…
TallStack See Staging copies.
Remove Site…
See Removing a site.

4.8PHP settings

PHP Settings… changes PHP for one site only.

  • Memory per request, Largest upload and Time limit per request.
  • Report: Everything (development), Everything except deprecations, Errors and warnings or Errors only (production).
  • Show errors in the page (and Format shown errors as HTML), Write errors to this site's PHP log and Skip an error repeated on the same line.
  • More php.ini settings: any other setting as a name and value.

Defaults puts everything back. To change PHP for every site, edit the php.ini template (see Templates).

Logs that grow past the limit in Settings ▸ Advanced ▸ Keep each log under (10, 50 or 200 MB) are cut to their newest half.

4.9Environment variables

TallStack Environment… holds a site's own settings and secrets, such as an API key or APP_ENV=local.

  1. Click Add and type a name and value, or Paste from .env… to bring in a whole .env file at once.
  2. Click Save. Pancake restarts the servers so PHP and Python pick the values up.

The values are kept in your Keychain, never in the site's folder, and they also reach the site's scheduled tasks and workers. Names Pancake sets itself (DB_…, PANCAKE_…, DATABASE_URL, PATH, HOME and similar) are reserved; Pancake's own values win.

4.10Git

Pancake has Git built in, so you don't need Xcode's command-line tools.

  • A site that isn't a repository shows Start Git.
  • A repository shows its branch, how many files changed, and how far it is ahead or behind, with Commit…, Pull and Push (or Connect… to add a remote).
  • With Advanced on: the remote's address, Change Remote…, a Branch menu, a field to create a branch, and the last eight commits.

Pancake's .gitignore keeps .env files, SQL dumps, dependency folders and caches out of commits. Set your name and email for commits, and a personal access token or Pancake's SSH key for your Git host, in Settings ▸ Git (Advanced).

4.11Optimize images

Optimize Images… makes a site's JPEG and PNG files smaller.

  • Lossless; same pixels, smaller files, or Smaller; high-quality JPEG (quality 82).
  • Remove location and camera details strips GPS and camera data from photos.
  • Largest size scales big images down (to 3840, 2560, 1920 or 1280 pixels), or keeps their size.
  • Take a save point first is on by default.

A file is replaced only when the result is smaller. Dependency folders (vendor, node_modules) and WordPress's own files are left alone. The defaults come from Settings ▸ Images.

4.12Blueprints

A Blueprint is a site saved as a template: its files, database and settings. Use one to start every client site from the same theme and plugins.

  1. On the site's card (Advanced), choose Save as Blueprint…, name it and click Save. With the servers stopped, only the files are saved.
  2. To use it, choose New Site ▸ From a Blueprint, pick it, type a new name and click Create.

4.13Staging copies

TallStack Make a Staging Copy… creates a separate site, named <site>-staging unless you choose otherwise, with its own folder and database. Its addresses are changed to the copy's own .localhost name, so the original isn't affected. Try a risky update on the copy first.

4.14Removing a site

Remove Site… (Advanced) removes the site from Pancake and moves its folder to the Trash, so you can still get the files back. A Python site's environment is deleted. The database stays in the Databases pane: export or delete it there.

Files, the editor and design

Browse and edit a site's files inside Pancake, preview them at phone, tablet or desktop width, and design a page with the Assistant.

The Files window: the folder tree, the editor with colours, and the live preview with its Phone, Tablet and Desktop widths.
Figure 5.1The Files window: the folder tree, the editor with colours, and the live preview with its Phone, Tablet and Desktop widths.

5.1The Files window

Click Files on a site's card. The window has three parts: the folder tree on the left, the editor in the middle, and the preview on the right.

  • The tree. Folders open in place. Drag files from the Finder onto the list to add them. Right-click a file for Rename…, Duplicate, Show in Finder and Move to Trash. Hidden files and backups are dimmed.
  • Sensitive files (.env files, .sql dumps, keys and .htpasswd) show a lock: they are never served to browsers, and Pancake doesn't edit them here.
  • New makes a file (page.html unless you name it) or a folder.

5.2The editor

The editor shows line numbers and colours for HTML, CSS, JavaScript, PHP and Python. Press ⌘F to find, ⌥⌘F to find and replace, and ⌘S to save. Smart quotes and autocorrect are off, so code stays code.

  • Images, PDFs and other non-text files open in Quick Look.
  • Files over 2 MB open read-only, showing their end (useful for logs).
  • Open in My Editor sends the file to your own editor.
Tip

Every save first keeps the previous version next to the file as <name>.pancake-bak. Those copies are never served to visitors.

5.3Live preview

Turn on Preview in the toolbar and choose a Width: Phone, Tablet or Desktop. The preview reloads every time you save. It shows the page you're editing when it's an HTML or PHP page inside the site; otherwise it shows the home page.

The preview needs the servers. If they're stopped, the Files window has its own Start All button.

5.4Tidy HTML

For HTML files, Tidy HTML indents the page, closes tags and fixes nesting with HTML Tidy. It doesn't save by itself: check the result, then press ⌘S.

5.5Ask the Assistant

  1. Select the code you want changed, or select nothing to work on the whole file.
  2. Click Ask the Assistant, describe the change ("make the header sticky") and click Ask.
  3. Compare Now and Proposed side by side. Click Apply Change if you like it, then save.

Nothing changes until you apply and save. The Assistant uses your cloud AI provider if you switched one on, otherwise Private Cloud Compute or Apple Intelligence on this Mac (see The Assistant and MCP). When the code goes to a cloud provider, passwords and keys are removed first.

5.6Design with the Assistant

Describe the site you want and Pancake designs its home page: a complete, responsive page in the site's folder, ready to edit, test and deploy.

  1. Choose New Site ▸ Design with the Assistant and give the site a name. (For an existing site, open its Files and click Design….)
  2. Pick a look: Black & business, Fun, Elegant, Minimal, Warm & friendly, or Surprise me.
  3. Describe the site, for example "A bakery in Kyoto: our breads, opening hours, where to find us, a contact form".
  4. Optionally open More choices for a Layout (landing page, portfolio, restaurant or shop, documentation) and Colours.
  5. Click Design It and look at the preview at phone, tablet or desktop width.
  6. Ask for changes in Ask for a change ("make the header darker", "add a pricing section") until you like it, or Start Over.
  7. Click Use This Design. Pancake takes a save point first and keeps the previous page as .pancake-bak.

How the page is made depends on the AI you have:

  • Private Cloud Compute or your own AI key: the assistant writes the whole page. With a Claude key, Pancake sends Anthropic's frontend-design guidance with each request; other models get Pancake's own design guidance.
  • Apple Intelligence on this Mac: it plans the page and Pancake's templates draw it. Free, private and offline.
  • No AI available: the page is built from the look you picked, with your first line as its title.

Pages are self-contained: they use the fonts already on visitors' devices and need no outside files or scripts.

Tip

If your description mentions the address of a site that's already live, Pancake offers to bring it in first: download it from your server, redesign and test it here, then publish it back. See From a live website.

Bringing sites in

Move sites from a folder, a ZIP, Git, MAMP, XAMPP, Apple Server, a live website or a cloud backup. Pancake copies; the original is never changed.

6.1Where sites can come from

Click New Site and open Bring in a site. Whatever you choose, Pancake copies the files, creates the site's database and user, loads any database dump it found (changing the old address to the new one), and starts the servers. The original files, server or app are never changed.

ChoiceUse it for
From a folder or ZIPAny site folder or archive: WordPress, Laravel, PHP, Django, Flask or static HTML.
From Lovable or ViteReact apps built with Vite, Lovable or Create React App.
From ChatGPT SitesA site exported from ChatGPT as a ZIP.
From MAMP / MAMP PROYour MAMP hosts and their databases.
From XAMPPYour XAMPP sites and databases.
From an Apache config foldermacOS's own Apache, Homebrew's, or a folder copied from a server.
From Apple ServerWebsites from an old Mac running Server.app.
From a live websiteA site on your hosting, over SFTP or FTP, with its database.
From GitHub / GitLabAny Git repository.
From a cloud backupPancake Cloud, or a MAMP Cloud backup.

6.2From a folder or ZIP

  1. Choose From a folder or ZIP and click Choose Folder or ZIP….
  2. Pancake shows what it found ("Found: WordPress"), which folder it will serve, and any .sql dumps it will load.
  3. Check the Site name. If the dump came from a live site that isn't WordPress, type its address in Old site address to replace so links point at the local copy. (WordPress addresses are found and changed by themselves.)
  4. Click Import.

From ChatGPT Sites works the same way: in ChatGPT, open your site and choose Export, then pick the ZIP.

6.3From Lovable or Vite

Lovable builds React apps with Vite. Pancake serves the finished, built site (the dist folder) with single-page routing, so links like /about work. Pancake doesn't run Node, so the project needs building once on a Mac with Node:

  1. In Lovable, connect GitHub (Settings ▸ GitHub), or use Download codebase.
  2. In the project folder, run npm install, then npm run build.
  3. Back in Pancake, click From GitHub… or From a Folder or ZIP…. Pancake finds dist/ (or build/) and turns on single-page routing by itself.

A Supabase backend keeps running in Supabase. An unbuilt project is still imported, with instructions for building it.

6.4From MAMP, XAMPP or an Apache folder

  1. Choose the tile for your old set-up and click Choose Folder…. Pancake shows where that set-up usually keeps its configuration:
    • MAMP: /Applications/MAMP/conf/apache
    • MAMP PRO: /Library/Application Support/appsolute/MAMP PRO/conf/apache
    • XAMPP: /Applications/XAMPP/xamppfiles/etc
    • macOS's own Apache: /etc/apache2; Homebrew's: /opt/homebrew/etc/httpd
  2. Pancake lists the sites it found. Tick the ones you want, and edit the new .localhost name of each.
  3. If Pancake asks, click Give Access to Site Folders… so the sandbox can read them.
  4. To bring the databases too, start the old MySQL and click Copy Databases Too…. MAMP uses port 8889 with root/root; XAMPP and Apache usually use 3306 with root and no password. Pancake matches each site to a database by name; change the match in each row if needed.
  5. Click Import.
Tip

MAMP PRO's custom server templates can come along too: Settings ▸ Advanced ▸ Templates… ▸ Import from MAMP PRO…. See Templates.

6.5From Apple Server

Server.app keeps its web configuration in /Library/Server/Web/Config/apache2, which only an administrator can read. Copy that folder to your Desktop in the Finder first, then choose the copy in From Apple Server.

TallStack Or copy the sites straight from the old Mac: click Connect to the Old Mac over SSH….

  1. On the old Mac, turn on Remote Login (System Preferences ▸ Sharing).
  2. In Pancake, enter the Mac's address (such as oldserver.local), the SSH port and an administrator's user name, and sign in with a password or key file. Click Connect.
  3. Pick the sites. WordPress sites bring their database by themselves; for others, name the MySQL database and give the old Mac's MySQL user and password.

6.6From a live website

Download a site from your hosting, with its database, to edit and test it safely on your Mac. Afterwards Pancake can download it again or publish your changes back (see Edit a live site safely).

  1. Choose From a live website and type the Site address, such as https://www.example.com.
  2. Pick your host from Hosting preset if it's listed. Pancake fills in the server, port and folder, and notes anything special about that host (for example, hosts that only accept SSH keys).
  3. Choose how to connect: SFTP (SSH), FTP with TLS (explicit), FTPS (implicit TLS) or FTP; not encrypted. Use SFTP when your host offers it.
  4. Enter the Server, Port and User, and a password or SSH key.
  5. Choose what to do with the Database (below), and click Import.
Copy it to this Mac (recommended)
A copy you can change freely. The live database isn't touched.
Use the live database directly
The local site talks to the live database, through SSH to the same server TallStack or directly over your VPN or office network. Changes you make are live.
Don't bring the database
Files only. You can connect a database later on the site's card (Advanced ▸ Database).

For WordPress, Pancake reads the database settings from wp-config.php. For other sites, open More options and enter them yourself. More options also lets you name the Folder on the server when Pancake can't find it by itself.

Hosting presets cover international hosts (cPanel and Plesk hosts, SiteGround, Hostinger, IONOS, DreamHost), managed WordPress hosts (Kinsta, WP Engine, Pressable, Flywheel, Cloudways), the main Japanese hosts (Xserver, ConoHa WING, Sakura, Lolipop, Heteml, mixhost and more) and Korean hosts (Cafe24, Gabia, Dothome and more).

Note

WordPress from GoDaddy is fixed on the way in: GoDaddy's system plugin and its Memcached object cache (which stop the site working anywhere else) are moved aside, the gd-config.php line in wp-config.php is turned off, and links still on a temporary *.myftpupload.com address are pointed at the local site.

6.7From GitHub or GitLab

  1. Choose From GitHub / GitLab and paste the Repository address.
  2. Optionally name a Branch. For a private repository over HTTPS, paste an Access token; for an SSH address, add Pancake's SSH key to your Git host (Settings ▸ Git, Advanced).
  3. Give the site a name and click Clone.

If the project has a composer.json, Pancake runs composer install; Python projects are set up from their requirements.

6.8From a cloud backup

  • Pancake Cloud: sites you saved from Pancake on this or another Mac. Click Open Backups ▸ Pancake Cloud, then Load… next to the site. See Pancake Cloud.
  • MAMP Cloud: a backup MAMP PRO saved to Dropbox or OneDrive. Click Choose a MAMP Cloud Backup… and pick the host's ZIP from Apps/MAMP PRO in your Dropbox or OneDrive folder. MAMP PRO isn't needed. An encrypted MAMP Cloud backup has to be loaded in MAMP PRO first, then brought in with From MAMP / MAMP PRO.

Databases

Each site's own MySQL database, Adminer and phpMyAdmin, import and export, connecting databases you already have, and PostgreSQL.

The Databases pane: each database with its size and site, and the Adminer, Export and Import buttons.
Figure 7.1The Databases pane: each database with its size and site, and the Adminer, Export and Import buttons.

7.1Pancake's databases

Every site gets its own MySQL 8.4 database and its own user, who can open only that database. Both are named after the site (my-blog becomes my_blog). The password is random and kept in your Keychain; the site reads everything from DB_HOST, DB_PORT, DB_NAME, DB_USER and DB_PASSWORD, so it never needs to be in the site's files.

The Databases pane lists each database with its size, number of tables and the site that uses it. MySQL has to be running to see them: click Start All.

  • New Database (the + button) makes an extra database. Names use lowercase letters, digits and underscores.
  • The trash button deletes a database. Pancake offers Export a copy first, then delete.

7.2Adminer and phpMyAdmin

Adminer opens a database in your browser, at adminer.localhost, where you can browse tables, run queries and edit rows. Pancake fills in the server, user and database; type the password. Use the site's own user, or root with the password from Advanced ▸ Copy root password. Adminer never goes online, even with Outside Access on.

Prefer phpMyAdmin? Click phpMyAdmin, download the "all-languages" ZIP from phpmyadmin.net, and choose it. Pancake serves it as a site at phpmyadmin.localhost that stays on this Mac. (phpMyAdmin is not part of Pancake.)

7.3Export and import

  • Export… saves a database as a .sql file, named with the date and time.
  • Import… loads a .sql file into a database, adding to or replacing what's there depending on the file.
Tip

Export before big changes, or take a save point on the site's card: it copies the database together with the files.

7.4Connecting other apps

With Advanced on, Connect from other tools shows what to type into TablePlus, Sequel Ace, DBeaver or another database app: host 127.0.0.1, the port MySQL is using (usually 3306), and user root. Copy root password copies the password. Pancake's MySQL accepts connections from this Mac only.

If another MySQL (MAMP's, Homebrew's or Docker's) already uses port 3306, Pancake's MySQL takes the next free port, such as 3307, and the pane shows it.

7.5Outside databases

A site can use a database you already have instead of Pancake's: MAMP's MySQL, one on a NAS or another computer, or a cloud database such as Amazon RDS, Supabase or Neon.

  1. Click Connect a database I already have….
  2. Choose MySQL / MariaDB or PostgreSQL TallStack. A preset fills in common set-ups: MAMP (port 8889), Homebrew or Docker, a cloud database with TLS, Postgres.app, or Supabase, Neon and RDS.
  3. Give it a Name, then the Server, Port, Database, User and Password.
  4. Choose the Security: Encrypted (TLS), Encrypted, check the server's certificate (pick its CA file), or Not encrypted, which is allowed only for this Mac and your local network.
  5. Click Test, then Save.
  6. On the site's card (Advanced), set Database to the new connection.

The site then gets that database's details as DB_HOST, DB_PORT and the rest, plus DATABASE_URL, DB_CONNECTION and DB_SSL_MODE.

Each outside connection has Test, Export…, Copy into Pancake (a local copy named <name>_copy to develop against safely), Edit… and a trash button that forgets the connection without touching the database.

Note

Pancake connects over the network, not through a socket file: App Store apps can't use other apps' sockets. Use host 127.0.0.1 and the server's port.

Through SSH

TallStack Many servers accept database connections only from themselves. Turn on Connect through SSH and add the SSH server, port, user and a password or key file. The database's Server is then its address as seen from the SSH server, usually 127.0.0.1. Pancake keeps the tunnel open and reopens it if it drops.

If the test fails

Pancake translates the usual errors into plain words: wrong user name or password; no database with that name; the server doesn't accept connections from this Mac (allow it on the server, or connect through SSH); the server name can't be found; nothing answers on that port (is it running, and does a firewall allow this Mac?); or the encrypted connection failed (if the server is on your network and has no TLS, choose Not encrypted; if it uses its own certificate authority, pick the CA file).

7.6PostgreSQL

FullStack Pancake includes PostgreSQL 17. Switch it on in the Services pane. Each site then also gets its own PostgreSQL database and role (site_<name>), and reads them from PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD and POSTGRES_URL. PHP's pgsql and pdo_pgsql extensions are included.

PostgreSQL databases appear in their own section of the Databases pane, with the same Adminer, Export, Import and New Database buttons. For other apps, use user postgres with Copy postgres password (Advanced).

Putting sites online

Show a site to anyone with a temporary link, put it at your own domain through Cloudflare, or serve it straight from your Mac. One switch takes everything off the internet.

The Online pane: On my network at the top, then a card for each site with its Online switch and Use my own domain.
Figure 8.1The Online pane: On my network at the top, then a card for each site with its Online switch and Use my own domain.

8.1Outside Access: the internet switch

The globe button in the toolbar is Outside Access. It decides whether anything leaves your Mac:

  • Offline: only this Mac can open your sites, whatever else is set. Nothing is published.
  • Online: the sites you switched Online in the Online pane are published.

Turning Outside Access off is instant: tunnels close, router port mappings are removed and DDNS updates stop. Every setting is kept, so turning it on again brings everything back. The switch is also in the menu bar icon, the widget, and Shortcuts ("Take my Pancake sites offline").

Tip

Use Outside Access as a panic button. Whatever you have set up, one click makes every site private again.

A site is published only when all three are true: the site is switched Online, Outside Access is on, and the servers are running. The Online pane says which one is missing.

The quickest way to show a site to someone. No account is needed.

  1. Open the Online pane and switch the site Online.
  2. Make sure Outside Access is on and the servers are running.
  3. After about 20 seconds, the card shows an address like https://random-words.trycloudflare.com, with Open, Copy, Check and a QR code.

The link is for testing: it changes each time it restarts, and it works only while the site is online and Pancake is running. Check tests once that the link answers from the internet.

8.3Your own domain through Cloudflare

Pancake serves the site through a Cloudflare Tunnel. There is no router setup, it works behind any network, and your home address stays private. Your domain must be on Cloudflare; the free plan is fine.

  1. On the site's card in the Online pane, click Set Up… next to Use my own domain.
  2. The first time, connect Cloudflare: click Open Cloudflare…. Cloudflare's token page opens with most permissions filled in.
  3. Add one more permission row: Account › Cloudflare Tunnel › Edit. Create the token and copy it.
  4. Paste it into Cloudflare API token and click Connect. The token is kept in your Keychain.
  5. Type a subdomain (such as www, or leave it empty for the domain itself) and choose the domain. Pancake shows the address it will use.
  6. Click Use. Pancake creates this Mac's tunnel (the first time) and a DNS record pointing the name at it.

Once the site is online, the card shows its address with Open and a QR code. Cloudflare provides the HTTPS certificate.

Note

No domain in Cloudflare yet? Sign up at cloudflare.com and add your domain; Cloudflare shows the two nameservers to set at your registrar. Then click Refresh in Pancake. An existing DNS record at the same name is left alone unless it's a CNAME.

Settings ▸ Cloudflare shows your domains and which sites use them. Disconnect… can also remove Pancake's DNS records and tunnel from Cloudflare, or leave them there.

8.4How many sites can be online

ShortStackTallStackFullStack
Sites online at once110Unlimited
Cloudflare and Route 53 domains110Unlimited
DDNS names110Unlimited

Test links and own domains count together. The count covers all your Macs signed in to the same iCloud: if one Mac is serving your ShortStack site, another can't put a second one online (a Mac stops counting when Pancake quits or the Mac goes offline). The Online pane shows which Mac is using the allowance. Without iCloud, the limit is per Mac.

After moving to a smaller plan, extra sites keep their Online switch but stay unpublished until you upgrade or switch another site off.

8.5Is it still up?

While Outside Access is on, Pancake checks each site it serves from this Mac (its domain or test link) every five minutes. If a site fails twice in a row, macOS shows a notification ("blog can't be reached from the internet"), and another when it's back. The dot next to the site's name shows the last result. On FullStack, the same alerts can go to your phone (see Push alerts).

8.6Straight from this Mac

Turn on Advanced in the Online pane for Straight from this Mac: no tunnel, your router forwards web traffic to the Mac, and a DNS name follows your home address. Most people should use a Cloudflare tunnel instead; this is for when you want your own certificates and no middleman.

  1. Turn on Open ports 80 and 443 on my router automatically (NAT-PMP / UPnP), or forward them on your router by hand. Pancake shows your internet address and the mappings it made.
  2. Click Add Name, choose the site and a DNS service, and type the name, such as blog.example.com or myblog.duckdns.org.
  3. Switch the site Online. Pancake updates the name's address whenever your home address changes.

DNS services: Cloudflare DNS (with an option to proxy through Cloudflare, which hides your address), Amazon Route 53, Duck DNS, No-IP, DNS-O-Matic, Dyn and easyDNS. Route 53 uses the AWS key saved in Deploy ▸ Create a Server.

Free certificates from Let's Encrypt

Turn on HTTPS certificates from Let's Encrypt (free) and agree to its Subscriber Agreement, then click Get Certificate next to a name. Cloudflare and Route 53 names are checked through DNS; other names need port 80 forwarded to the Mac. Certificates renew by themselves 30 days before they expire.

Your own certificate

Bought a certificate, or have one from your company or a Cloudflare Origin certificate? Click Paste Certificate…, paste (or choose) the certificate followed by its chain in the top box and the private key in the bottom box, as PEM text. Pancake checks that the key matches and shows the names, issuer and expiry date, then uses it instead of Let's Encrypt for the names it covers, wildcards included.

Password-protected keys and .pfx files need converting first, for example with openssl pkcs12 -in file.pfx -nodes.

Careful

Sites served straight from your Mac are reachable at your home address, and your Mac must stay on and awake. Keep software up to date, and switch Outside Access off when you don't need it.

On my network and local HTTPS

Open your sites from a phone, iPad or another computer on the same Wi-Fi, never from the internet, and give .localhost sites trusted HTTPS.

9.1Why phones need a little help

A .localhost address always means "this device", so a phone that opens blog.localhost looks for the site on the phone itself. On my network gives each site a second name, blog.test, that every device on your network can reach, while nothing is put on the internet.

9.2Turn it on

  1. In the Online pane, turn on On my network.
  2. Pancake starts a small name server and shows: "On each device, set the DNS server to" followed by this Mac's address, such as 192.168.0.163. Click Copy.
  3. On each phone, tablet or computer, set that address as its DNS server. How to set it shows the steps for iPhone and iPad, Android, another Mac and Windows. Or set it once in your router's DNS settings, so every device on the network gets it.
  4. Open a site by its name, such as http://blog.test/, or scan its QR code (in the Online pane, or on the site's card).
On my network switched on: the DNS address to give your devices, and each site's .test address with Copy and a QR code.
Figure 9.1On my network switched on: the DNS address to give your devices, and each site's .test address with Copy and a QR code.

Everything else keeps working on those devices: Pancake passes every other name on to this Mac's own DNS servers. Pancake never answers devices outside your local network.

Note

Other devices use plain http://. HTTPS with Pancake's own certificate works on this Mac only, for now.

9.3Name ending, wildcards and extra names

With Advanced on:

  • Name ending. test by default. Choose another, such as lan or home.arpa; .local and .localhost don't work for this.
  • Wildcards. Each site also answers on every subdomain (*.blog.test), which WordPress multisite needs.
  • Extra names. Point a name at another device (an office wiki, a NAS, a printer page) by typing the name and its IPv4 address, such as wiki.office.test → 192.168.1.30. Leave the address empty to point it at this Mac. Every device using Pancake as its DNS server can then open it by name.

9.4Local HTTPS

Some features (secure cookies, service workers, camera access, payment test modes) need https://. Pancake can give every .localhost site a trusted certificate.

  1. Open Settings ▸ Local HTTPS and click Turn on….
  2. Pancake makes its own certificate authority, which can only sign .localhost names, and asks macOS to trust it. Enter your Mac's password when asked (once).
  3. Sites now open at https://name.localhost without warnings in Safari and Chrome. A lock button appears on each site card.

HTTPS uses port 443 (or 8443 when Pancake runs on the alternate ports). Firefox keeps its own list of trusted authorities; turn on its setting to use macOS's certificates if it shows a warning. If the status says "Certificate made, not trusted yet", click Trust again….

For public names, certificates come from Cloudflare, Let's Encrypt or your own (see Putting sites online).

Mail from your sites

Every email your sites send lands in Pancake's Mailbox instead of real inboxes. When you're ready, send real mail through an SMTP service, and get uptime alerts on your phone.

10.1The Mailbox

Mail your sites send with PHP's mail() (which WordPress, Laravel and most PHP apps use) never leaves the Mac. It appears in the Mailbox, so you can test sign-up, order and password-reset emails safely, without spamming real people.

  • Open it with ⇧⌘M, or Mailbox in the menu bar icon.
  • Filter by Site, and switch each message between HTML, Text and Source.
  • Save attachments, or Show .eml to open the raw message file.
  • Delete All empties the Mailbox; right-click a message to delete just that one.

HTML mail is shown with JavaScript off and remote images blocked; links open in your browser.

10.2Sending real mail

TallStack Pancake can also send a site's mail to the real recipients through an SMTP service. Everything is still captured in the Mailbox.

  1. Open Settings ▸ Mail. Choose your service in Fill in for…: Mailgun, Postmark, Amazon SES, SendGrid, Resend or Brevo. Pancake fills in the server, port and security.
  2. Enter the User name, Password / API key and a Default sender, such as [email protected]. Click Save.
  3. Type your address in Test address and click Send Test.
  4. On each site that should send real mail, turn on Advanced and switch on Send real mail through the relay.
ServiceWhat to enter
MailgunUser postmaster@your-domain and its SMTP password.
PostmarkThe Server API token as both user and password.
Amazon SESSES SMTP credentials (not your AWS access key). Change the region in the server name if needed.
SendGridUser apikey and your API key.
ResendUser resend and your API key (TLS, port 465).
BrevoYour SMTP login and key.

Only mail captured after a site's relay was switched on is sent, never anything older than a day. A failed send is tried again after 1, 5 and 30 minutes. The password stays in your Keychain.

Note

Your service will only deliver mail from domains you've verified with it. Set up its SPF and DKIM records first, or messages may be rejected or land in spam.

10.3Push alerts to your phone

FullStack When a site you serve from this Mac goes down, Pancake shows a macOS notification on every plan. FullStack can also send the alert to your phone.

  1. Open Settings ▸ Push alerts and turn on Send uptime alerts to my phone.
  2. Choose a Service:
    • ntfy: keep the server https://ntfy.sh (or your own), click New Topic for a random topic name, and subscribe to it in the ntfy app. On ntfy.sh anyone who knows the topic can read it, so keep the random name.
    • Gotify: your server's address and an application token.
    • Pushover: an application API token and your user key.
  3. Click Save, then Send Test.

Alerts are sent when a site fails two checks in a row (about ten minutes) and again when it's back. Down alerts use the service's urgent priority.

Deploying

Publish a site to a static host, your hosting over SFTP or FTP, a managed WordPress host, an app platform or a brand-new cloud server, and edit live sites safely.

11.1The Deploy pane

The Deploy pane lists where each site is published. Each row shows the site and its target, the address, when it was last deployed and whether that worked, and a status dot. Pancake checks the dot only when you open the pane or click Check Now; it doesn't keep watching sites hosted elsewhere.

Row buttons: Deploy, Open, History and a trash button that forgets the target (nothing on the server is deleted). Server targets add Publish Database…, and with Advanced on, Connect Host API… and Set Up Host Database….

11.2Kinds of target

TargetGood forPlan
here.now, Netlify, Vercel, Cloudflare PagesStatic sites (HTML, built Vite or Lovable apps).ShortStack 1 target; TallStack unlimited
Server (SFTP) and Server (FTP / FTPS)Shared hosting and your own servers: PHP, WordPress, anything.TallStack
Heroku, DigitalOcean App Platform, RenderPHP and Python apps on an app platform.TallStack
Managed WordPress (Kinsta, WP Engine, Pressable)Deploy to staging, then promote to live.TallStack
A new cloud serverA server Pancake creates and sets up for the site.TallStack 3 on AWS; FullStack any provider

11.3Add a target and deploy

  1. Click + Add Target, choose the Site and where to Deploy to.
  2. For a static host or app platform, paste its API token. Pancake says where to find it, with an Open button. Optionally give an existing project, site or app to deploy into; otherwise Pancake creates one. Cloudflare Pages uses your Cloudflare connection; its token needs Account › Cloudflare Pages › Edit.
  3. For a server, type the Site address, pick a Hosting preset if your host is listed, and fill in the server, port, user, password or key, and the Folder on the server. A site you imported from a live website fills this in by itself.
  4. Click Add, then Deploy on the new row.

Only files that changed since the last deploy are sent, and files you deleted locally are removed from the server. These never leave your Mac:

  • .env files, SQL dumps and .git (also .svn, .DS_Store, node_modules and __pycache__);
  • for WordPress on a server: wp-config.php and the cache folder, because the server keeps its own.
Note

Static hosts serve finished files only: PHP and databases won't run there. Pancake warns you if you add one for a PHP or Python site.

11.4Checks before deploying

TallStack Before each deploy, Pancake shows Before Deploying with:

  • Files: how many will be sent, or that nothing changed.
  • PHP syntax: every changed PHP file is checked; an error stops the deploy unless you choose Deploy Anyway.
  • Local addresses: a warning about links to .localhost or 127.0.0.1 left in the site.

FullStack For server targets, Pancake also checks the host itself through a one-time, protected test page: its PHP version, the PHP extensions your site needs, memory and upload limits, and the database. If the host runs a different PHP version, Match My Host switches your local site to the same version, so you test what will really run.

11.5Edit a live site safely

A site you brought in from a live website remembers its server. Its card shows the host with two actions:

Download Again…
Brings the server's latest files down, after backing up the local site. Tick Also replace the database with the live one to refresh the data too. Works on every plan.
Publish to Server ▸ Files…
TallStack Publishes your changes back to the same server and folder, changed files only, after the usual checks. The server's own wp-config.php is kept.
Publish to Server ▸ Database…
TallStack Replaces the live database with your local one (below).

A typical round trip: Download Again, change and test at name.localhost, Publish Files. Publishing files never touches the live database.

11.6Publishing a database

TallStack Publish Database… replaces the server's database with the one on your Mac. Use it with care: anything added on the live site since you downloaded it (orders, comments, sign-ups) is replaced.

  1. Start All, then choose Publish Database….
  2. Read which database will be replaced, tick I understand the live site's current content will be replaced, and click Back Up and Publish.
  3. Pancake reads the server's database settings, saves a backup of the live database in Backups, makes a copy of your database with local addresses changed to the live ones, loads it on the server and checks that the site answers.

If the backup of the live database comes back empty, nothing is published. Your local database isn't changed.

11.7Creating the database on your host

TallStack For a new site on shared hosting, Set Up Host Database… (Advanced) asks your hosting control panel to create a database and user: cPanel (an API token from Security ▸ Manage API Tokens), Plesk (an API key) or DirectAdmin (a login key allowed to manage databases). Nothing else on the account changes. For WordPress, Pancake uploads a server wp-config.php for it, unless one is already there. Then click Publish Database Now….

11.8Managed WordPress hosts

TallStack With Kinsta, WP Engine and Pressable, Pancake deploys files to the staging environment, then asks the host to promote staging to live.

  1. Add a server target for the host's staging site (the Managed WordPress presets help).
  2. Click Connect Host API…, choose the host and enter its API details: for Kinsta an API key and company ID, for WP Engine an API user name and password, for Pressable a client ID and secret.
  3. Click Load Environments, choose which is staging and which is live, and Save.
  4. Deploy as usual, check the staging site, then click Promote to Live…. Kinsta and WP Engine are asked to back up live first; Pressable backs up both sites.

Clear Cache clears the host's cache for staging and live.

11.9App platforms

  • Heroku: Pancake uploads the site's files (never .env, dumps or .git) and Heroku builds them.
  • DigitalOcean App Platform and Render build from the site's GitHub or GitLab repository, which must be public: commit and push first (site card ▸ Git). Render has no PHP runtime, so PHP sites there need a Dockerfile.

Pancake adds a Procfile where needed. Python sites need a requirements.txt that includes gunicorn. Add a database in the platform's own dashboard if the site needs one.

11.10Create a server

TallStack Pancake can create a cloud server, set it up and put a PHP site on it: Amazon Lightsail and EC2 on TallStack (up to 3 servers), plus DigitalOcean, Hetzner, Vultr, Akamai Linode, ConoHa VPS and Sakura Cloud on FullStack.

  1. Start All, then click Create a Server….
  2. Choose the Site, the Provider and a Region (Tokyo, Seoul, Singapore, US and Europe regions, depending on the provider). Pancake shows the size it will use and a link to the provider's prices.
  3. Enter the provider's API token (for AWS, the access key and secret of an IAM user, never the root account; Copy the IAM policy Pancake needs helps). Keys are kept in your Keychain.
  4. Tick I understand … bills me for this server until I delete it and click Create Server.

Pancake creates the server and sets up Ubuntu with Apache, the site's PHP version and MariaDB, a firewall, fail2ban and automatic security updates. Only Pancake's SSH key can sign in. It then uploads the site and its database and adds a deploy target, so later changes go up with Deploy. When it's done, point your domain's DNS at the server's address.

The servers appear under Servers Pancake created, with Console and Delete Server…. Pancake deploys to them and can delete them; it doesn't manage or monitor them.

Careful

The provider bills you for each server until you delete it, whether or not you use it.

Backups and save points

Back up a site's files and databases in one click or every day, restore them, copy them off-site encrypted, and move sites between Macs with Pancake Cloud.

12.1Back up and restore

The Backups pane lists every site with its last backup.

  • Back Up saves the site's folder and its databases (MySQL, and PostgreSQL on FullStack) as one file in Pancake's storage. Back Up All Now does every site.
  • Restore… puts the latest backup back. The site's current folder goes to the Trash first, and Pancake takes a save point, so even a restore can be undone.

Start All before backing up: with the servers stopped, a backup holds the files only, and Pancake says so.

12.2Daily backups

With Advanced on, the Schedule section has:

  • Back up every day while Pancake is open: each site is backed up once it's more than a day since its last backup.
  • Keep the newest N backups of each site: 14 unless you change it. Older ones are removed.
  • Show backups folder.

All backups lists every backup with its date and size, and Restore…, Show and Delete (to the Trash) for each.

12.3Save points

Save points are named copies, made from the clock button on a site's card, and kept apart from the daily backups (the newest 20 of each site). Pancake makes them by itself before risky changes. See Save points.

12.4Off-site copies

FullStack Copy every backup to your own storage bucket, encrypted on your Mac first.

  1. In Backups (Advanced), under Off-site copies, choose the Storage: Amazon S3, Cloudflare R2, Backblaze B2, Wasabi or Other S3-compatible.
  2. Fill in the bucket, region (or R2 account ID, or server), a folder in the bucket, and an access key limited to that bucket (read, write, list and delete).
  3. Click Test, then Save, and turn on Copy every backup off-site.
  4. Click Recovery Key… and keep the key in your password manager.

After each backup, new backups are encrypted and copied. Keep the newest N copies of each site there is 30 unless you change it. Your storage only ever sees scrambled files, and your provider bills you for the space.

Careful

Off-site copies can only be opened with the Recovery Key. Without it, nobody can read them, not even Enfour.

On another Mac: set up the same bucket, open Recovery Key…, paste the key under Use the key from another Mac and click Use This Key. Then Download a backup from In the bucket and restore it from the list.

12.5Pancake Cloud

Pancake Cloud saves a site (files and databases), encrypted with your passphrase, to storage you own, and loads it back here or on another Mac. Saving is TallStack; loading works on every plan.

  1. In the Backups pane, under Pancake Cloud, click Set Up….
  2. Choose where to Save to:
    • My own server (SFTP): a server, user, password and folder (PancakeCloud unless you change it);
    • S3-compatible bucket: the same providers as off-site copies;
    • iCloud Drive: Pancake's own folder in your iCloud Drive, which your other Macs signed in to the same iCloud can see.
  3. Choose a passphrase of at least 10 characters, and whether to Remember on this Mac (Keychain).
  4. Click Test, then Save.
  5. Click Save All to Cloud, or pick one site from Save a Site.

To bring a site back, click Load… next to it. If the site exists on this Mac, it's replaced (its current state is kept as a save point first). If it doesn't, Pancake creates it, offline, with the backup's files and databases. Each site keeps its newest 5 cloud backups unless you change it.

Careful

A forgotten passphrase can't be recovered, by anyone. Keep it in your password manager.

Tip

Pancake Cloud is the easy way to move a site to a new Mac: save it on the old one, set up the same storage on the new one, and load it.

Services, tasks and workers

FullStack adds PostgreSQL, Valkey and Memcached, and runs scheduled tasks and background workers for your sites.

The Services pane: switches for Valkey, Memcached and PostgreSQL, then each site's tasks and workers.
Figure 13.1The Services pane: switches for Valkey, Memcached and PostgreSQL, then each site's tasks and workers.

13.1Databases and caches

FullStack The Services pane switches on three extra servers. Each runs on this Mac only, starts and stops with Pancake, and gives every site its address as environment variables.

ServiceSites getOptions
Valkey (Redis-compatible)REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, VALKEY_URL, REDIS_URLKeep data across restarts; Copy URL
MemcachedMEMCACHED_HOST, MEMCACHED_PORTMemory (16 MB to 1 GB)
PostgreSQL 17PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD, POSTGRES_URLA database and role for each site

PHP includes the redis, memcached, pgsql and pdo_pgsql extensions. Switching a service on or off restarts the servers if they're running. Each service shows its address (such as 127.0.0.1:6379) when it's running.

PostgreSQL databases are managed in the Databases pane.

13.2Scheduled tasks and workers

FullStack Each site in the Services pane can have:

  • Scheduled tasks, run on a cron-style schedule: WP-Cron, Laravel's scheduler, a Django management command, your test suite.
  • Workers, kept running and restarted if they stop: Laravel's queue:work, Celery and other queue workers.

They run in the site's folder with the site's environment (database settings included) while Pancake is open and the servers are running, like a cron on this Mac rather than on a server.

  1. Click Add on the site's card.
  2. Pick a Preset if one fits (Pancake offers those that match the site's files), or fill in a Name, the Kind (Scheduled task or Worker) and the Command.
  3. For a scheduled task, type the Schedule (cron). Pancake shows the next run as you type. Set Stop a run after to limit how long a run can take (10 minutes unless you change it).
  4. Click Save.
PresetKindCommandSchedule
Laravel schedulerTaskartisan schedule:run* * * * *
Laravel queue workerWorkerartisan queue:work --sleep=3 --tries=3
WP-CronTaskphp wp-cron.php*/5 * * * *
Run tests (PHPUnit)Taskphp vendor/bin/phpunit@daily
Django management commandTaskmanage.py clearsessions@daily

Each row shows when it last ran and whether it worked, with Run Now, Log and Edit. Output goes to the task's own log (task-<name>.log in the Logs window).

What a command can be

Commands start with php, artisan, composer, python or manage.py. There's no shell: pipes, ;, && and redirects aren't available, and nothing is expanded. Quotes work as usual.

Schedules

A schedule has five parts: minute, hour, day of the month, month and day of the week, in your Mac's time zone.

ScheduleRuns
*/5 * * * *Every five minutes
0 * * * * or @hourlyAt the start of every hour
30 2 * * *Every day at 2:30
0 9 * * mon-friWeekdays at 9:00
0 0 1 * * or @monthlyAt midnight on the 1st of each month

Lists (1,15), ranges (1-5), steps (*/15), month and day names, and @daily, @weekly, @yearly all work.

13.3Nginx

FullStack A site can use Nginx as its web server: on its card, turn on Advanced and set Web server to Nginx. See Advanced settings on a card.

The Assistant and MCP

Ask Pancake about your sites in plain words and let it do things for you, on Apple Intelligence or an AI of your choice, and connect Claude Code, Cursor, Codex and Claude Desktop.

The Assistant: ask a question, and it answers using Pancake's own tools.
Figure 14.1The Assistant: ask a question, and it answers using Pancake's own tools.

14.1Asking the Assistant

Open the Assistant pane, type a question in Ask Pancake… and press ⌘Return. Try:

  • "Which sites do I have?"
  • "Why is my blog showing an error?" (it reads the site's PHP and web server logs)
  • "Start Pancake"
  • "Make a PHP site called shop"
  • "How do I put a site at my own domain?" (it answers from Pancake's Help)

When the Assistant uses one of Pancake's tools, the chat says so ("Used sites list"). Clear starts a new conversation.

14.2Where the answers come from

The line under the pane's title always says which AI is answering.

Apple Intelligence on this Mac (the default)
Free, private and offline: nothing leaves your Mac. It needs a Mac with Apple silicon and Apple Intelligence turned on in System Settings. It works best with short, specific questions.
Private Cloud Compute
Apple's larger model, for longer requests and every tool. Requests are processed privately and never stored. It needs macOS 27 or later and has a daily limit per Apple Account; the pane says when you're close to it.
A cloud AI provider
Your own key for Anthropic (Claude), OpenAI, Google Gemini or OpenRouter, or VibeProxy on this Mac, which uses the Claude, ChatGPT or Gemini subscriptions you've connected in it, with no key. Off unless you switch it on.

To choose, turn on Advanced in the Assistant pane. Pick On this Mac (private, offline) or Private Cloud Compute, or turn on Send requests to a cloud AI provider, choose the Provider and Model, paste your API key and click Save (Get a key opens the provider's page).

Note

With a cloud provider, your messages and the tools' answers (site names, settings, log lines) go straight from your Mac to that provider, never through Enfour. Passwords, keys and tokens are removed first. The provider's own terms apply.

If you use KeyRotate, keys can come from it, and a key you type into Pancake is handed to it. See Keys and KeyRotate.

14.3Look only, or allow changes

At the end of the Assistant pane's Advanced settings, choose what the Assistant and connected AI tools may do:

  • Look only (the default): read sites, settings and logs. Nothing changes.
  • Allow changes: also start and stop, create sites, put them online, deploy, and write site files.

Turning Outside Access off is always allowed, because it only takes sites off the internet. Every tool call is written to assistant.log (in the Logs window), with who made it.

14.4Connecting Claude Code, Cursor, Codex and Claude Desktop

Pancake's MCP server lets AI coding tools on this Mac use the same tools as the Assistant: list your sites, read logs, start the servers, create a site, design a page, deploy. It listens on this Mac only, at http://127.0.0.1:19810/mcp, and every request needs a token.

  1. In the Assistant pane (Advanced), switch on MCP server for Claude Code, Cursor, Codex, Claude Desktop.
  2. Click Connect a Client… and choose your tool.
  3. Click Copy and paste the configuration where Pancake says. It includes your token.
Claude Code
Run the copied command in Terminal: claude mcp add --transport http pancake http://127.0.0.1:19810/mcp --header "Authorization: Bearer …"
Cursor
Add the copied pancake entry to ~/.cursor/mcp.json.
Codex
Add the copied [mcp_servers.pancake] section to ~/.codex/config.toml.
Claude Desktop
Choose Claude ▸ Settings ▸ Developer ▸ Edit Config and add the copied entry. It runs a small helper inside Pancake that connects to the server.

What the tools may do follows the Look only / Allow changes choice. New Token… replaces the token; every connected tool stops working until you paste the new configuration.

Careful

The token lets any program on this Mac use Pancake's tools. Keep it out of shared files and Git repositories.

14.5The tools

ToolWhat it doesNeeds Allow changes
help_searchSearches Pancake's Help.
stack_statusWhether the servers run, the port, Outside Access and the plan.
sites_list, site_infoYour sites, and one site's details.
logs_readThe last lines of a site's or server's log.
databases_listDatabases with their size and tables.
mail_listThe latest captured mail.
deploy_targetsWhere sites are deployed.
site_file_readLists or reads a site's files.
live_site_importOpens New Site ▸ From a live website.
stack_start, stack_stopStart or stop every server.Yes
outside_accessSwitch Outside Access on or off.To turn on
site_onlineSwitch a site Online.Yes
site_createCreate a PHP or static site.Yes
site_php, site_autoindexChange a site's PHP version or AutoIndex.Yes
deploy_runDeploy a site to a saved target.Yes
design_pageDesign a page from a description (save point first).Yes
site_file_writeWrite a text file in a site (save point first; the old version is kept as .pancake-bak).Yes

Settings, templates and plug-ins

Every section of the Settings pane, including server templates, PHP extensions and Apache modules, sync between Macs, KeyRotate, and removing Pancake's data.

15.1General

Open Pancake at login
Starts Pancake when you log in. If macOS asks, allow it in System Settings ▸ General ▸ Login Items.
Start servers when Pancake opens
Runs Start All by itself. Off unless you turn it on.
Show Pancake in the menu bar
The pancake icon in the menu bar. While it's showing, closing the window keeps your sites running.
Show advanced settings everywhere
Turns Advanced on in every pane.

15.2Subscription, Editors, Cloudflare, Mail and more

SectionWhat it doesSee
SubscriptionYour plan, Change plan, Manage in App Store, Restore Purchases.Plans
EditorsThe app the Edit button opens sites in.Edit in your own app
CloudflareYour connected domains, and Disconnect.Your own domain
Sync with my other MacsFullStack Keep sites and settings the same on your Macs.below
KeyRotateShare keys with KeyRotate.below
MailTallStack The SMTP relay for real mail.Sending real mail
Push alertsFullStack Uptime alerts on your phone.Push alerts
ImagesDefaults for Optimize Images.Optimize images
Local HTTPSTrusted certificates for .localhost.Local HTTPS
Git(Advanced) Your name and email for commits, a token for your Git host, and Pancake's SSH key (Create / Show Key, Copy Public Key).Git

15.3Advanced

Web ports
Standard; 80 and 443, or Alternate; 8080 and 8443 if you want Pancake to stay off the standard ports. Changing it restarts running servers.
Templates…
See Templates.
Plug-ins…
See Plug-ins.
Keep each log under
10 MB, 50 MB (the default), 200 MB or No limit. A log that grows past it is cut to its newest half.
Starter files for new PHP sites / static sites
A folder copied into every new site of that kind. Clear stops using it.
Show data folder, Show logs
Open Pancake's folders in the Finder.
Remove All Pancake Data…
See Removing everything.

15.4Templates

Pancake writes every server configuration file from templates. You can change any of them: the main Apache configuration (httpd.conf), the part written for every site (httpd-vhost.conf), php.ini for each PHP version, and MySQL's my.cnf.

  1. Open Settings ▸ Advanced ▸ Templates… (or File ▸ Edit Template).
  2. Click Edit next to a template. It opens in your text editor. Placeholders lists the {{PANCAKE_…}} values Pancake fills in, such as ports and folders; keep those in place.
  3. Save it, then click Apply.

Pancake checks each template with the real server before using it. If yours doesn't load, Pancake keeps using its own, shows the error and the line, and the Templates button says how many weren't applied. Changes shows what you changed; Reset goes back to Pancake's.

Import from MAMP PRO… turns MAMP PRO's custom templates into Pancake's, with a review of what was mapped, added and left out.

15.5Plug-ins

Plug-ins… switches Apache modules (such as expires, deflate, include and negotiation) and each PHP version's extensions (such as gd, intl and zip) on or off. Modules Pancake itself needs are always on. Defaults puts everything back; Apply restarts the servers with your choice.

15.6Sync with my other Macs

FullStack Turn on Sync sites and settings through iCloud to keep the same set-up on every Mac signed in to your iCloud.

SyncedNot synced
The sites list, service switches, scheduled tasks, outside database connections, mail relay, push alerts and network names.Site files and databases (move them with Backups, Pancake Cloud or Deploy); passwords and keys (enter them once on each Mac); and what belongs to one Mac: its Cloudflare tunnel, certificates, DDNS names and whether a site is online.

A site removed on one Mac leaves the list on the others, but its files there are never deleted. Your data goes to your own iCloud only. Sync Now syncs straight away; otherwise Pancake syncs every few minutes and when you switch to it.

15.7Keys and KeyRotate

KeyRotate is Enfour's key manager. With Sync keys with KeyRotate on (the default), Pancake shares these keys with it: AI keys (Anthropic, OpenAI, Gemini, OpenRouter), the Cloudflare API token, Vercel and here.now tokens, and DigitalOcean, Hetzner, Vultr and Akamai Linode tokens. KeyRotate keeps the master copy, rotates the keys and hands Pancake the current one.

The keys go through a Keychain group only the two apps share; they never leave your Mac. AWS keys aren't shared. Switch sync off to use Pancake's own Keychain only. If KeyRotate isn't installed, Pancake simply uses its own Keychain.

15.8Removing everything

Remove All Pancake Data… stops every server, then deletes Pancake's databases, settings, certificates (including the trust for its local certificate authority) and saved passwords, moves the site folders to the Trash, and quits.

Careful

Export any databases you need first (Databases ▸ Export). Site folders can still be recovered from the Trash; databases can't. Your subscription isn't affected: cancel it in the App Store if you want to.

Plans and subscription

What each stack includes, the free week, changing or cancelling, and what happens when a subscription ends.

16.1The three stacks

Every plan runs as many sites on your Mac as you like, with Apache, PHP, MySQL, Python, the Assistant and the MCP server. Taller stacks put more sites online and add more.

FeatureShortStackTallStackFullStack
Local sitesUnlimitedUnlimitedUnlimited
Newest PHP, MySQL 8.4, Python, Adminer✓✓✓
Older PHP per site (8.4, 8.3, 8.2, 7.1)✓
Imports, Git, Files and editor, Design with the Assistant✓✓✓
Local HTTPS, On my network, captured mail✓✓✓
Backups and save points✓✓✓
Outside MySQL and MariaDB✓✓✓
Outside PostgreSQL, databases through SSH✓✓
Sites online (test link or own domain)110Unlimited
Cloudflare and Route 53 domains, DDNS names1 each10 eachUnlimited
Static-host deploy targets1UnlimitedUnlimited
SFTP/FTP publishing, publish back to a live site, database publishing✓✓
Staging copies, per-site environment variables✓✓
Hosting panels, managed WordPress hosts, app platforms✓✓
Real mail through an SMTP relay✓✓
Saving to Pancake Cloud (loading works on every plan)✓✓
Apple Server import over SSH✓✓
Creating cloud servers3, on AWSUnlimited, any provider
Host checks and Match my hostBasic checks✓
PostgreSQL, Valkey, Memcached, Nginx✓
Scheduled tasks and workers✓
Off-site backups, push alerts, sync between Macs✓

The menu bar and Dock icons grow with your plan: a short stack, a tall stack, and a full stack with ice cream and a cherry on top.

16.2Subscribing and the free week

  1. Open Subscription in the sidebar (or Settings ▸ Subscription ▸ See plans…).
  2. Choose a stack. If you haven't had a free week before, the button says Start free week; otherwise Subscribe.
  3. Confirm with the App Store.

Plans are monthly subscriptions through your Apple Account. The free week is offered once per Apple Account, on whichever plan you pick first, and nothing is held back during it. Prices are shown in your currency in the app.

16.3Changing, restoring and cancelling

  • Change plan: Settings ▸ Subscription ▸ Change plan…, then Upgrade or Downgrade. Apple adjusts the price for the rest of the month.
  • On another Mac: sign in with the same Apple Account and click Restore Purchases.
  • Cancel: Manage in App Store, or System Settings ▸ your name ▸ Media & Purchases ▸ Subscriptions.

Your plan is remembered on the Mac, so Pancake keeps working offline. If Apple is retrying a payment, everything keeps working meanwhile.

16.4Counting sites across your Macs

The online-site limit counts all your Macs signed in to the same iCloud. If one Mac is serving your ShortStack site, another can't put a second one online; a Mac stops counting when Pancake quits or the Mac goes offline. Without iCloud, the limit is per Mac.

16.5If a subscription ends

Nothing is deleted. Your sites, databases and settings stay on your Mac, and you can always export every site's files and databases. Features that need a plan stop until you subscribe again, and then everything is as you left it.

After moving to a smaller plan, sites keep their settings: a site set to an older PHP runs on the newest PHP, and extra online sites stay offline, until you upgrade again.

Troubleshooting

What to do when a site doesn't open, a server won't start or a link doesn't work, where Pancake keeps things, and how to get help.

17.1First steps

  1. Look at the status pill. If it says Needs attention, hold the pointer over it to read the error.
  2. Open the Logs window (⌥⌘L). "Web server" and "MySQL" cover the servers; each site has "PHP errors" and "web server errors".
  3. Hold ⌥ and click Stop All to restart everything.
  4. Ask the Assistant: "Why is my blog showing an error?" It reads the logs for you.

17.2A site doesn't open

The browser can't connect
The servers are probably stopped: click Start All. The Open button is greyed out while they're stopped.
The address needs a port
If another web server on your Mac (macOS's Apache, MAMP, Docker) had port 80, Pancake moved to 8080: the status pill shows Running :8080, and addresses look like http://blog.localhost:8080. Use the site card's Open button, which always has the right address.
A blank page or "500 Internal Server Error"
A PHP error. Open the site's "PHP errors" log, or turn on Show errors in the page in its PHP settings.
"Error establishing a database connection"
MySQL isn't running (Start All), or the site's configuration uses fixed database details instead of the DB_… variables Pancake provides. Imported WordPress sites are set up to read them.
A folder shows "Forbidden"
It has no index page. Add index.html or index.php, or turn on AutoIndex.
Links like /about give "Not Found" in a React or Vite app
Turn on Single-page app on the site's card (Advanced).
WordPress sends you to the old live address
The database still has the old address. Import again and fill in Old site address to replace, or use From a live website, which changes it by itself.

17.3A server won't start

"MySQL didn't start listening"
MySQL may still be recovering after a crash (Pancake waits up to a minute). Read the "MySQL" log. If another MySQL uses port 3306, Pancake takes the next free port by itself, so that isn't the cause.
"… stopped unexpectedly"
A server crashed and Pancake stopped everything to keep the stack consistent. Read the log it names, then Start All again.
"Template … wasn't applied"
A template you edited doesn't load. Pancake is using its own; open Settings ▸ Advanced ▸ Templates…, fix the line it shows, or Reset.
A Python site says "Not set up yet"
Click Set Up on its card. If the app doesn't start, read its App Log; check the App entry (module:callable).

17.4Online problems

The test link doesn't appear
Check that Outside Access is on and the servers are running. A new link takes about 20 seconds; if none appears after a minute, the "test link" log says why (often a network that blocks outgoing tunnels).
My domain shows a Cloudflare error
The tunnel isn't connected: Outside Access is off, the servers are stopped, or the Mac is asleep or offline. The site's card in the Online pane shows the tunnel's state, and Show tunnel log (Advanced) has the details.
"Over your plan's public-site limit"
Switch another site off, or check whether another of your Macs is serving a site (the Online pane says which).
A phone can't open blog.test
The phone must use this Mac's address as its DNS server, and be on the same network. blog.localhost never works from a phone.

17.5Other problems

The browser warns about the certificate on https://name.localhost
Open Settings ▸ Local HTTPS and click Trust again…. In Firefox, turn on its option to use macOS's certificates.
Mail doesn't arrive
That's on purpose: mail is captured in the Mailbox (⇧⌘M). To send real mail, see Sending real mail.
An outside database won't connect
Read the message after Test; see If the test fails.
The Assistant says Apple Intelligence isn't available
Turn on Apple Intelligence in System Settings ▸ Apple Intelligence & Siri, and wait for its model to download. Macs without Apple Intelligence can use a cloud provider (see Where the answers come from).
An AI tool says "changes are switched off"
Choose Allow changes at the end of the Assistant pane's Advanced settings.

17.6Where Pancake keeps things

Pancake is sandboxed, so everything lives in its own container. Settings ▸ Advanced ▸ Show data folder opens it.

FolderContents
Sites/One folder per site.
logs/Every log (also Show logs).
backups/Backups and save points, one folder per site.
mail/Captured mail as .eml files.
mysql/MySQL's data.
templates/Templates you edited.

The full path is ~/Library/Containers/jp.co.enfour.pancake/Data/Library/Application Support/Pancake/. Passwords and keys are in your Keychain, never in these folders.

ServerPortIf it's taken
Web (HTTP)808080
Web (HTTPS)4438443
MySQL3306The next free port
PostgreSQL5432The next free port
Valkey6379The next free port
Memcached11211The next free port
MCP server19810
Xdebug (your editor listens)9003

17.7Getting help

  • Help ▸ Pancake Help (⌘?) has searchable topics in English, Japanese and Korean.
  • The Pancake Stack support page answers common questions and explains how to contact us.
  • When you write, mention your macOS version, your Mac (Apple silicon or Intel) and what the status pill and logs say. Please never send passwords or keys.

Privacy and your data

What stays on your Mac, what goes elsewhere and when, how secrets are kept, and the open-source software inside Pancake.

18.1What stays on your Mac

Pancake has no account and no analytics, and it sends nothing you build to Enfour. Your sites, databases, settings, backups and captured mail live in Pancake's container on your Mac. Passwords, tokens and keys live in your Keychain.

Your sites stay private until you choose otherwise: with Outside Access off, only this Mac can open them, whatever else is set. Pancake's own tools, such as Adminer, never go online.

18.2What goes elsewhere, and when

Only what you set up leaves your Mac, straight from the Mac to the service with your own credentials, never through Enfour:

When you…Goes to
Put a site onlineCloudflare (tunnel and DNS), or your router and DNS service.
Deploy or publishYour host, static host, app platform or cloud provider.
Copy backups off-site or save to Pancake CloudYour server, bucket or iCloud Drive, encrypted on your Mac first.
Turn on syncYour own iCloud (sites list and settings, no passwords).
Send real mail or push alertsYour SMTP service, or ntfy, Gotify or Pushover.
Use a cloud AI providerThat provider, with passwords and keys removed first.
Create a WordPress or Laravel site, or a Python appDownloads from wordpress.org, Packagist or PyPI.

Apple Intelligence on your Mac sends nothing anywhere. Private Cloud Compute processes requests privately and doesn't store them.

18.3How secrets are kept

  • Database passwords, API tokens, SSH keys and environment variables are kept in your Keychain, never in a site's files.
  • Sites read their database details from environment variables, so they never need to be written into wp-config.php or .env.
  • .env files, SQL dumps, keys and .htpasswd are never served to browsers, and .env files, dumps and .git are never deployed.
  • Before anything goes to a cloud AI, Pancake removes passwords, private keys and API tokens.

The full policy is the Pancake Stack privacy policy.

18.4Open-source software

Pancake is built on open-source servers and libraries: Apache, PHP, MySQL, PostgreSQL, Nginx, Valkey, Memcached, Python, uv, cloudflared and the libraries built into them. Help ▸ Open-source licences lists every component with its version and its licence in full, made from the same pinned sources Pancake's build compiles. The source code and build scripts are on the source code page.