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
| Component | Versions | Notes |
|---|---|---|
| Apache | 2.4 | Serves every site. Each site gets its own virtual host. |
| PHP | 8.5, 8.4, 8.3, 8.2 and 7.1 | Every plan runs the newest PHP. Choosing an older version per site is FullStack. |
| MySQL | 8.4 | One database and one user per site. Adminer is included for browsing it. |
| Python | 3.12, 3.13 and 3.14, with uv | For Django, Flask and FastAPI sites. |
| PostgreSQL | 17 | FullStack, switched on in Services. |
| Valkey and Memcached | Caches, FullStack. | |
| Nginx | An alternative web server per site, FullStack. | |
| cloudflared | Puts 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.
| Plan | In short |
|---|---|
| ShortStack | Unlimited local sites, one site online, one deploy target. |
| TallStack | Up 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. |
| FullStack | Everything 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.
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.

2.1The sidebar
Pancake has one main window. The sidebar lists its panes, and Pancake remembers which one you had open.
| Pane | What it is for |
|---|---|
| Sites | Every site, as a card: open it, edit it, choose its PHP version, back it up. See Working with sites. |
| Databases | Each site's MySQL database, Adminer, import and export, and outside databases. See Databases. |
| Online | Your local network and the internet: test links, your own domains, certificates. See Putting sites online. |
| Deploy | Where each site is published, and publishing again. See Deploying. |
| Backups | Backups, save points, off-site copies and Pancake Cloud. See Backups and save points. |
| Assistant | Ask questions and have Pancake do things for you; connect AI coding tools. See The Assistant and MCP. |
| Services | PostgreSQL, Valkey, Memcached, scheduled tasks and workers. FullStack See Services, tasks and workers. |
| Subscription | Your plan and the three stacks. See Plans and subscription. |
| Settings | Everything 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.
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:
| Action | Say 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
| Keys | Action |
|---|---|
| ⌘N | New Site (in the Sites pane) |
| ⇧⌘R | Start All / Stop All |
| ⌥-click Stop All | Restart every server |
| ⇧⌘M | Mailbox |
| ⌥⌘L | Logs |
| ⌥⌘D | Diagnostics |
| ⌘? | Pancake Help |
| ⌘S | Save, in the Files window |
| ⌘Return | Send, in the Assistant |
| ⌘Q | Quit 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
- In the Sites pane, click New Site at the top right, or press ⌘N.
- Under Create, choose PHP site, Static HTML site or Python app. (WordPress, Laravel and the other choices are described below.)
- Name. Type a name such as
blog. Pancake shows the address it will get,blog.localhost, as you type. - Kind. Check or change the kind: PHP site, Static HTML site or Python app.
- Version or framework. For PHP, pick the PHP version. For Python, pick Django, Flask, FastAPI or Existing project (WSGI).
- 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).
- Click Create. Pancake makes the folder, creates the site's database, and starts or reloads the servers.

When it's done, the site appears as a card in the Sites pane. Click Open to see it in your browser.
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?
| Choice | Best for | What Pancake asks |
|---|---|---|
| Static HTML site | Plain HTML, CSS and JavaScript; built sites from Vite, Lovable or a site-design app. | Name, who should see it. |
| PHP site | Any PHP code you write or copy in. | Name, PHP version, who should see it. |
| Python app | Django, Flask, FastAPI or any WSGI app. | Name, framework, who should see it. |
| WordPress | A ready-to-use WordPress, installed and signed in. | Name, title, admin user, email and password. |
| Laravel | A new Laravel app with its database migrated. | Name only. |
| Design with the Assistant | A designed home page from a description. | Name, a look, a description. See Design with the Assistant. |
| From a Blueprint | A 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
- Choose New Site ▸ WordPress.
- 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).
- Choose who should see it, and where WordPress comes from: Download the latest from wordpress.org, or A ZIP I downloaded.
- 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 fromstaticfilesand/media/frommedia. The card adds Migrate, Collect Static and Superuser… (then sign in at/admin/). - Flask runs
app:appunder gunicorn; FastAPI runsmain:appunder 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.
| Variable | Value |
|---|---|
DB_HOST | 127.0.0.1 |
DB_PORT | MySQL's port, usually 3306 |
DB_NAME, DB_DATABASE | The site's database |
DB_USER, DB_USERNAME | The site's database user |
DB_PASSWORD | Its password |
PANCAKE_SITE | The 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).
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).
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".
- Click the clock button on the site's card and choose Save a Save Point….
- Give it a name and click Save.
- 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_USERandDB_PASSWORDfor it. - Web server
- Apache, or Nginx FullStack:
try_filesrouting 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/aboutin 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.
- Click Add and type a name and value, or Paste from .env… to bring in a whole
.envfile at once. - 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.
- On the site's card (Advanced), choose Save as Blueprint…, name it and click Save. With the servers stopped, only the files are saved.
- 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.

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 (
.envfiles,.sqldumps, keys and.htpasswd) show a lock: they are never served to browsers, and Pancake doesn't edit them here. - New makes a file (
page.htmlunless 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.
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
- Select the code you want changed, or select nothing to work on the whole file.
- Click Ask the Assistant, describe the change ("make the header sticky") and click Ask.
- 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.
- Choose New Site ▸ Design with the Assistant and give the site a name. (For an existing site, open its Files and click Design….)
- Pick a look: Black & business, Fun, Elegant, Minimal, Warm & friendly, or Surprise me.
- Describe the site, for example "A bakery in Kyoto: our breads, opening hours, where to find us, a contact form".
- Optionally open More choices for a Layout (landing page, portfolio, restaurant or shop, documentation) and Colours.
- Click Design It and look at the preview at phone, tablet or desktop width.
- Ask for changes in Ask for a change ("make the header darker", "add a pricing section") until you like it, or Start Over.
- 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.
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.
| Choice | Use it for |
|---|---|
| From a folder or ZIP | Any site folder or archive: WordPress, Laravel, PHP, Django, Flask or static HTML. |
| From Lovable or Vite | React apps built with Vite, Lovable or Create React App. |
| From ChatGPT Sites | A site exported from ChatGPT as a ZIP. |
| From MAMP / MAMP PRO | Your MAMP hosts and their databases. |
| From XAMPP | Your XAMPP sites and databases. |
| From an Apache config folder | macOS's own Apache, Homebrew's, or a folder copied from a server. |
| From Apple Server | Websites from an old Mac running Server.app. |
| From a live website | A site on your hosting, over SFTP or FTP, with its database. |
| From GitHub / GitLab | Any Git repository. |
| From a cloud backup | Pancake Cloud, or a MAMP Cloud backup. |
6.2From a folder or ZIP
- Choose From a folder or ZIP and click Choose Folder or ZIP….
- Pancake shows what it found ("Found: WordPress"), which folder it will serve, and any
.sqldumps it will load. - 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.)
- 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:
- In Lovable, connect GitHub (Settings ▸ GitHub), or use Download codebase.
- In the project folder, run
npm install, thennpm run build. - Back in Pancake, click From GitHub… or From a Folder or ZIP…. Pancake finds
dist/(orbuild/) 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
- 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
- MAMP:
- Pancake lists the sites it found. Tick the ones you want, and edit the new
.localhostname of each. - If Pancake asks, click Give Access to Site Folders… so the sandbox can read them.
- 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.
- Click Import.
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….
- On the old Mac, turn on Remote Login (System Preferences ▸ Sharing).
- 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. - 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).
- Choose From a live website and type the Site address, such as
https://www.example.com. - 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).
- Choose how to connect: SFTP (SSH), FTP with TLS (explicit), FTPS (implicit TLS) or FTP; not encrypted. Use SFTP when your host offers it.
- Enter the Server, Port and User, and a password or SSH key.
- 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).
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
- Choose From GitHub / GitLab and paste the Repository address.
- 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).
- 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 PROin 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.

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
.sqlfile, named with the date and time. - Import… loads a
.sqlfile into a database, adding to or replacing what's there depending on the file.
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.
- Click Connect a database I already have….
- 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.
- Give it a Name, then the Server, Port, Database, User and Password.
- 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.
- Click Test, then Save.
- 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.
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.

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").
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.
8.2A temporary test link
The quickest way to show a site to someone. No account is needed.
- Open the Online pane and switch the site Online.
- Make sure Outside Access is on and the servers are running.
- 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.
- On the site's card in the Online pane, click Set Up… next to Use my own domain.
- The first time, connect Cloudflare: click Open Cloudflare…. Cloudflare's token page opens with most permissions filled in.
- Add one more permission row: Account › Cloudflare Tunnel › Edit. Create the token and copy it.
- Paste it into Cloudflare API token and click Connect. The token is kept in your Keychain.
- 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. - 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.
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
| ShortStack | TallStack | FullStack | |
|---|---|---|---|
| Sites online at once | 1 | 10 | Unlimited |
| Cloudflare and Route 53 domains | 1 | 10 | Unlimited |
| DDNS names | 1 | 10 | Unlimited |
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.
- 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.
- Click Add Name, choose the site and a DNS service, and type the name, such as
blog.example.comormyblog.duckdns.org. - 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.
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
- In the Online pane, turn on On my network.
- 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. - 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.
- 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).

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.
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.
testby default. Choose another, such aslanorhome.arpa;.localand.localhostdon'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.
- Open Settings ▸ Local HTTPS and click Turn on….
- Pancake makes its own certificate authority, which can only sign
.localhostnames, and asks macOS to trust it. Enter your Mac's password when asked (once). - Sites now open at
https://name.localhostwithout 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.
- 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.
- Enter the User name, Password / API key and a Default sender, such as
[email protected]. Click Save. - Type your address in Test address and click Send Test.
- On each site that should send real mail, turn on Advanced and switch on Send real mail through the relay.
| Service | What to enter |
|---|---|
| Mailgun | User postmaster@your-domain and its SMTP password. |
| Postmark | The Server API token as both user and password. |
| Amazon SES | SES SMTP credentials (not your AWS access key). Change the region in the server name if needed. |
| SendGrid | User apikey and your API key. |
| Resend | User resend and your API key (TLS, port 465). |
| Brevo | Your 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.
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.
- Open Settings ▸ Push alerts and turn on Send uptime alerts to my phone.
- 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.
- ntfy: keep the server
- 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
| Target | Good for | Plan |
|---|---|---|
| here.now, Netlify, Vercel, Cloudflare Pages | Static 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, Render | PHP 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 server | A server Pancake creates and sets up for the site. | TallStack 3 on AWS; FullStack any provider |
11.3Add a target and deploy
- Click + Add Target, choose the Site and where to Deploy to.
- 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.
- 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.
- 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:
.envfiles, SQL dumps and.git(also.svn,.DS_Store,node_modulesand__pycache__);- for WordPress on a server:
wp-config.phpand the cache folder, because the server keeps its own.
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
.localhostor127.0.0.1left 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.phpis 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.
- Start All, then choose Publish Database….
- Read which database will be replaced, tick I understand the live site's current content will be replaced, and click Back Up and Publish.
- 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.
- Add a server target for the host's staging site (the Managed WordPress presets help).
- 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.
- Click Load Environments, choose which is staging and which is live, and Save.
- 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.
- Start All, then click Create a Server….
- 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.
- 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.
- 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.
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.
- In Backups (Advanced), under Off-site copies, choose the Storage: Amazon S3, Cloudflare R2, Backblaze B2, Wasabi or Other S3-compatible.
- 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).
- Click Test, then Save, and turn on Copy every backup off-site.
- 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.
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.
- In the Backups pane, under Pancake Cloud, click Set Up….
- Choose where to Save to:
- My own server (SFTP): a server, user, password and folder (
PancakeCloudunless 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.
- My own server (SFTP): a server, user, password and folder (
- Choose a passphrase of at least 10 characters, and whether to Remember on this Mac (Keychain).
- Click Test, then Save.
- 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.
A forgotten passphrase can't be recovered, by anyone. Keep it in your password manager.
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.

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.
| Service | Sites get | Options |
|---|---|---|
| Valkey (Redis-compatible) | REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, VALKEY_URL, REDIS_URL | Keep data across restarts; Copy URL |
| Memcached | MEMCACHED_HOST, MEMCACHED_PORT | Memory (16 MB to 1 GB) |
| PostgreSQL 17 | PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD, POSTGRES_URL | A 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.
- Click Add on the site's card.
- 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.
- 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).
- Click Save.
| Preset | Kind | Command | Schedule |
|---|---|---|---|
| Laravel scheduler | Task | artisan schedule:run | * * * * * |
| Laravel queue worker | Worker | artisan queue:work --sleep=3 --tries=3 | |
| WP-Cron | Task | php wp-cron.php | */5 * * * * |
| Run tests (PHPUnit) | Task | php vendor/bin/phpunit | @daily |
| Django management command | Task | manage.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.
| Schedule | Runs |
|---|---|
*/5 * * * * | Every five minutes |
0 * * * * or @hourly | At the start of every hour |
30 2 * * * | Every day at 2:30 |
0 9 * * mon-fri | Weekdays at 9:00 |
0 0 1 * * or @monthly | At 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.

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).
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.
- In the Assistant pane (Advanced), switch on MCP server for Claude Code, Cursor, Codex, Claude Desktop.
- Click Connect a Client… and choose your tool.
- 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
pancakeentry 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.
The token lets any program on this Mac use Pancake's tools. Keep it out of shared files and Git repositories.
14.5The tools
| Tool | What it does | Needs Allow changes |
|---|---|---|
help_search | Searches Pancake's Help. | |
stack_status | Whether the servers run, the port, Outside Access and the plan. | |
sites_list, site_info | Your sites, and one site's details. | |
logs_read | The last lines of a site's or server's log. | |
databases_list | Databases with their size and tables. | |
mail_list | The latest captured mail. | |
deploy_targets | Where sites are deployed. | |
site_file_read | Lists or reads a site's files. | |
live_site_import | Opens New Site ▸ From a live website. | |
stack_start, stack_stop | Start or stop every server. | Yes |
outside_access | Switch Outside Access on or off. | To turn on |
site_online | Switch a site Online. | Yes |
site_create | Create a PHP or static site. | Yes |
site_php, site_autoindex | Change a site's PHP version or AutoIndex. | Yes |
deploy_run | Deploy a site to a saved target. | Yes |
design_page | Design a page from a description (save point first). | Yes |
site_file_write | Write 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
| Section | What it does | See |
|---|---|---|
| Subscription | Your plan, Change plan, Manage in App Store, Restore Purchases. | Plans |
| Editors | The app the Edit button opens sites in. | Edit in your own app |
| Cloudflare | Your connected domains, and Disconnect. | Your own domain |
| Sync with my other Macs | FullStack Keep sites and settings the same on your Macs. | below |
| KeyRotate | Share keys with KeyRotate. | below |
| TallStack The SMTP relay for real mail. | Sending real mail | |
| Push alerts | FullStack Uptime alerts on your phone. | Push alerts |
| Images | Defaults for Optimize Images. | Optimize images |
| Local HTTPS | Trusted 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.
- Open Settings ▸ Advanced ▸ Templates… (or File ▸ Edit Template).
- 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. - 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.
| Synced | Not 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.
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.
| Feature | ShortStack | TallStack | FullStack |
|---|---|---|---|
| Local sites | Unlimited | Unlimited | Unlimited |
| 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) | 1 | 10 | Unlimited |
| Cloudflare and Route 53 domains, DDNS names | 1 each | 10 each | Unlimited |
| Static-host deploy targets | 1 | Unlimited | Unlimited |
| 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 servers | 3, on AWS | Unlimited, any provider | |
| Host checks and Match my host | Basic 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
- Open Subscription in the sidebar (or Settings ▸ Subscription ▸ See plans…).
- Choose a stack. If you haven't had a free week before, the button says Start free week; otherwise Subscribe.
- 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
- Look at the status pill. If it says Needs attention, hold the pointer over it to read the error.
- Open the Logs window (⌥⌘L). "Web server" and "MySQL" cover the servers; each site has "PHP errors" and "web server errors".
- Hold ⌥ and click Stop All to restart everything.
- 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.htmlorindex.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.localhostnever 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.
| Folder | Contents |
|---|---|
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.
| Server | Port | If it's taken |
|---|---|---|
| Web (HTTP) | 80 | 8080 |
| Web (HTTPS) | 443 | 8443 |
| MySQL | 3306 | The next free port |
| PostgreSQL | 5432 | The next free port |
| Valkey | 6379 | The next free port |
| Memcached | 11211 | The next free port |
| MCP server | 19810 | |
| 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 online | Cloudflare (tunnel and DNS), or your router and DNS service. |
| Deploy or publish | Your host, static host, app platform or cloud provider. |
| Copy backups off-site or save to Pancake Cloud | Your server, bucket or iCloud Drive, encrypted on your Mac first. |
| Turn on sync | Your own iCloud (sites list and settings, no passwords). |
| Send real mail or push alerts | Your SMTP service, or ntfy, Gotify or Pushover. |
| Use a cloud AI provider | That provider, with passwords and keys removed first. |
| Create a WordPress or Laravel site, or a Python app | Downloads 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.phpor.env. .envfiles, SQL dumps, keys and.htpasswdare never served to browsers, and.envfiles, dumps and.gitare 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.