Strapi config-sync plugin

This plugin is a multi-purpose tool to manage your Strapi database records through JSON files. Mostly used to version controlconfig data for automated deployment, automated tests and data sharing for collaboration purposes.

Read the documentation

NPM Version Monthly download on NPM CI build status codecov.io

## ✨ Features - **CLI** - `config-sync` CLI for syncing the config from the command line - **GUI** - Settings page for syncing the config in Strapi admin - **Partial sync** - Import or export only specific portions of config - **Custom types** - Include your custom collection types in the sync process - **Import on bootstrap** - Easy automated deployment with `importOnBootstrap` - **Exclusion** - Exclude single config entries or all entries of a given type - **Diff viewer** - A git-style diff viewer to inspect the config changes ## ⏳ Getting started [Read the Getting Started tutorial](https://docs.pluginpal.io/config-sync) or follow the steps below: ```bash # using yarn yarn add strapi-plugin-config-sync # using npm npm install strapi-plugin-config-sync --save ``` Add the export path to the `watchIgnoreFiles` list in the `config/admin.js` file. This way your app won't reload when you export the config in development. ##### `config/admin.js`: ``` module.exports = ({ env }) => ({ // ... watchIgnoreFiles: [ '**/config/sync/**', ], }); ``` After successful installation you have to rebuild the admin UI so it'll include this plugin. To rebuild and restart Strapi run: ```bash # using yarn yarn build yarn develop # using npm npm run build npm run develop ``` The **Config Sync** plugin should now appear in the **Settings** section of your Strapi app. To start tracking your config changes you have to make the first export. This will dump all your configuration data to the `/config/sync` directory. You can export either through [the CLI](https://docs.pluginpal.io/config-sync/cli) or [Strapi admin panel](https://docs.pluginpal.io/config-sync/admin-gui) Enjoy 🎉 ## 📓 Documentation See our dedicated [repository](https://github.com/pluginpal/docs) for all of PluginPal's documentation, or view the Config Sync documentation live: - [Config Sync documentation](https://docs.pluginpal.io/config-sync) ## 🤝 Contributing Feel free to fork and make a pull request of this plugin. All the input is welcome! ## ⭐️ Show your support Give a star if this project helped you. ## 🔗 Links - [PluginPal marketplace](https://www.pluginpal.io/plugin/config-sync) - [NPM package](https://www.npmjs.com/package/strapi-plugin-config-sync) - [GitHub repository](https://github.com/boazpoolman/strapi-plugin-config-sync) - [Strapi marketplace](https://market.strapi.io/plugins/strapi-plugin-config-sync) ## 🌎 Community support - For general help using Strapi, please refer to [the official Strapi documentation](https://strapi.io/documentation/). - For support with this plugin you can DM me in the Strapi Discord [channel](https://discord.strapi.io/). ## 📝 Resources - [MIT License](https://github.com/pluginpal/strapi-plugin-config-sync/blob/master/LICENSE.md)