strapi-tool-dockerize is a free, open source content management systems (cms) project written in JavaScript and released under MIT. It has 623 GitHub stars, 37 forks and 9 open issues, and was last pushed 2 months ago. On this registry it ranks #41 of 47 tracked projects in Content Management Systems (CMS), with 5 head-to-head comparisons available.

What is strapi-tool-dockerize?

strapi-tool-dockerize is a command-line tool that adds Docker and Docker Compose support to a Strapi project, built for Strapi developers and plugin maintainers who want a working container setup without hand-writing the configuration.

What it is

strapi-tool-dockerize is a JavaScript command-line utility published on npm as @strapi-community/dockerize under the MIT licence. It lives in the Strapi ecosystem and targets Strapi v5; the README notes that Strapi v4 support requires an earlier release. The project is developed in the open on GitHub by the Strapi community and the lead maintainer Simen Daehlin (@Eventyret), and it carries 623 stars, 37 forks, and 9 open issues.

The concrete problem it solves is the setup work that sits between a working Strapi project and a containerized one. A Strapi application needs a Docker Compose file that wires the app to a database service, plus the matching environment configuration, before it can be run or deployed consistently. Writing and maintaining those files by hand is repetitive and easy to get wrong. strapi-tool-dockerize replaces that manual effort by generating the Docker support and the docker-compose file from a short prompt or a set of CLI arguments.

Key capabilities

  • Generates Docker support for a Strapi project from a single command, npx @strapi-community/dockerize.
  • Builds a docker-compose file as one of its stated features.
  • Auto-detects yarn or npm in the project rather than requiring the package manager to be declared.
  • Accepts CLI arguments after the required new keyword: --dbtype=postgres|mysql|mariadb, --dbhost, --dbport, --dbname, --dbuser, --dbpassword, --type=ts|js, --packagemanager=yarn|npm, --useCompose=true|false, and --env=development|production|both.
  • Provides docker-compose support for Postgres 16, MySQL 8, and MariaDB (latest).
  • Ships a reset command, npx @strapi-community/dockerize reset, which deletes the config/env folder and all of its contents.
  • Defaults to PostgreSQL, host localhost, port 5432, database strapi, a JavaScript project type, and yarn as the package manager.

Who uses it and how

  • Strapi developers who need a container-ready project and want the Compose and environment files created for them instead of written by hand.
  • Teams self-hosting Strapi against PostgreSQL, MySQL, or MariaDB, where the generated Compose file supplies the matching database service version.
  • Plugin maintainers and other Strapi community developers, which the README names as an intended audience for the package.
  • Contributors taking part through Hacktoberfest, which is listed among the repository topics.

Getting started

The tool runs without a separate install step through npx, using the package name @strapi-community/dockerize. The basic invocation is npx @strapi-community/dockerize, and the same command accepts arguments directly.

How it compares

No paid products that this project replaces are listed in the facts, and no similar tools are named either. As recorded here, strapi-tool-dockerize stands alone in this registry.

When to use it — and when not to

Anyone adopting it still has to operate the database service the generated Compose file points at — PostgreSQL 16, MySQL 8, or MariaDB — and must be running Strapi v5, since Strapi v4 needs an earlier release. The README describes the package as under development and actively seeking contributors and maintainers, so it suits users comfortable with a small, community-maintained tool. The reset command is destructive and removes the entire config/env folder, which makes it a poor fit for casual cleanup.

project readme (upstream, from github) — read inline

@Strapi-community/dockerize

Add docker support for a Strapi Project with ease 🚀

Feel free to buy @Eventyret a ☕️ if this tool was helpful Open Collective

Strapi Discord NPM Version Monthly download on NPM

Table of Contents

🚦 Current Status

This package is currently under development and should be consider STABLE in terms of state. I/We are currently accepting contributions and/or dedicated contributors to help develop and maintain this package.

For more information on contributing please see the contrib message below.

✨ Usage

npx @strapi-community/dockerize

You can also call it directly with arguments

npx @strapi-community/dockerize new --dbclient=mysql --dbhost=localhost --dbport=1234 --dbname=strapi --dbusername=strapi --dbpassword=strapi --projecttype=js --packagemanager=yarn --usecompose=false --env=both

🤖 Using CLI Arguments

Please note the new keyword is required for this to take effect.

npx @strapi-community/dockerize
--dbtype=<dbtype>
--dbhost=<dbhost>
--dbport=<dbport>
--dbname=<dbname>
--dbuser=<dbuser>
--dbpassword=<dbpassword>
--type=<type>
--packagemanager=<packagemanager>
--useCompose=<useCompose>
--env=<env>
| 💻 Command     | 💬 Value                                | 🦄 Type | 🐲 Default    |
| -------------- | --------------------------------------- | ------- | ------------- |
| dbtype         | `postgres` \| `mysql` \| `mariadb`      | String  | `postgres`    |
| dbhost         |                                         | String  | `localhost`   |
| dbport         | `5432` \| `3306`                        | Number  | `5432`        |
| dbname         |                                         | String  | `strapi`      |
| dbuser         |                                         | String  | `strapi`      |
| dbpassword     |                                         | String  | `strapi`      |
| type           | `ts` \| `js`                            | String  | `js`          |
| packagemanager | `yarn` \| `npm`                         | String  | `yarn`        |
| useCompose     | `true` \| `false`                       | Boolean | `false`       |
| env            | `development` \| `production` \| `both` | String  | `development` |

🧹 Resetting project

npx @strapi-community/dockerize reset

Note that RESET will delete the config/env folder with all of it's content

🚀 Features

  • Easy add support for docker
  • Auto detects yarn or npm in your project
  • Build a docker-compose file

🐳 Docker-compose support

  • Postgres 16
  • MySQL 8
  • MariaDB (latest)

Note: This version targets Strapi v5. For Strapi v4 support, use an earlier release.

🎗 Contributing

I/We are actively looking for contributors, maintainers, and others to help shape this package. As this plugins sole purpose within the Strapi community is to be used by other developers and plugin maintainers to get fast responses time.

If interested please feel free to email the lead maintainer Simen at: [email protected] or ping Cookie Monster#6725 on Discord.

⭐️ Show your support

Give a star if this project helped you. Feel free to buy [@Eventyret] a ☕️ if it was helpful. Open Collective

🔗 Links

🌎 Community support

🙋‍♀️ Authors

🙋‍♂️ Contributors (Thank you 🙏)

🔖 License

See the LICENSE file for licensing information.

Frequently asked questions

Is strapi-tool-dockerize free to use?

strapi-tool-dockerize is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does strapi-tool-dockerize do?

Easy add support for docker to your strapi project

What is strapi-tool-dockerize written in?

strapi-tool-dockerize is primarily written in JavaScript. Its source is publicly available at https://github.com/strapi-community/strapi-tool-dockerize, and it has 623 GitHub stars.