{"id":18865741,"url":"https://github.com/webship/vdo","last_synced_at":"2025-09-13T15:45:13.704Z","repository":{"id":57079245,"uuid":"96580568","full_name":"webship/vdo","owner":"webship","description":"Helps Drupal developers manage base code development work cycle for custom distributions/profiles.","archived":false,"fork":false,"pushed_at":"2024-12-29T12:09:47.000Z","size":2769,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"10.0.x","last_synced_at":"2025-04-14T14:22:51.391Z","etag":null,"topics":["distribution","drupal"],"latest_commit_sha":null,"homepage":"https://www.drupal.org/project/vdo","language":"PHP","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/webship.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":"2017-07-07T22:18:24.000Z","updated_at":"2024-12-29T12:09:51.000Z","dependencies_parsed_at":"2024-05-28T00:39:21.494Z","dependency_job_id":"c0981887-27c8-4bb1-8d50-39660dfece3d","html_url":"https://github.com/webship/vdo","commit_stats":{"total_commits":151,"total_committers":1,"mean_commits":151.0,"dds":0.0,"last_synced_commit":"6cef7678d7b1ab502e6ba2564f7ca6a01089ea05"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webship%2Fvdo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webship%2Fvdo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webship%2Fvdo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webship%2Fvdo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webship","download_url":"https://codeload.github.com/webship/vdo/tar.gz/refs/heads/10.0.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248895029,"owners_count":21179171,"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":["distribution","drupal"],"created_at":"2024-11-08T05:04:26.598Z","updated_at":"2025-04-14T14:22:55.829Z","avatar_url":"https://github.com/webship.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VDO\n\nThe Visual Distribution Operator (VDO) management system helps developers manage the base code development work cycle for custom distributions and starter kit templates. Constructing your Linux development computer or servers.\n\n[![VDO](https://raw.githubusercontent.com/webship/vdo/9.0.x/images/logo.svg)](https://www.drupal.org/project/vdo)\n\n\n### Please backup your /var/www/html and your mysql databases;\n### Try VDO with new systems only.\n\n### Constructing your Linux development computer or servers with:\n\n![VDO index view](https://www.drupal.org/files/issues/2020-11-22/VDO-index-view_0.png)\n\n\n### Products:\n\nWhere custom distributions/profiles base code are maintained.\n\n```\n    /var/www/html/products\n```\n\n### DEV:\n\nWhere development, enhancements, and optimization work rounds on the distribution/profile.\n\n```\n    /var/www/html/dev\n```\n![VDO DEV view](https://www.drupal.org/files/issues/2020-11-22/VDO-Development-index-view_0.png)\n\n### TEST:\n\nWhere testing and functional automated testing on the distribution/profile.\n\n```\n    /var/www/html/test\n```\n![VDO Test view](https://www.drupal.org/files/issues/2020-11-22/VDO-Test-index-view.png)\n\n### Demos:\n\nWhere all demos templates, and default content work on the distribution/profile.\n```\n    /var/www/html/demos\n```\n![VDO Demos view](https://www.drupal.org/files/issues/2020-11-22/VDO-Demos-index-view_0.png)\n\n### Sandboxes:\n\nWhere all sandbox templates, and private custom content work on the distribution/profile.\n\n```\n    /var/www/html/sandboxes\n```\n![VDO index view](https://www.drupal.org/files/issues/2020-11-22/VDO-Sandboxes-index-view_0.png)\n\n### Projects:\n\nWhere development on a project based on the distribution/profile product.\n\n```\n    /var/www/html/projects\n```\n\n### Profiles:\n\nWhere other contrib or private installation profiles are kept.\n```\n    /var/www/html/profiles\n```\n\n### Themes:\n\nWhere other contrib or private themes are kept.\n```\n    /var/www/html/themes\n```\n\n### Modules:\n\nWhere other contrib or private modules are kept.\n```\n    /var/www/html/modules\n```\n\n### VDO Configs and Scripts:\n\nWhere the general VDO configs and script libraries are kept.\n\n```\n    /var/www/html/vdo/web\n```\n\n### VDO Website:\n\nWhere the general VDO config and script libraries are kept.\nWhich a domain could points at it, like vdo.local or vdo.devhub.company-name.com\n\n```\n    /var/www/html/vdo/web\n```\n\nAfter Installing Ubuntu 21.04 for example you could run the following bash command to setup LAMP on Ubuntu 21.04\nIf you get the VDO bash files from\n\n```\ngit clone 10.0.x git@github.com:webship/vdo-project.git /var/www/html\ncd /var/ww/html/\nsudo rm -rf .git\n```\n\nThen you could edit the VDO config file to work for your system:\n```\nvim /var/www/html/vdo/config/vdo.settings.yml\n```\n\nyou will see something like:\n```\nvdo:\n  root: /var/www/html\n  path: /var/www/html/vdo\n  scripts: /var/www/html/vdo/scripts\n  config: /var/www/html/vdo/config\n  host: localhost\n  web: http://localhost/vdo\n  backups: /var/www/html/backups\ndatabase:\n  username: DATABASE_USERNAME\n  password: DATABASE_PASSWORD\n  host: DATABASE_HOST\n  port: 3306\n  namespace: Drupal\\\\Core\\\\Database\\\\Driver\\\\mysql\n  driver: mysql\n  collation: utf8mb4_general_ci\naccount:\n  name: DRUPAL_WEBMASTER_NAME\n  pass: DRUPAL_WEBMASTER_PASSWORD\n  mail: DRUPAL_WEBMASTER_EMIL\nconfig_sync_directory: ../config/sync\nworkspaces:\n  - products\n  - dev\n  - test\n  - demos\n  - sandboxes\n  - profiles\n  - modules\n  - themes\n  - libraries\n  - forked\n```\n\nAfter you have made your changes you could install the global variables.\n```\ncd  /var/www/html/vdo/scripts/install\nbash install.sh\n```\n\nClose all terminal windows\nAnd open a new one\nTest that we are ready by\n```\necho ${vdo_config}\n/var/www/html/vdo/config\n```\n\nIf \"/var/www/html/vdo/config\" was printed,which mean we are ready for the next step.\n\nOnly for Ubuntu 22.04 you could run the following command to setup your LAMP. ( You man install LAMP in your own. or copy the bash file change it to work for your system.)\n\n```\ncd /var/www/html/vdo/scripts/install/\nbash setup-LAMP-ubuntu21-04--php7-04--MySQL8.sh\n```\n\nAfter that, you can do a composer install\n```\ncd /var/www/html/\ncomposer install\n```\n\nOr you could build by composer create project command\nCreate a VDO Project 10.0.x with Composer\nTo install the most recent stable release of VDO 10.0.x run this command:\n```\ncomposer create-project webship/vdo-project /var/www/html --no-dev --no-interaction\n```\n\nTo install the dev version of VDO 10.0.x run this command:\n```\ncomposer create-project webship/vdo-project:10.0.x-dev /var/www/html --stability dev --no-interaction\n```\nStatus message\nAfter that delete the composer.josn and composer.lock file from your /var/www/html folder\n```\ncd /var/www/html/\nrm composer.json composer.lock\n```\n\nTo test that the VDO settings are working\nIf you go to DEV you can find many bash files that could help you in your development of the profile.\n```\ncd /var/www/html/dev/\nbash cmd-vdo-drupal10-recommended-project.sh drupal10c1 --install\n```\n\n### Varbase disto for example:\n```\ncd /var/www/html/dev/\nbash cmd-vdo-varbase10-project.sh varbase10c1 --install --add-users\n```\n\n### Create custom VDO bash:\nHaving a new dev or test bash files to add more work or commands in them. Add the heading in a new file then use any of the ready variables by the VDO bootstrap settings or the workspace settings or values.\n\n### Example:\n```\ncd /var/www/html/dev/\nvim cmd-vdo-example.sh\n```\n\nThen in the file, you could add the following:\n```\n#!/bin/usr/env bash\n\n# Bootstrap VDO.\n. ${vdo_scripts}/bootstrap.sh ;\n\n# Load workspace settings and extra lists.\neval $(parse_yaml ${vdo_config}/workspace.dev.settings.yml);\n\necho \"*---------------------------------------------------------------------------------------*\";\necho \"|  Build Drupal Project  and add 100 modules in one command\";\necho \"*---------------------------------------------------------------------------------------*\";\n```\n\nHave your own YML files. Read them in bash files as arrays of variables.And use them in custom bash file in the way you like:\n```\neval $(parse_yaml ${path_to_the_yml_file}/name-of-file.yml);\n```\n\nHave a look at the number of bash files like the themes, profiles. or test in\nhttps://github.com/webship/vdo-project\nLearn by example. For sure have your naming or coding style or any language in the bash files, like python, C, PHP, or normal Bash.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebship%2Fvdo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebship%2Fvdo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebship%2Fvdo/lists"}