https://github.com/tudvari/docker-composer
Compose file generator for NodeJS
https://github.com/tudvari/docker-composer
docker docker-compose docker-compose-development docker-compose-template json nodejs yml-reference
Last synced: 10 months ago
JSON representation
Compose file generator for NodeJS
- Host: GitHub
- URL: https://github.com/tudvari/docker-composer
- Owner: tudvari
- License: mit
- Created: 2015-10-14T19:15:48.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-04-07T11:02:11.000Z (10 months ago)
- Last Synced: 2025-04-14T06:16:14.471Z (10 months ago)
- Topics: docker, docker-compose, docker-compose-development, docker-compose-template, json, nodejs, yml-reference
- Language: JavaScript
- Homepage:
- Size: 1.36 MB
- Stars: 9
- Watchers: 3
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# docker-composer
Generate Docker Compose descriptor from a JSON document.
[](https://github.com/tudvari/docker-composer/actions/workflows/nodejs.yml)
[](https://badge.fury.io/js/docker-composer)
[](https://github.com/tudvari/docker-composer/actions/workflows/codeql-analysis.yml)
## About the package
The reason behind this package is support the Docker Compose descriptor generation from Javascript. You are able to use all Docker Compose keyword to describe your containers and services.
Docker Compose Reference is [HERE](https://docs.docker.com/compose/compose-file/).
### Changes of the Latest Release
## Version 5.1.1 (05.01.2025)
- Update dependencies
You can find all Release Notes [HERE](https://github.com/tudvari/docker-composer/blob/master/ReleaseNotes.md).
## Usage
```javascript
const composer = require('docker-composer');
.
const generatedYML = composer.generate(inputJSON);
```
## Full Example
### Input
```json
{
"version" : "3",
"services" :
{
"nginx" : {
"ports" : [
"80"
],
"image" : "nginx:latest"
},
"http" : {
"ports" : [
"443"
],
"image" : "apache:latest"
}
}
}
```
### Result
```yml
---
version: "3"
services:
nginx:
ports:
- "80"
image: "nginx:latest"
http:
ports:
- "443"
image: "nginx:latest"
```
### License
Copyright (c) 2015 Tibor Udvari. Released under the MIT license. See [LICENSE](https://github.com/tudvari/docker-composer/blob/master/LICENSE) for details.