Migrating from Plane Cloud to self-hosted instance

Last updated: June 25, 2026

Moving from Plane Cloud to a self-hosted instance requires a bit of planning, but it's very doable. Here's everything you need to know before you start.


Before You Begin

Set up your self-hosted instance first. Make sure your self-hosted instance is fully up and running before starting the migration. Follow the self-hosting guide if you haven't already.

On a paid Cloud plan? Read this first. Self-hosted Commercial Edition doesn't offer a trial period, so you'll need to purchase a license before you can access paid features on your self-hosted instance.

If you'd like to keep your Cloud subscription active during the migration so you don't lose access to paid features mid-move, reach out to us before you start. We'll make sure your Cloud subscription stays active until your migration is complete, at which point we can help you transition.

Invite your users first. Before migrating any data, make sure all your users are invited to the self-hosted workspace and have accepted their invites. Work items and other data reference user IDs, so users need to exist on the self-hosted instance before the data is migrated.


Migration Options

DIY Migration

Use our API endpoints and MCP Server to migrate programmatically. The general flow is — export each resource from Cloud using GET requests, then recreate them on your self-hosted instance using POST requests.

The order matters:

  • Set up projects first

  • Then states and labels

  • Add members to each project

  • Then migrate work items

  • Modules and cycles come after work items since you'll need the new work item IDs

  • Pages, Intake work items, and other data can be done last


Migrating Attachments

Attachments are a bit more involved than the rest of your data. Here's how it works:

  1. Download each attachment file from Cloud to your local machine using the attachment endpoints

  2. Re-upload them to your self-hosted instance using the upload endpoints

File size limit: The default file size limit on self-hosted is 5MB. If you had attachments larger than 5MB on Cloud, you'll need to increase the FILE_SIZE_LIMIT environment variable on your self-hosted instance before uploading them, otherwise the upload will fail.


Assisted Migration

Rather have us handle it? We offer white-glove migration services. Pricing depends on your data volume and complexity. Contact us to get a quote.


Need Help?

If you run into anything during the migration, reach out to support@plane.so and we'll help you get sorted.