prosembler/nitro-porter

The only multi-platform community migration tool. Free your community!

Maintainers

Package info

github.com/prosembler/nitro-porter

Type:project

pkg:composer/prosembler/nitro-porter

Transparency log

Statistics

Installs: 69

Dependents: 0

Suggesters: 0

Stars: 83

Open Issues: 3

v4.1 2025-11-30 20:18 UTC

README

Nitro Porter is the only multi-platform community migration tool. Its goal is fast no-code migrations for any community with accessible data.

Every community deserves the agency to choose the best software for its mission while preserving its history. All proprietary software has a finite lifespan and lock-in stifles competition, which leads to stagnation. When we own our data and can freely choose betweeen platforms, everyone wins.

Get Started

What's Supported?

Targets (4) ðŸ“Ĩ

Flarum NodeBB Vanilla Waterhole

Sources (37) ðŸ“Ī

AnswerHub ASPPlayground.NET bbPress Discord Drupal esoTalk Flarum FluxBB IPBoard Kunena MyBB NodeBB phpBB Simple Machines (SMF) SimplePress Uservoice Vanilla vBulletin XenForo

...and MORE!

What data gets migrated, exactly? ðŸšĨ

All sources & targets support migrating:

  • users & roles
  • discussions (or threads)
  • posts (or comments)
  • categories (or subforums, channels, etc.)

Beyond that, each supports different types of data depending on feature availability, extension choice, and maturity of the source/target package. These include things like badges, reactions, bookmarks, and polls.

Both the source and target must support a data type for it to transfer!

Nitro Porter never transfers permissions. It's not safe to do so automatically due to variations in how platforms implement them. You will always need to reassign permissions after a migration.

Passwords are generally hashed, which means no system can "decrypt" or "convert" them. However, if both the source and target platform support the same hashing algorithm, they should transfer seamlessly. Alternatively, the target system could add support for the source hashing algorithm and convert password hashes as users login next (see Garden/Password). This is beyond the scope of what any migration tool can do in isolation, but we're happy to answer questions about the process should you wish to build that functionality.

Future support 🔭

Don't see your software? Start a discussion to request it and keep an eye on our informal roadmap. We're happy to accept contributions of a new Source, Target, or Origin for any publicly available software. We occassionally accept requests for a new Source or sponsorships for any package type.

Today, some storage formats (e.g. mbox, MSSQL, API) first require conversion to a relational database with other software. The 3.0 rewrite of Nitro Porter1 was built with future support for those many more formats in mind and it will continue to expand.

Project Info

How does it work? ðŸĪ”

Data is first converted to an intermediary "porter schema," reducing the number of data paths from #sources x #targets to #sources + #targets. The result is repeatable results in a single multi-tool rather than myriad low-quality, single-purpose tools.

Why not 1-off migration tools? ðŸŠī

Data migrations typically require either time & skill (you are a programmer) or capital (you are a for-profit company). Nitro Porter aims to become increasingly accessible to everyone else by making both migrations & extensibility simple. Software tools should not be assumed disposible just because they don't have a 30% profit margin to exploit.

Can't AI do this? ðŸ“ŋ

No.

How can I learn more or help? 🎟ïļ

Footnotes

  1. 🚀 Forked 27 Sep 2021 in memory of Kyle â†Đ