{"id":16462246,"url":"https://github.com/linc/nitro-porter","last_synced_at":"2025-04-05T06:04:03.166Z","repository":{"id":43084101,"uuid":"279126783","full_name":"linc/nitro-porter","owner":"linc","description":"The only multi-platform community migration tool. Free your forum!","archived":false,"fork":false,"pushed_at":"2024-12-31T00:28:30.000Z","size":2360,"stargazers_count":61,"open_issues_count":4,"forks_count":8,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-29T05:06:03.885Z","etag":null,"topics":["community","data-portability","database","forums","migration","php","utility-application"],"latest_commit_sha":null,"homepage":"https://nitroporter.org","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":"FUNDING.yml","license":"COPYING","code_of_conduct":"code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["linc"],"ko_fi":"lincolnwebs"}},"created_at":"2020-07-12T18:43:40.000Z","updated_at":"2025-03-21T04:59:46.000Z","dependencies_parsed_at":"2023-12-25T21:37:57.419Z","dependency_job_id":"37a20fe2-60f2-439d-ba61-f0f48cc733dc","html_url":"https://github.com/linc/nitro-porter","commit_stats":{"total_commits":1209,"total_committers":38,"mean_commits":31.81578947368421,"dds":0.4921422663358147,"last_synced_commit":"c56a13d7d9c5b5299d2c924d20d499449fc3ef06"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linc%2Fnitro-porter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linc%2Fnitro-porter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linc%2Fnitro-porter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linc%2Fnitro-porter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linc","download_url":"https://codeload.github.com/linc/nitro-porter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294516,"owners_count":20915340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["community","data-portability","database","forums","migration","php","utility-application"],"created_at":"2024-10-11T11:10:48.590Z","updated_at":"2025-04-05T06:04:03.138Z","avatar_url":"https://github.com/linc.png","language":"PHP","readme":"Nitro Porter 🚀\n==============\n\nThe only multi-platform community migration tool. Free your forum!\n\nNitro Porter is based on PHP 8.2+ and runs via the command line.\n\n## Documentation\n\n### 🚥 Get started\n\n* [**User Guide**](https://nitroporter.org/guide) for requirements \u0026 install steps.\n* [**Migration Guide**](https://nitroporter.org/migrations) to plan a community migration.\n* [**Sources**](https://nitroporter.org/sources) \u0026 [**Targets**](https://nitroporter.org/targets) detail what's supported.\n* [**Start a Discussion**](https://github.com/linc/nitro-porter/discussions) to share how it went.\n\n### 🎟️ Get involved\n\n* [**Contribute**](docs/contribute.md) data, requests, fixes, or success stories.\n* [**Changelog**](CHANGELOG.md) has latest fixes \u0026 updates.\n* [**Roadmap**](https://github.com/users/linc/projects/2) contains informal goals, not ETAs.\n* [**History**](docs/history.md) gives more context to the project.\n\n### 🚀 Mission statement\n\nCommunity history is vitally important, and being able to change software is important for the health of the ecosystem.\nHowever, community software often has high lock-in due to the difficulty of a data migration.\n\nNitro Porter exists because your community deserves to both use the best tools available and preserve its unique history.\n\nThis tool is designed for ease of extensibility to allow anyone with basic programming skills to add a source or target.\nAny generally available forum software (commercial or free) may be added as a source or target.\nIt does not include bespoke or custom forum software, but is designed to allow individuals to create such support easily for their private use.\n\nNitro Porter uses the [GNU AGPL 3.0 license](COPYING) to ensure it remains freely available to anyone who needs it.\nThat means code for all new packages written for it must likewise be made freely available.\n\n## What's Supported?\n\n### 📥 Targets ([3](https://nitroporter.org/targets))\n\n![Flarum](assets/logos/flarum-300x100.png)\n![Vanilla](assets/logos/vanilla-300x100.png)\n![Waterhole](assets/logos/waterhole-300x100.png)\n\n### 📤 Sources ([37](https://nitroporter.org/sources))\n* bbPress\n* Drupal\n* Flarum\n* FluxBB\n* IPBoard\n* MyBB\n* NodeBB\n* phpBB\n* Simple Machines (SMF)\n* Vanilla\n* vBulletin\n* XenForo\n* _...[and MORE](https://nitroporter.org/sources)!_\n\n### ✔ What data gets migrated?\n\nAll sources \u0026 targets support migrating:\n* users \u0026 roles\n* discussions (or _threads_)\n* posts (or _comments_)\n* categories (or _subforums_, _channels_, etc.)\n\nBeyond that, each supports **different types of data** depending on feature availability, extension choice, and maturity of the source/target package.\nThese include things like badges, reactions, bookmarks, and polls.\n\n**_Both the source and target must support a data type for it to transfer!_**\n\nNitro Porter **never** transfers permissions. It's not safe to do so automatically due to variations in how platforms implement them.\nYou will **always** need to reassign permissions after a migration.\n\n### 🔭 Future support\n\nDon't see your software? [Start a discussion](https://github.com/linc/nitro-porter/discussions/new) to request it and keep an eye on our [informal roadmap](https://github.com/users/linc/projects/2).\nWe're happy to add a new **Source** for any software, provided it is not bespoke.\nFor a new **Target**, we require support from the vendor if it is not free and open source software.\n\nCurrently, all data sources and targets are based on SQL databases (except the Vanilla target's flat file)\nand only natively supports MySQL-compatible connections. All other storage formats (like mbox or ASP Playground's MSSQL) \nrequires pre-work to convert the data to a MySQL database.\n\nIn the future, we plan to natively support:\n* PostgreSQL\n* MSSQL\n* MongoDB\n* Web-based APIs\n\nThe 3.0 rewrite of Nitro Porter was done with that future in mind.[^1]\n\n[^1]: 🚀 Forked 27 Sep 2021 [in memory of Kyle](https://icrontic.com/discussion/101265)\n","funding_links":["https://github.com/sponsors/linc","https://ko-fi.com/lincolnwebs"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinc%2Fnitro-porter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinc%2Fnitro-porter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinc%2Fnitro-porter/lists"}