{"id":19761191,"url":"https://github.com/falkz/dockeridoo","last_synced_at":"2026-05-14T04:41:50.785Z","repository":{"id":232855147,"uuid":"780112484","full_name":"FalkZ/dockeridoo","owner":"FalkZ","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-20T18:57:02.000Z","size":502,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T23:27:28.923Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FalkZ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2024-03-31T18:16:09.000Z","updated_at":"2024-05-20T18:57:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"1c83b8fe-37fc-4387-9463-b6def12bc3a6","html_url":"https://github.com/FalkZ/dockeridoo","commit_stats":null,"previous_names":["falkz/dockeridoo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FalkZ%2Fdockeridoo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FalkZ%2Fdockeridoo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FalkZ%2Fdockeridoo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FalkZ%2Fdockeridoo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FalkZ","download_url":"https://codeload.github.com/FalkZ/dockeridoo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241094024,"owners_count":19908626,"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","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":"2024-11-12T03:39:50.434Z","updated_at":"2026-05-14T04:41:45.766Z","avatar_url":"https://github.com/FalkZ.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dockeridoo\n\n![Dockeridoo Mascot](https://raw.githubusercontent.com/FalkZ/dockeridoo/main/dockeridoo.png)\n\n\u003e The \"easiest\" way to run docker images as cli tools.\n\n\n## Motivation\n\nI wanted to create an simple tool to run as a cli tool. The main problem was, that I ran my tool on ARM architecture and wanted to run it on x86 as well. The cross compilation was quite straight forward, with the docker cli:\n\n```bash\ndocker buildx build --platform linux/amd64,linux/arm64 ...\n```\n\nThe main problem was, that I wanted other people to use my tool and the default way to run a docker image requires the following steps:\n\n1. Start Docker Deamon\n2. Pull a current Image\n3. Run the Image and attach the current working directory as a volume\n\nThis is quite a lot of steps for a simple cli tool. Thats why I created this tool to run docker images with as little friction as possible.\n\n\n## Usage\n\n1. Prerequirements\n    - Docker\n    - NodeJS\n2. Install Dockeridoo:\n    ```bash\n    # npm\n    npm i -g dockeridoo \n    ```\n3. Run an docker image as cli tool:\n    ```bash\n    dodoo [image name]\n    # for example\n    dodoo fa7k/create-cards\n    ```\n\n## How it works\n\n1. It detects if docker is already running on your system. \n    If not, it starts the docker deamon.\n2. It pulls the latest image specified in the command.\n3. It runs the image with the current working directory as a volume. And any command line arguments will also be passed to the image.\n\n## Create your own Dockeridoo compatible CLI Tool\n\n**Dockerfile:**\n```Dockerfile\nFROM alpine:3.19 # choose a base image (preferably small)\n\n# do whatever you want here\n\n# These 2 lines are important to make the image work with Dockeridoo.\n# The directory you started Dockeridoo will be supplied as the volume /workdir \n# This way files from the host system can be accessed inside the container\nVOLUME /workdir\nWORKDIR /workdir\n\nENTRYPOINT [\"your_cli_tool.sh\"]\n```\n\nIf you want your cli tool to be compatible across achitectures, you can use the following command to build your image:\n```bash\ndocker buildx build --platform linux/amd64,linux/arm64 -t your_image_name .\n```\n\n\u003e Hint: make sure your base image was also built for multiple architectures 😉","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalkz%2Fdockeridoo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffalkz%2Fdockeridoo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalkz%2Fdockeridoo/lists"}