Skip to content

♻️ CLI & GUI for continuous migration of config data across environments

License

Notifications You must be signed in to change notification settings

pluginpal/strapi-plugin-config-sync

Repository files navigation

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 or follow the steps below:

# 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:

# 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 or Strapi admin panel

Enjoy 🎉

📓 Documentation

See our dedicated repository for all of PluginPal's documentation, or view the Config Sync documentation live:

🤝 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

🌎 Community support

📝 Resources