Overview

What CaptainCore is, how its two halves divide the work, and who it is built for.

CaptainCore is an open source WordPress management toolkit for maintenance and hosting professionals. It is the production code behind Anchor Hosting, published so other developers can read it, borrow from it, or run it. Both halves are MIT licensed.

The two halves

CaptainCore ships as two cooperating programs.

CaptainCore Manager is a WordPress plugin. It holds the fleet’s state in its own database tables, exposes a REST API under /wp-json/captaincore/v1/, serves a single page dashboard at /account, and registers wp captaincore commands for scheduled work. Repository: github.com/CaptainCore/captaincore-manager.

CaptainCore CLI is a Go binary built with Cobra. It runs on a server you control, connects to managed sites over SSH, collects data with WP-CLI and bash remote scripts, and posts results back to the Manager’s token-authenticated API. Repository: github.com/CaptainCore/captaincore.

The Manager never touches customer servers. Every remote operation is a command dispatched to the CLI over HTTP. The CLI does the SSH work and reports back. See Architecture for the exact contract.

What it manages

  • Sites and environments. Each site tracks a production environment and optionally a staging one, with plugins, themes, users, core version, usage and screenshots synced in from the CLI.
  • Quicksaves. Git-backed change tracking of themes, plugins and core, with file-level diffs and rollbacks.
  • Backups. Restic repositories on Backblaze B2 reached through rclone, plus downloadable full-site snapshots.
  • DNS and domains. A DNS editor backed by Constellix, zone file import and export, and registrar integrations.
  • Billing. Hosting plans, invoices and renewals through WooCommerce.
  • Security operations. Threat tracking, security patches, scan and update queues, session anomaly detection and Google Web Risk checks.
  • Customer portals. Accounts get a scoped view of their own sites, optionally white-labeled on their own domain.
  • Provider integrations. API wrappers under app/Remote/ and app/Providers/ for Kinsta, GridPane, Rocket.net, Cloudflare, Constellix, Mailgun, Missive, Fathom, Envato, Hover.com, Spaceship and ForwardEmail.

Who it is for

CaptainCore is aimed at people who maintain many WordPress sites and are comfortable running a server, reading PHP and Go, and operating a CLI. It assumes you already have SSH access to the sites you manage.

A word of warning

This is opinionated software built to run one specific hosting business. It assumes a companion CLI server, and parts of it lean on third-party services like Constellix, Kinsta and Mailgun. You are welcome to run it, and the code is a good map of what running a WordPress maintenance business actually requires, but expect to read source rather than follow a setup wizard.

Quick start

Three steps on two machines.

  1. On a WordPress site with pretty permalinks enabled, install and activate the latest Manager release. It generates its CLI token on activation.
  2. On the server that will run the CLI, install it: curl -fsSL https://raw.githubusercontent.com/CaptainCore/captaincore/master/install.sh | bash
  3. Pair them with one command on the CLI server, using a WordPress application password for an administrator:
captaincore connect --url=https://mysite.com --username=admin --server-url=https://captaincore-api.example.com

That fetches the Manager’s CLI token and, in the same request, registers the CLI server’s address with the Manager, so neither side needs a hand-edited config or a wp-config.php constant. The pages below cover each step in detail.

Where to go next

  1. Requirements
  2. Install the Manager
  3. Install the CLI
  4. Connect your first site