{"id":16760677,"url":"https://github.com/rainabba/gm-opencv-nodejs","last_synced_at":"2026-04-04T16:34:25.390Z","repository":{"id":150096682,"uuid":"145139123","full_name":"rainabba/gm-opencv-nodejs","owner":"rainabba","description":"Docker image based on justadudewhohacks/opencv-nodejs:node9-opencv3.4.1-contrib then adds graphicsmagick (also can be aliased as imagemagick) on top.","archived":false,"fork":false,"pushed_at":"2019-01-29T00:55:07.000Z","size":9,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-22T21:30:52.152Z","etag":null,"topics":["docker","docker-image","graphicsmagick","imagemagick","node-js","nodejs","opencv","opencv3"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rainabba.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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-08-17T15:47:24.000Z","updated_at":"2023-03-04T05:26:38.000Z","dependencies_parsed_at":"2023-08-24T21:31:51.269Z","dependency_job_id":null,"html_url":"https://github.com/rainabba/gm-opencv-nodejs","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainabba%2Fgm-opencv-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainabba%2Fgm-opencv-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainabba%2Fgm-opencv-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rainabba%2Fgm-opencv-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rainabba","download_url":"https://codeload.github.com/rainabba/gm-opencv-nodejs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243848345,"owners_count":20357540,"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":["docker","docker-image","graphicsmagick","imagemagick","node-js","nodejs","opencv","opencv3"],"created_at":"2024-10-13T04:24:15.054Z","updated_at":"2025-12-31T00:20:01.500Z","avatar_url":"https://github.com/rainabba.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gm-opencv-nodejs\n\nThis project is to create/maintain [rainabba/gm-opencv-nodejs](https://hub.docker.com/r/rainabba/gm-opencv-nodejs/) on Dockerhub.\n\nThe generated Docker image provides an [Ubuntu 16/Xenial](http://releases.ubuntu.com/16.04/) environment with [NodeJS 9.11.2](https://nodejs.org/en/download/current/) so an app can be built and hosted with the ability to use [OpenCV 3.4.1](https://github.com/justadudewhohacks/opencv4nodejs) and [graphicsmagick](http://www.graphicsmagick.org/index.html) manipulations, with the expectation of real-time performance for most reasonable tasks.\n\n\n## To run an interactive container right now!\n```bash\ndocker run --user linuxbrew -p 5000:5000 -p 0.0.0.0:9229:9229 -e DISPLAY=unix$DISPLAY -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/.X11-unix:/tmp/.X11-unix --name `whoami`/gm-opencv-nodejs:latest -it rainabba/gm-opencv-nodejs:1.0.0 /bin/bash; \n```\n\n## How I use this image\n\nI use this image to as a base for my nodejs dev/runtime containers which need image/video processing. By mounting the working folder, I can run the container, then run my node app inside, while using editors outside the container (working directory) AND 9229 (nodejs debugging) is passed through as well. This is an example of how I'd debug (see the run-script that follows).\n\n```Dockerfile\nFROM rainabba/gm-opencv-nodejs:latest \n\nLABEL maintainer=\"Michael Richardson \u003crainabba@gmail.com\u003e\"\n\nUSER root \nRUN apt-get update -y \\ \n\u0026\u0026 apt-get upgrade -y \\ \n\u0026\u0026 update-ca-certificates --fresh \\ \n\u0026\u0026 apt-cache policy ca-certificates \\\n\u0026\u0026 npm install -g nodemon; \n\nUSER linuxbrew \nENV APP_PORT 5000\nEXPOSE $(APP_PORT) 9229 \nARG WORKDIR=/usr/src \nWORKDIR $WORKDIR \n\n#Add your working folder to /usr/src\nADD . $WORKDIR\n\nCMD [ \"nodemon --inspect=0.0.0.0:9229 src/\" ]\n```\n\nThis allows me to sit in a bash shell, run my nodejs app, check the filesystem, etc.. while using tools on my desktop to change code, more view on files, etc.. In theory, you should be able to install/run xclient apps (typically requires GTK also from what I've seen) and then an XClient on the host (Windows 10 with WSL/Ubuntu in my case)\n```bash\n#!/bin/sh\nset -x #echo on;\ndocker run  -p 5000:5000 -p 0.0.0.0:9229:9229 \\\n-e DISPLAY=unix$DISPLAY \\\n-v /var/run/docker.sock:/var/run/docker.sock \\\n-v /home/rainabba/.ssh:/root/.ssh \\\n-v /tmp/.X11-unix:/tmp/.X11-unix \\\n-v ${PWD}:/usr/src --name $CONTAINER_NAME -it $IMAGE_NAME /bin/bash\n```\n\n\n## To run a container\n\n`cd ~/gm-opencv-nodejs \u0026\u0026 sh ./run-image.sh`\n\nby virtue of being a published project, \nthe default WILL try to run the official image which won't exist locally and so it will be pulled. \nIf you build using the script below, this will run YOUR local image.\n\n\n## To build your own image\n\n`mkdir ~/gm-opencv-nodejs \u0026\u0026 cd ~/gm-opencv-nodejs \u0026\u0026 sh ./build-image.sh`\n\n\n## TL;DR\n\nI hope the pros will find this image was built using the most significant, best-practices for Docker as of 2018-08-17, but if you want to contribute with PR's or just drop me an issue and give me suggestions, I'm all ears.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frainabba%2Fgm-opencv-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frainabba%2Fgm-opencv-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frainabba%2Fgm-opencv-nodejs/lists"}