flux

Docs

Set up Flux on your first site.

From an SSH login to a reviewed publish. Most sites take a few minutes to connect; the first preview takes as long as copying the site does.

Requirements

  • A Mac with Docker Desktop (or Docker Engine) 28 or newer, running. The first preview downloads the official WordPress, MySQL, WP-CLI and nginx images, so it needs internet access, disk space and Docker memory.
  • SSH or SFTP access to the hosting account, with WP-CLI available on the server. Admin-only and FTP-only hosting can’t be copied.
  • A single-site WordPress install on PHP 7.4 or 8.0 to 8.5. Multisite isn’t supported. Older PHP versions fail with a clear message; Flux never upgrades them silently.
  • Free disk space of roughly twice the site’s size plus 2 GB. Flux checks before and during the copy.
  • An AI key from Anthropic, OpenAI or OpenRouter, or hosted AI on a paid plan.

Install and sign in

  1. 1Apply for the assisted agency pilot.
  2. 2Follow the download guide to install Python 3.12, the matching engine, and the desktop app. Sign in with the same account.
  3. 3Open AI settings and add your own key, or switch to hosted AI if your plan includes it.

Connect a site

  1. 1Choose Add site and enter the hosting account’s SSH host, port and username, with a password or private key. Use the hosting login, not a WordPress admin login.
  2. 2Confirm the server’s key fingerprint the first time. If the key ever changes, Flux blocks the connection.
  3. 3Flux searches the account for WordPress, including Cloudways application folders. If it finds more than one install, you choose which.
  4. 4Flux reads the site’s theme, plugins and page builder. The connection panel reports each step separately, so a failed step is easy to spot.

Credentials are stored in your operating system’s keychain and held in memory while Flux runs. They’re never copied into the preview.

Ask questions before changing anything

Open a conversation on the site and ask what you need to know: where a piece of text comes from, which plugin renders a form, why a page is slow. Before a preview exists, Flux can read the live site but can’t write to it. The engine enforces this, including in auto-approve mode.

If you ask Flux not to change anything, the conversation stays read-only for its whole turn.

Create a local preview

  1. 1Choose Create local preview. Flux checks Docker, the PHP version and database access before copying anything.
  2. 2It exports the database first, then copies the theme, plugins, uploads and other files. Progress shows files and bytes against the known totals.
  3. 3WordPress starts locally on the site’s PHP version, with URLs rewritten safely for the copy, including inside serialized data.

Hosting credentials, configuration secrets, caches and backups are left out of the copy. Every copied file is hashed. You can cancel at any point, and an interrupted copy can be discarded and started again. If the copy finished but startup failed, Retry local startup rebuilds the services without downloading the site again.

The copy isn’t an atomic snapshot of files and database together. Transactional tables are exported in one transaction; older MyISAM tables are copied with a visible warning that their rows can change during the copy.

Make changes

With the Local preview target selected, describe what you want. Flux can edit theme and plugin files, supported classic Elementor structures, WordPress settings and page fields, create pages, add pages to existing menus, and create WooCommerce product categories. The Elementor Atomic MCP bridge is pilot-only: on a compatible Elementor 4.3 beta and WordPress 6.9+ setup it creates new Atomic pages, but does not edit arbitrary existing Atomic pages. Check the compatibility table before choosing a pilot site.

Each edit asks for your approval, snapshots what it’s about to change, and reads the result back. Approving an edit only changes the preview. Use the built-in preview with mobile, tablet and desktop widths to check the result.

Review and publish

  1. 1Open Changes and refresh. Select the files and WordPress values you want to ship.
  2. 2Prepare a review. Flux freezes that exact selection and shows each diff and its destination.
  3. 3Choose Publish reviewed changes. Flux checks every target still matches what it copied, saves private recovery records, writes your selection and reads it back.

If a write fails, Flux attempts a verified rollback and reports anything it couldn’t restore. Editing again, or restarting Flux, expires a prepared review so you never publish something you didn’t see.

The live check and the write are separate steps. An editor saving the same value at that moment can be overwritten. For busy sites, publish when editors aren’t working on the same pages.

Revert a publish

Published file and value changes support Prepare revert review, followed by another explicit publish. Reverts also check for live changes first. New pages, menu items and product categories can’t be reverted automatically; remove them with a separate, reviewed change. Discarding a preview never reverts the live site.

Cloudways staging

Add a Cloudways API access token in settings to let Flux find each site’s staging app on the same server. Flux can then read staging logs and, with your approval, sync code or database tables between staging and production. Every sync takes a platform backup first, waits for Cloudways to finish, checks the live site and records the result.

Syncs need a token with staging permissions. A read-only token can inspect but not sync.

Troubleshooting

  • SSH authentication failed. The host rejected the saved login. Use Site → Update access to fix the host, port, username or key; leaving the password blank keeps the saved one.
  • Docker couldn’t be reached. Start Docker Desktop and retry. Flux looks for the Docker CLI in the usual install locations even when launched from the Dock.
  • PHP memory errors. The host’s command-line PHP can have a lower memory limit than the web server. Check the account’s CLI PHP settings and heavy plugins, then reconnect.
  • The copy is too large. Flux stops with an explicit error rather than quietly skipping media.

Limits

  • Copy: up to 200,000 files, 8 GB per file, 100 GB of files in total and an 8 GB database.
  • Publish: up to 200 selected changes, 32 MB per file and 128 MB combined.
  • Never published: configuration secrets, preview guards, .htaccess, orders, customers, accounts or a full database replacement.
  • Not reproduced in the preview: multisite, custom hosting rewrites, custom PHP extensions, external media or CDNs, and plugin services that depend on production settings.