Requirements
What the Manager, the CLI server and your managed sites each need before you start.
CaptainCore Manager
The plugin’s manifest.json declares the versions the self-updater reports to WordPress.
| Field | Value |
|---|---|
requires |
6.0 |
tested |
7.0 |
requires_php |
7.4 |
A standard WordPress install with MySQL or MariaDB is enough to activate the plugin. The Manager creates its own tables rather than using custom post types.
Composer dependencies ship inside the release zip (vendor/ is included by bin/build-zip.sh), so you do not need Composer to install it. The declared requirements in composer.json are kriswallsmith/buzz, badcow/dns, spomky-labs/otphp and geoip2/geoip2.
Billing features run on WooCommerce. If you are not using them, you do not need it.
WP-CLI on the Manager host is not strictly required, but the wp captaincore commands are how scheduled fleet work is run, so in practice you want it.
CaptainCore CLI server
The CLI is a compiled Go binary plus a repository of bash scripts. Both are needed: the binary shells out to ~/.captaincore/app/ for some commands and to ~/.captaincore/lib/remote-scripts/ for work done over SSH.
Operating system. install.sh detects Linux and Darwin only, on x86_64, arm64 or armv7. Anything else exits with “Unsupported platform”. Release builds are produced by GoReleaser for linux and darwin on amd64, arm and arm64 with CGO_ENABLED=0.
Runtime dependencies. captaincore connect checks for three binaries on PATH and warns if any are missing:
| Binary | Purpose |
|---|---|
rclone |
cloud storage sync |
restic |
encrypted backups |
git |
quicksave version tracking |
Building from source. go.mod declares go 1.25.0, so you need Go 1.25 or newer to build. You do not need Go if you install a released binary.
Storage. The CLI keeps a SQLite database at ~/.captaincore/data/captaincore.db. It holds plaintext SSH, database and offload credentials, so the CLI chmods it to 0600 on open. Give the CLI server the same care you would give a credential store.
Managed sites
Each environment CaptainCore manages needs:
- SSH or SFTP access. An environment record stores an address, username, password, protocol (
sftporssh) and port.captaincore sshand every remote script run over that connection. - WP-CLI on the remote host. The
fetch-site-dataremote script callswp plugin list,wp theme list,wp core version,wp option get home,wp user listandwp core verify-checksums. Without WP-CLI, syncs return nothing useful. - A WordPress install in the connection’s home directory.
fetch-site-dataexits withWordPress not foundif there is nowp-config.phpthere.
fetch-site-data also installs a CaptainCore helper mu-plugin when it is missing, by piping https://run.captaincore.io/deploy-helper to bash. If your sites cannot reach that URL, that step will fail.
Third-party services
Nothing in this list is needed to install and activate either half. Each one gates a specific feature.
| Service | Needed for |
|---|---|
| Backblaze B2 (via rclone and restic) | backups, snapshots, archives |
| Dropbox or another rclone remote | log and archive storage, if you configure it |
| Kinsta, WP Engine, Rocket.net, GridPane | hosting provider automation and provisioning |
| Constellix | the DNS editor |
| Hover.com, Spaceship | domain registrar management |
| Mailgun, Forward Email | customer email management |
| Fathom | site analytics in the dashboard |
| Intercom | live chat |
| Envato | marketplace license lookups |
| WooCommerce plus a payment gateway | plans, invoices and renewals |
| Google Web Risk | malware and phishing checks |
The provider types the Settings screen offers are the twelve listed in templates/core/settings.js as PROVIDER_TYPES: kinsta, wpengine, rocketdotnet, gridpane, constellix, hoverdotcom, spaceship, mailgun, forwardemail, fathom, intercom and envato.