These docs have been generated using AI. Expect inaccuracies until we remove this banner.

Install Troy Server

Troy Server transforms a WordPress site into your personal plugin repository. Here's how to set it up.

Requirements

RequirementVersion
WordPress6.8+
PHP8.4+
MySQL8.0.19+
HTTPSRequired

Use a Dedicated WordPress Install:

Troy Server works best on its own WordPress installation—even a simple $5/month VPS will do. Don't install it on your main website.

No Caching or Translation Plugins:

Do not install caching plugins (WP Super Cache, W3TC, LiteSpeed, etc.) or translation plugins on your Troy Server. They interfere with REST API responses and cause update failures for your users.

Quick Install

1

Download the Package

Get the Troy Server installer package (includes Troy Client):

Download Troy Server Package

2

Upload to WordPress

In your WordPress admin:

  1. Go to Plugins → Add New
  2. Click Upload Plugin
  3. Choose the ZIP file
  4. Click Install Now
3

Activate

Click Activate Plugin.

The installer will:

  • Set up Troy Client
  • Set up Troy Server
  • Deactivate itself when done
4

Configure

Go to Settings → Troy Server and configure your repository:

  • Set your repository name
  • Configure statistics preferences
  • Review API settings

After Installation

Once installed, your Troy Server is live at your WordPress URL. The API endpoints are automatically available:

  • https://your-site.com/ping — Health check
  • https://your-site.com/plugin/get/updates — Update API
  • https://your-site.com/plugin/get/info — Plugin info
  • https://your-site.com/plugin/get/zip/{slug} — Download endpoint

Test it: Visit https://your-site.com/ping in your browser. You should see a response.

Hosting Recommendations

Good choices:

  • Any VPS (DigitalOcean, Linode, Vultr—even the cheapest tier)
  • Cloud hosting with PHP 8.4+ (AWS, Azure)
  • Managed WordPress hosts that support PHP 8.4

Not ideal:

  • Shared hosting (often lacks PHP 8.4)
  • Hosts without HTTPS support
  • Hosts with aggressive resource limits

HTTPS is Required

Troy Server only serves updates over HTTPS. Troy Client refuses non-HTTPS connections. This is intentional—security isn't optional.

If you're using a VPS, Let's Encrypt provides free SSL certificates.

Set Up Real Cron

WP-Cron only runs when someone visits your site. For a reliable update server, use a real cron job:

1. Disable WP-Cron in wp-config.php:

define( 'DISABLE_WP_CRON', true );

2. Add a system cron job (runs every minute):

* * * * * curl -s https://your-troy-server.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

See Troubleshooting for more details.

Next Steps

Your server is ready. Now add your first plugin.