🐋 Dockeryzen
Automatic Dockerfile and Docker Compose build for multiple languages and frameworks.
🎥 Demo
Dockeryzen Overview
βοΈ Select your Own Language
βοΈ Select Option For Language
βοΈ Select your Own Language Version
βοΈ Select your App Database
βοΈ Select your Different Message Queue
βοΈ Select your App Service
βοΈ Setup your CI/DC & Monitoring
---
📖 What is Dockeryzen?
Dockeryzen is a powerful VSCode extension that eliminates the boilerplate of setting up Docker for your projects. It provides an interactive wizard to generate production-ready Dockerfile, docker-compose.yml, and other essential configuration files for a wide variety of programming languages, databases, and services.
β¨ Features
- 🗺οΈ Interactive Wizard β A step-by-step guide to configure your entire Docker setup.
- 🚀 Language & Framework Support β Supports over 13 languages and their most popular frameworks.
- 🗄οΈ Database Selection β Easily add and configure 30+ databases (SQL, NoSQL, Vector, Time-Series, etc.).
- 📨 Message Queues & Services β Add message queues like Kafka, RabbitMQ and other services like Nginx or Grafana.
- βοΈ Smart Defaults Automatically detects your project's language and suggests optimal configurations.
- 🔧 Production-Ready Output
- Optimized multi-stage
Dockerfiles with security and performance in mind.
- Comprehensive
docker-compose.yml with healthchecks, networks, and volumes.
- Pre-configured
.dockerignore, .env.example, and CI/CD pipelines (GitHub Actions & GitLab CI).
- 🧩 Modular architecture β Optionally enable remote debugging for your application.
- β€οΈ Health Checks β Add health check endpoints to your services for better monitoring.
- 💾 State Persistence β our configuration state is saved automatically, so you can resume where you left off.

📁 Project Structure
dockeryzen
ββ .bunfig.toml
ββ .npmrc
ββ LICENSE
ββ README.md
ββ bugs.txt
ββ bun.lock
ββ eslint.config.js
ββ feature.txt
ββ package.json
ββ pnpm-workspace.yaml
ββ res
β ββ 0-Language.png
β ββ 1-Option.png
β ββ 2-Language-Version.png
β ββ 3-Database.png
β ββ 4-Message-Queue.png
β ββ 5-Service.png
β ββ 6-Ci-CD-Monitoring.png
β ββ dockeryzen-icon-big.png
β ββ facet-icon-big.svg
β ββ review.gif
β ββ review.mp4
ββ scripts
β ββ clean-generated-meta.mjs
ββ shared
β ββ versions.ts
ββ src
β ββ config
β β ββ databases
β β β ββ graph.json
β β β ββ key-value.json
β β β ββ newsql.json
β β β ββ nosql.json
β β β ββ search-engines.json
β β β ββ sql.json
β β β ββ time-series.json
β β β ββ vector.json
β β β ββ wide-column.json
β β ββ languages
β β β ββ c.json
β β β ββ cpp.json
β β β ββ dotnet.json
β β β ββ go.json
β β β ββ java.json
β β β ββ nodejs.json
β β β ββ php.json
β β β ββ python.json
β β β ββ ruby.json
β β β ββ rust.json
β β ββ message-queues.json
β β ββ services.json
β ββ extension.ts
β ββ generators
β β ββ DockerComposeGenerator.ts
β β ββ DockerComposeOverrideGenerator.ts
β β ββ DockerfileGenerator.ts
β β ββ DockerignoreGenerator.ts
β β ββ EnvFileGenerator.ts
β β ββ GitHubWorkflowGenerator.ts
β β ββ GitLabCIGenerator.ts
β β ββ NginxConfigGenerator.ts
β β ββ PrometheusConfigGenerator.ts
β β ββ dockerfile
β β ββ BaseDockerfileGenerator.ts
β β ββ CDockerfileGenerator.ts
β β ββ CppDockerfileGenerator.ts
β β ββ DotNetDockerfileGenerator.ts
β β ββ GenericDockerfileGenerator.ts
β β ββ GoDockerfileGenerator.ts
β β ββ JSBackendDockerfileGenerator.ts
β β ββ JSFrontendDockerfileGenerator.ts
β β ββ JavaJarDockerfileGenerator.ts
β β ββ JavaWarDockerfileGenerator.ts
β β ββ LaravelDockerfileGenerator.ts
β β ββ PythonDockerfileGenerator.ts
β β ββ RailsDockerfileGenerator.ts
β β ββ RustDockerfileGenerator.ts
β β ββ java
β β ββ BaseJarGenerator.ts
β β ββ FrameworkTypes.ts
β β ββ MicronautJarGenerator.ts
β β ββ QuarkusJarGenerator.ts
β β ββ SpringBootJarGenerator.ts
β ββ managers
β β ββ DatabaseManager.ts
β β ββ MessageQueueManager.ts
β β ββ ServiceManager.ts
β ββ types
β β ββ index.ts
β ββ utils
β β ββ helpers.ts
β ββ wizard
β ββ DockerWizard.ts
ββ taze.config.ts
ββ test
β ββ index.test.ts
ββ tsconfig.json
ββ tsdown.config.ts
🚀 Supported Languages & Frameworks
Dockeryzen can generate configurations for a wide array of technologies. Here are some of the key languages and frameworks supported:
| Category |
Languages / Frameworks |
| β Java |
pom.xml |
| 💛 JavaScript/TS |
build.gradle |
| 🐍 Python |
persistence.xml |
| β¨ Go |
hibernate.cfg.xml |
| 🦀 Rust |
application.yml |
| 🔷 C# / .NET |
application.properties |
| 🧩 PHP |
application.yml |
| 💎 Ruby |
mybatis-config.xml |
| βοΈ C/C++ |
web.xml |
🗄οΈ Supported Databases & Services
You can easily integrate a wide range of databases and services into your Docker Compose setup.
Databases (30+):
SQL: PostgreSQL, MySQL, MariaDB, Oracle, MSSQL, IBM Db2
NoSQL: MongoDB, CouchDB, Couchbase, DynamoDB, RavenDB
Key-Value: Redis, Memcached, etcd, Aerospike
Wide-Column: Cassandra, ScyllaDB, HBase, Bigtable
Graph: Neo4j, ArangoDB, JanusGraph, Dgraph
NewSQL: CockroachDB, TiDB, YugabyteDB
Time-Series: InfluxDB, TimescaleDB, Prometheus, OpenTSDB
Search Engine: Elasticsearch, Solr, Meilisearch, Typesense
Vector (AI/ML): Weaviate, Qdrant, Milvus, Chroma
Message Queues & Services:
Message Queues: Kafka, RabbitMQ, ActiveMQ Classic, ActiveMQ Artemis
Services: Nginx, Grafana, Prometheus, Keycloak, MinIO, and more.
🔧 How to Use
Open your project in VS Code.
Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and search for Dockeryzen: Generate.
A wizard will guide you through the following steps:
- Project Name: Set the name for your project.
- Language: Select your project's language (auto-detected).
- Application Port: Define the port your app will run on.
- General Options: Choose options like Alpine base images, Debug mode, and Health Checks.
- Language-Specific Settings: Configure your build tools, JDK version, frameworks, etc.
- Databases: Select and configure any databases you need.
- Message Queues: Select and configure any message queues.
- Services: Select and configure any additional services.
The extension will automatically generate all required configuration files in your workspace.
Example: Generating a pom.xml
- Click: Java β Maven β 4.0
- Generated: ./pom.xml
Example: Generating an application.yml
- Click: Java β Spring Boot β 3.2
- Generated: ./src/main/resources/application.yml
βοΈ Configuration
You can customize the default behavior of Dockeryzen via VS Code settings.
Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P).
Search for Dockeryzen: Open Settings.
Some of the available settings include:
dockeryzen.defaultPort: The default port for the application.
dockeryzen.useAlpineByDefault: Whether to use Alpine-based images by default.
dockeryzen.enableHealthCheckByDefault: Whether to enable health checks by default.
dockeryzen.enableDebugByDefault: Whether to enable debug mode by default.
dockeryzen.debugPort: The debug port to use for applications.
dockeryzen.generateDockerignore: If false, it will not generate a .dockerignore file.
🛠οΈ Development
Want to contribute or build the extension yourself? Hereβs how to get started.
# Clone the repository
git clone https://github.com/qewr1324/dockeryzen.git
# Navigate to the project directory
cd dockeryzen
# Install dependencies (using bun is recommended)
bun install
# or
npm install
# Build the extension
bun run build
# or
npm run build
# Run the extension in a new VS Code window
# Press F5 in VS Code after opening the project
📝 License
🤝 Contributing


Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. Check out the issues page to see where you can help.
Made with β€οΈ for developers who value their time.
Made with DeepSeek
| |