linc / nitro-porter
The only multi-platform community migration tool. Free your community!
Installs: 470
Dependents: 0
Suggesters: 0
Security: 0
Stars: 75
Watchers: 7
Forks: 9
Type:project
pkg:composer/linc/nitro-porter
Requires
- php: >=8.3
- ext-gd: *
- ext-json: *
- ext-pdo: *
- ext-zlib: *
- adhocore/cli: ^1
- illuminate/database: ^11
- monolog/monolog: ^3
- nadar/quill-delta-parser: ^3
- s9e/text-formatter: 2.15.*
- staudenmeir/laravel-cte: ^1
Requires (Dev)
- dev-main
- v4.1
- v4.0.1
- v4.0
- v3.7.3
- v3.7.2
- v3.7.1
- v3.7.0
- v3.6.0
- v3.5.2
- v3.5.1
- v3.5.0
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.0
- v3.2.0
- v3.1.2
- v3.1.1
- v3.1
- v3.0
- v2.5
- v2.4
- v2.3
- v2.2
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1
- dev-feat/agorakit-target
- dev-feature/remove-raw-queries
- dev-feat/forumaccess-source
- dev-fix/postmention-attribute-order
- dev-feature/import
- dev-release/2.6
This package is auto-updated.
Last update: 2025-12-07 20:35:06 UTC
README
Nitro Porter is the only multi-platform community migration tool.
🚀 Mission
Every community deserves the best software for its mission while preserving its unique history. Nitro Porter's goal is sub-hour data migrations for most communities without developer support.
🔍 Why do this?
Community history is vitally important. Being able to change platforms creates competition in the software ecosystem. However, community software has high lock-in due to difficult data migrations, creating stagnation. Nitro Porter seeks to lower that friction and automate as much of the migration as possible. When everyone owns their own data and can freely choose their platform, everyone wins.
🤔 How is this possible?
Multi-platform migrations are made maintainable by first converting data to an intermediary "porter" format. This constrains migration paths to (# sources) + (# targets), rather than (# sources) x (# targets). This allows repeatable, testable results in a central project rather than myriad low-quality, single-purpose tools.
Nitro Porter allow anyone with basic programming skills to add a source or target. Any generally available forum software (commercial or free) may be added as a source or target. Nitro Porter uses the GNU AGPL 3.0 license to ensure it remains freely available to all.
🚥 Get started
- User Guide — requirements & install steps.
- Migration Guide — plan a community migration.
- Sources & Targets — support details.
- Start a Discussion — share how it went!
🎟️ Get involved
- Contribute — data, requests, & fixes.
- Changelog — latest fixes & updates.
- Roadmap — informal goals.
- History — how we got here.
What's Supported?
📥 Targets (3)
📤 Sources (37)
...and MORE!
✔ What data gets migrated?
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.
🔭 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 add a new Source for any software, provided it is not bespoke. For a new Target, we require support from the vendor if it is not free and open source software.
Currently, all data sources and targets are based on SQL databases (except the Vanilla target's flat file) and only natively supports MySQL-compatible connections. All other storage formats (like mbox or ASP Playground's MSSQL) requires pre-work to convert the data to a MySQL database. In the future, we plan to natively support MongoDB, PostgreSQL, MSSQL, & Web APIs. The 3.0 rewrite of Nitro Porter1 was done with that future in mind.
Footnotes
-
🚀 Forked 27 Sep 2021 in memory of Kyle ↩




















