{"id":30047515,"url":"https://github.com/undeffineddev/docker-command-generator","last_synced_at":"2025-10-08T07:58:13.560Z","repository":{"id":307910079,"uuid":"1031055608","full_name":"UndeffinedDev/docker-command-generator","owner":"UndeffinedDev","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-03T00:33:57.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-23T06:36:16.642Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docker-command-generator.onrender.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UndeffinedDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-02T23:01:13.000Z","updated_at":"2025-08-03T17:21:09.000Z","dependencies_parsed_at":"2025-08-03T01:05:39.446Z","dependency_job_id":"4a9f4b82-112e-48ad-a8c9-57c07b1a4450","html_url":"https://github.com/UndeffinedDev/docker-command-generator","commit_stats":null,"previous_names":["undeffineddev/docker-command-generator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/UndeffinedDev/docker-command-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UndeffinedDev%2Fdocker-command-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UndeffinedDev%2Fdocker-command-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UndeffinedDev%2Fdocker-command-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UndeffinedDev%2Fdocker-command-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UndeffinedDev","download_url":"https://codeload.github.com/UndeffinedDev/docker-command-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UndeffinedDev%2Fdocker-command-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278909714,"owners_count":26066887,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-07T09:55:52.536Z","updated_at":"2025-10-08T07:58:13.524Z","avatar_url":"https://github.com/UndeffinedDev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker Command Generator\n\nA web application that helps users generate complex `docker run` commands through a user-friendly interface. It features live Docker image search, customizable options for ports, volumes, environment variables, and resource limits, and provides instant command output.\n\n## Features\n\n- **Live Docker Image Search:** Search Docker Hub images with autocomplete and select official or automated images.\n- **Customizable Command Options:** Set container name, port and volume mappings, environment variables, CPU/memory limits, and storage options.\n- **Instant Command Generation:** See the generated `docker run` command in real time as you fill out the form.\n- **User-Friendly UI:** Clean, responsive design with tooltips and helpful error messages.\n\n## Demo\n\n\u003cimg width=\"1280\" height=\"1073\" alt=\"example_fullpage\" src=\"https://github.com/user-attachments/assets/766a3583-9829-443f-9079-108272b6b733\" /\u003e\n\n## Getting Started\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) (v16+ recommended)\n- [npm](https://www.npmjs.com/)\n\n### Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/UndeffinedDev/docker-command-generator.git\n   cd docker-command-generator\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n### Running the App\n\nStart the server (runs on port 80 by default):\n\n```bash\nnpm run start\n```\n\nThen open [http://localhost](http://localhost) in your browser.\n\n## Project Structure\n\n```\n.\n├── index.js                      # Express server, serves static frontend and Docker Hub search API\n├── package.json                  # Project metadata and dependencies\n├── public/\n│   ├── index.html                # Main HTML file\n│   ├── script.js                 # Frontend logic for form and command generation\n│   ├── style.css                 # Styles for the UI\n│   └── components/\n│       ├── docker-search.js      # Web component for live Docker image search\n│       └── tooltip-element.js    # Web component for tooltips (uses DOMPurify)\n|-- LICENSE\n└── README.md\n```\n\n## Usage\n\n1. **Search for an image:** Start typing in the \"Image\" field. Select from the live search results.\n2. **Fill in options:** Set container name, ports, volumes, environment variables, and resource limits as needed.\n3. **Generate command:** The Docker command appears below the form. Copy and use it in your terminal.\n\n## Technical Details\n\n### Backend (`index.js`)\n\n- Uses Express to serve static files from `public/`.\n- Provides `/api/docker-search` endpoint that proxies search queries to Docker Hub's API.\n\n### Frontend\n\n- **index.html:** Contains the form and loads all scripts/components.\n- **script.js:** Handles form submission, command assembly, and environment variable management.\n- **docker-search.js:** Custom element for live image search, fetches from backend API, emits `image-selected` event.\n- **tooltip-element.js:** Custom element for tooltips, sanitizes HTML with DOMPurify for security.\n- **style.css:** Responsive, clean styles for all UI elements.\n\n## Dependencies\n\n- [express](https://www.npmjs.com/package/express)\n- [node-fetch](https://www.npmjs.com/package/node-fetch)\n- [sweetalert2](https://sweetalert2.github.io/) (CDN, for alerts)\n- [DOMPurify](https://github.com/cure53/DOMPurify) (CDN, for tooltip sanitization)\n\n## Security\n\n- Tooltips are sanitized with DOMPurify to prevent XSS.\n\n## License\n\nISC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fundeffineddev%2Fdocker-command-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fundeffineddev%2Fdocker-command-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fundeffineddev%2Fdocker-command-generator/lists"}