{"id":23315261,"url":"https://github.com/itk-dev/devops_itkdev-docker","last_synced_at":"2026-05-04T07:41:56.028Z","repository":{"id":39299661,"uuid":"166831784","full_name":"itk-dev/devops_itkdev-docker","owner":"itk-dev","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-23T12:50:09.000Z","size":10179,"stargazers_count":0,"open_issues_count":6,"forks_count":1,"subscribers_count":5,"default_branch":"develop","last_synced_at":"2026-03-24T07:57:13.030Z","etag":null,"topics":["devops","docker"],"latest_commit_sha":null,"homepage":"","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/itk-dev.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-01-21T14:55:52.000Z","updated_at":"2026-03-23T12:50:18.000Z","dependencies_parsed_at":"2023-10-03T13:51:35.389Z","dependency_job_id":"94a3e876-a5e7-4801-9a19-bd5869778de9","html_url":"https://github.com/itk-dev/devops_itkdev-docker","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/itk-dev/devops_itkdev-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itk-dev%2Fdevops_itkdev-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itk-dev%2Fdevops_itkdev-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itk-dev%2Fdevops_itkdev-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itk-dev%2Fdevops_itkdev-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itk-dev","download_url":"https://codeload.github.com/itk-dev/devops_itkdev-docker/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itk-dev%2Fdevops_itkdev-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32599414,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"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":["devops","docker"],"created_at":"2024-12-20T15:33:30.668Z","updated_at":"2026-05-04T07:41:56.022Z","avatar_url":"https://github.com/itk-dev.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ITK-dev docker setup\n\nThis repository contains the custom images used by ITK-dev to support docker in\ndevelopment and production. It also contains tools to make docker usage easier\nin development.\n\n## Docker install\n\nRecommend to that you install [Docker Desktop for\nMac](https://docs.docker.com/docker-for-mac/install/) and create account at\n[https://hub.docker.com/](https://hub.docker.com/) the account can be link to\n\"itkdev\" organisation allow you to push new images.\n\n## Usage\n\n### Requirement for all commands to work\n\nYou need to have some local packages installed via brew for all things to work.\n\nCompletions don't work with the bash completion that comes with macOS. So please\ninstall a newer version:\n\n```sh\nbrew install bash-completion\n```\n\n__Note__: You have to follow the instructions brew writes to get it working (use\n`brew info bash-completion` to show the info).\n\nThe database sync will not work if you don't have a local mysql client installed:\n\n```sh\nbrew install mysql-client\n```\n\n__Note__: You have to follow the instructions brew writes to get it working (use\n`brew info mysql-client` to show the info).\n\n### Templates\n\nThe [`templates`](templates/) directory contains templates for adding\nthe itkdev `docker compose` setup to new or exiting projects.\n\nRun\n\n```sh\nitkdev-docker-compose template:install --list\n```\n\nto see a list of all templates.\n\nRun `itkdev-docker-compose template:install drupal-10`, say, to install or update a template in a project.\n\nIn addition to the docker compose setup for our projects, installing a template will also add GitHib Actions workflow\nfiles to a project; see [Github Actions templates](docs/github-actions-templates.md) for details.\n\n### Docker commands\n\nStart containers: `docker-compose up -d`\n\nStop containers: `docker-compose stop`\n\nStop and remove containers: `docker-compose down`\n\nList containers in the project: `docker-compose ps`\n\nRestart container: `docker-compose restart \u003cCONTAINER NAME\u003e`\n\n### Helper scripts\n\nThe [`scripts/itkdev-docker-compose`](scripts/itkdev-docker-compose)\nscript makes it easier to run common commands in the docker\ncontainers.\n\nAdd the `scripts` directory to your `PATH` environment variable to run\nthe script from your `docker-compose` project.\n\nIf you're using the `bash` shell, run\n\n```sh\necho 'export PATH=\"'$(git rev-parse --show-toplevel)/scripts':$PATH\"' \u003e\u003e ~/.bashrc\n```\n\nto add the script to your `PATH`. If you're running `zsh`, run\n\n```sh\necho 'export PATH=\"'$(git rev-parse --show-toplevel)/scripts':$PATH\"' \u003e\u003e ~/.zshrc\n```\n\nAfter updating your path, run `itkdev-docker-compose` in your project folder to\nsee what the script can do.\n\n### Environment\n\nThe helper script uses an `.env` file in the root of the project for projekt\nbase configuration.\n\nThe `COMPOSE_PROJECT_NAME` is always required and the script will stop execution\nif any of the need variables have not been set when needed.\n\n#### Example .env file\n\n```sh\nCOMPOSE_PROJECT_NAME=ereolen\nREMOTE_HOST=ereolen.dk\nREMOTE_DB_DUMP_CMD='drush --root=/data/www/ereolen_dk/htdocs --uri=ereolen.dk sql-dump'\nREMOTE_PATH='/data/www/ereolen_dk/htdocs/sites/default/files'\nREMOTE_EXCLUDE=(ting styles advagg_*)\nLOCAL_PATH='sites/default/files'\n```\n\n## SSL certification support\n\nThis setup comes with self-signed wildcard certificates for *.local.itkdev.dk, but other certificates can be generated\nby using this openssl command on Mac, just change the two places where the domain is written.\n\n```sh\nopenssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -keyout docker.key -out docker.crt -subj \"/CN=*.local.itkdev.dk\" -reqexts SAN -extensions SAN -config \u003c(cat /usr/local/etc/openssl/openssl.cnf \u003c(printf '[SAN]\\nsubjectAltName=DNS:*.local.itkdev.dk'))\n```\n\nTo mac browser trust this certificate you need to open it with key-chain right click and select \"Get info\" and then open\nthe \"Trust\" tab and select \"Always trust\".\n\nThe certificate is located in `./treafik/ssl/docker.crt` in this repository.\n\n## Completions\n\n### Bash\n\nYou can install completions for `bash` by adding\n\n```sh\neval \"$(itkdev-docker-compose completions)\"\n```\n\nto your `~/.bashrc`.\n\n### Zsh\n\nAdd\n\n```sh\n# Load completion functions\nautoload -Uz +X compinit \u0026\u0026 compinit\nautoload -Uz +X bashcompinit \u0026\u0026 bashcompinit\n\neval \"$(itkdev-docker-compose completions)\"\n```\n\nto your `~/.zshrc`. If you are using Oh-My-Zsh, you can leave out the `autoload` incantations.\n\n### Docker UI\n\nIf you want a graphical user interface to see what images and containers are\nrunning in you local setup you can use \"potainer\".\n\n`docker run -d -p 9080:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer`\n\nOpen you browser at [http://0.0.0.0:9080](http://0.0.0.0:9080) and follow the\non-screen instructions.\n\n## ITK Images\n\nAt ITK-dev we have created docker images that matches our development.\n\nThe fuld list can be found at\n[https://hub.docker.com/search?q=itkdev\u0026type=image](https://hub.docker.com/search?q=itkdev\u0026type=image).\n\n## More\n\nFor more details about usage see \u003chttps://docs.itkdev.dk\u003e\n\n## Previous versions\n\n### NFS mounts removed\n\nFrom version 3.0.0 the feature to use NFS mounted name-volumes has been removed\nbecause it is no longer compatible with MacOS. (@see \u003chttps://github.com/docker/for-mac/issues/6544\u003e)\n\nIf you have previously enabled NFS with `nfs:enable` you should clean up as\nfollows:\n\n```shell\nsudo nano /etc/exports\n# Delete the line matching this pattern, and save you changes\n# /System/Volumes/Data/Users -alldirs -mapall=501:20 localhost\n\nsudo nano /etc/nfs.conf\n# Delete the line matching this pattern, and save you changes\n# nfs.server.mount.require_resv_port = 0\n\n# Restart the NFS deamon\nsudo nfsd restart\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitk-dev%2Fdevops_itkdev-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitk-dev%2Fdevops_itkdev-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitk-dev%2Fdevops_itkdev-docker/lists"}