{"id":25514321,"url":"https://github.com/normanlolx/dockerix","last_synced_at":"2026-04-28T16:07:39.644Z","repository":{"id":85584453,"uuid":"117260525","full_name":"normanlolx/dockerix","owner":"normanlolx","description":"Dockerized local web development environment to run older and newer Drupal (WordPress etc.) (multi-)sites in parallel.","archived":false,"fork":false,"pushed_at":"2018-02-07T10:43:55.000Z","size":30,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-08T09:05:06.198Z","etag":null,"topics":["bg-sync","docker","drupal","drupal-7","drupal-8","mariadb","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/normanlolx.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-01-12T16:00:38.000Z","updated_at":"2018-02-18T18:52:06.000Z","dependencies_parsed_at":"2023-03-14T07:30:44.649Z","dependency_job_id":null,"html_url":"https://github.com/normanlolx/dockerix","commit_stats":null,"previous_names":["normanlolx/dockerix"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/normanlolx/dockerix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanlolx%2Fdockerix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanlolx%2Fdockerix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanlolx%2Fdockerix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanlolx%2Fdockerix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/normanlolx","download_url":"https://codeload.github.com/normanlolx/dockerix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/normanlolx%2Fdockerix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32387967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bg-sync","docker","drupal","drupal-7","drupal-8","mariadb","php"],"created_at":"2025-02-19T12:15:43.835Z","updated_at":"2026-04-28T16:07:39.623Z","avatar_url":"https://github.com/normanlolx.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dockerix\n\nLocal [Docker for Mac](https://docs.docker.com/docker-for-mac/install/)-centered web development environment to run older and newer Drupal (WordPress etc.) (multi-)sites in parallel.\n\n- Debian 9\n- Apache 2.4\n- MariaDB 10\n- PHP 5.6 \u0026 PHP 7.1\n\nThe underlying base image can be found on Docker Hub: https://hub.docker.com/r/leymannx/apache-multiphp/\n\nYou are supposed to put your CMS files into \u003ccode\u003e./www/php56\u003c/code\u003e or \u003ccode\u003e./www/php71\u003c/code\u003e depending on the PHP version you need to run the site with.\n\nThe base image comes with:\n- \u003ccode\u003edrush8\u003c/code\u003e command for older Drupal projects\n- \u003ccode\u003edrush\u003c/code\u003e command for [Drush Launcher](https://github.com/drush-ops/drush-launcher)\n- \u003ccode\u003ecomposer\u003c/code\u003e\n- \u003ccode\u003enpm\u003c/code\u003e\n\nThe databases can be accessed with \u003ccode\u003emysql -uroot -proot -hmariadb\u003c/code\u003e from within the base container. When it comes to connecting to a database you have to define \u003ccode\u003emariadb\u003c/code\u003e as host (where it usually would be \u003ccode\u003elocalhost\u003c/code\u003e).\n\n## Possible routine\n\nTested with Docker for Mac (Stable channel Version 17.12.0-ce-mac49)\n\n1. \u003ccode\u003e$ git clone https://github.com/leymannx/dockerix.git dockerix\u003c/code\u003e\n2. \u003ccode\u003e$ cd dockerix\u003c/code\u003e\n3. \u003ccode\u003e$ docker-compose up -d\u003c/code\u003e\n\nNow visit [http://localhost:8856](http://localhost:8856) or [http://localhost:8871](http://localhost:8871) in your browser to see the corresponding PHP info files.\n\nTo run commands inside the base container get inside it with:\n\n\u003ccode\u003e$ docker exec -it dockerix_multiphp_1 bash\u003c/code\u003e\n\nFrom there maybe create a databases:\n\n1. \u003ccode\u003e$ mysql -uroot -proot -hmariadb -e \"create database drupal7\"\u003c/code\u003e\n\nOr run drush commands:\n\n1. \u003ccode\u003e$ cd /var/www/php56\u003c/code\u003e\n2. \u003ccode\u003e$ drush8 dl drupal-7\u003c/code\u003e\n3. \u003ccode\u003e$ mv drupal-7.56 drupal7\u003c/code\u003e\n4. Update \u003ccode\u003eRewriteBase\u003c/code\u003e in \u003ccode\u003e.htaccess\u003c/code\u003e\n\nNow visit [http://localhost:8856/drupal7](http://localhost:8856/drupal7) in your browser and start the installation routine.\n\n## Performance\n\nHonestly without any fine-tuning page load times can be super bad with the initial **version 1** setup. Time-to-First-Byte of up to 10 seconds per node. This delay is caused by Docker for Mac's built-in volume mount and file sync process. You could simply fix it by not mounting any host volumes. But that really can't be it.\n\nStarting with **version 2** I've included two of cweagans' [bg-sync](https://hub.docker.com/r/cweagans/bg-sync/) containers. They dramatically improve page load times. They only need a little while for the first sync ( 5-15 minutes). From then on Time-To-First-Byte will be less then a second. Pretty good. Unfortunately this limits this version to Mac OS and Docker for Mac. You may want to try other background sync approaches on a differing host.\n\nNote: When using this image as is (with cweagans/bgsync) and if you ever have to run \u003ccode\u003edocker-compose down\u003c/code\u003e pay attention to prevent the initial and time-consuming filesync on the next run by restarting the containers with \u003ccode\u003edocker-compose restart -d\u003c/code\u003e in their already-synced state (which normally is done automatically on your Mac's wake-up or boot).\n\nAlso before you shut down the containers or your Mac you may have a look at the Activity Monitor and look if the \u003ccode\u003ehyperkit\u003c/code\u003e process is not super-active anymore (CPU usage \u003e 100%). If it is, you may like to wait a short while until it's done (CPU usage ~ 1-5%). Which simply means to wait that bg-sync is done syncing and there will be no/less conflicts on the next restart. \n\n## restart: always?\n\nNo. Unfortunately there seems to be a [bug](https://github.com/cweagans/docker-bg-sync/issues/13) with Unison or with the bg-sync container that resets the syncing behavior after restarting Docker for Mac (or your Mac respectively). So for now you have to restart the containers always manually. Navigate to the folder where the \u003ccode\u003edocker-compose.yml\u003c/code\u003e is located and run \u003ccode\u003e$ docker-compose start\u003c/code\u003e.\n\n## Linux / Windows\n\nTo check out a non-Mac centered version of this repo you might want to fork an older version that doesn't rely on cweagans/bgsync and start from there:\n\n\u003ccode\u003e$ git clone https://github.com/leymannx/dockerix.git --branch 0.1.1 dockerix\u003c/code\u003e\n\n## Kudos to\n\n- [Ruben Egiguren](https://github.com/keopx/docker-lamp)! (for his Docker LAMP)\n- [Michael Moravec](https://pehapkari.cz/blog/2017/03/27/multiple-php-versions-the-easy-way/)! (for his article on multiple PHP versions and the comments there)\n- [Cameron Eagans](https://github.com/cweagans/docker-bg-sync)! (for bg-sync)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnormanlolx%2Fdockerix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnormanlolx%2Fdockerix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnormanlolx%2Fdockerix/lists"}