{"id":31921654,"url":"https://github.com/talend-glorieux/dmux","last_synced_at":"2026-04-18T07:33:50.974Z","repository":{"id":72268510,"uuid":"147343174","full_name":"talend-glorieux/dmux","owner":"talend-glorieux","description":"Docker multiplexer.","archived":false,"fork":false,"pushed_at":"2018-10-18T14:28:57.000Z","size":27,"stargazers_count":2,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-22T11:39:40.534Z","etag":null,"topics":["docker","git","golang","multiplexer"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/talend-glorieux.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}},"created_at":"2018-09-04T12:33:47.000Z","updated_at":"2019-12-18T12:42:58.000Z","dependencies_parsed_at":"2023-09-17T02:21:03.484Z","dependency_job_id":null,"html_url":"https://github.com/talend-glorieux/dmux","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/talend-glorieux/dmux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talend-glorieux%2Fdmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talend-glorieux%2Fdmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talend-glorieux%2Fdmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talend-glorieux%2Fdmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/talend-glorieux","download_url":"https://codeload.github.com/talend-glorieux/dmux/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/talend-glorieux%2Fdmux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31961345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"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":["docker","git","golang","multiplexer"],"created_at":"2025-10-13T22:48:47.239Z","updated_at":"2026-04-18T07:33:50.951Z","avatar_url":"https://github.com/talend-glorieux.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dmux\n[![Build Status](https://travis-ci.org/talend-glorieux/dmux.svg?branch=master)](https://travis-ci.org/talend-glorieux/dmux) [![Go Report Card](https://goreportcard.com/badge/github.com/talend-glorieux/dmux)](https://goreportcard.com/report/github.com/talend-glorieux/dmux)\n\nMaking multi-repository builds simple.\n\n## Install\n\nGet the [latest binaries](https://github.com/talend-glorieux/dmux/releases/latest).\n\n## Usage\n\nIn order to use `dmux` you only need to define a map of your repositories \nand the branch to fetch from in a front matter on top of your Dockerfile.\n\n```\n---\ngit@github.com/owner/repository: master\n---\nFROM scratch\nADD repository .\n```\n\nYou can add as many repositories as desired.\n\n```\n---\ngit@github.com/owner/repository-1: master\ngit@github.com/owner/repository-2: master\ngit@github.com/owner/repository-3: master\n---\nFROM scratch as repository-1\nADD repository-1 .\nRUN build.sh\n...\n...\n```\n\n### Authentication\nIf you plan on using ssh to fetch your repositories you’ll need to make sure your ssh-agent is properly initialized.\n\n```eval `ssh-agent` ```\n`ssh-add`\n\n## How does it work?\n\nIn order to build an image, Docker creates a context. A context is just a word\nfor a tar archive of a given folder passed to the build command. That context is then\nsent to the Docker deamon in order to build the image.\n\n`dmux` injects itself right before the context is created. It will create a\ncontext of its own made of all the files, folders and git repository passed in\nthe front matter of the Dockerfile. After that, it mimics how Docker works. \n\n## Limits\n\nSince the repository content is stored in memory before being passed to the\ndocker context, it's a good idea to avoid repository with a lot of content.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalend-glorieux%2Fdmux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftalend-glorieux%2Fdmux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalend-glorieux%2Fdmux/lists"}