@debugger_supreme/dockerizeit
v1.0.0-beta.1
Published
CLI tool to generate Docker and Docker Compose files for various project types
Downloads
6
Maintainers
Readme
dockerizeit
🐳 CLI tool to automatically generate Docker and Docker Compose files for your projects
⚠️ This package is currently in beta. Use with caution in production environments.
Features
- 🔍 Automatic detection of project structure and frameworks
- 🛠️ Support for multiple frameworks:
- Frontend: React, Vue, Angular, Next.js, Svelte
- Backend: Express, NestJS, Koa, Fastify, Django, Flask
- 📦 ORM support: Prisma, Sequelize, TypeORM, Knex, Mongoose
- 🗄️ Database support: PostgreSQL, MongoDB, MySQL, MariaDB, SQLite
- 🔌 Additional services: Redis, RabbitMQ, Elasticsearch, Memcached
- 🚀 Multi-stage builds for optimal container size
- ⚡ Automatic detection of package managers (npm, yarn, pnpm)
- 🔒 Environment variable handling
- 📝 Nginx configuration for static builds
Installation
npm install -g @debugger_supreme/dockerizeit@betaUsage
Navigate to your project directory and run:
dockerizeitThe CLI will:
- Detect your project structure
- Identify frameworks and dependencies
- Generate appropriate Dockerfiles
- Create a docker-compose.yml with all required services
Options
dockerizeit [options]
Options:
-V, --version output the version number
-p, --path <path> path to project directory (default: current directory)
-f, --force overwrite existing Docker files
--node-version <version> specify Node.js version (default: "20")
--python-version <version> specify Python version (default: "3.11")
-h, --help display help for commandExamples
Basic usage:
cd your-project
dockerizeitSpecify project path:
dockerizeit -p /path/to/projectForce overwrite existing files:
dockerizeit -fSpecify Node.js and Python versions:
dockerizeit --node-version 18 --python-version 3.10Project Structure Support
The tool supports various project structures:
- Monorepo with frontend and backend:
project/
├── frontend/
│ ├── package.json
│ └── src/
└── backend/
├── package.json
└── src/- Backend with frontend subdirectory:
project/
├── frontend/
│ ├── package.json
│ └── src/
├── src/
├── package.json
└── ...- Single package:
project/
├── package.json
├── src/
└── ...Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
