How to add custom platform properly?

How to add your custom platform so it will work like all other platforms installed by default? Is there recommended workflow, directory location, structure, or any other BOA specific details to follow?

!Note: if you prefer to build new codebase for Aegir platform using Drush Make, you may need to clean up your environment before running the build with two commands: 'drush cc drush' and 'rm -rf ~/.tmp/*'. Otherwise any broken build may generate never deleted properly leftovers, which will break subsequent builds. Note that ~/.tmp/* is purged for you daily, but the cleanup agent will delete only files which are older than created 24 hours ago, to not break any running build.

»As explained in your welcome e-mail, you should use the ~/static directory to host your custom platforms. You can create them by traditional upload via FTP, SFTP or rsync over SSH, on command line with 'drush make my-makefile ~/static/foo-bar' or with makefile (local or remote) via your Aegir control panel. We highly recommend to use the command line method, to avoid issues with permissions and to make debugging easier without adding ghost platforms nodes in Aegir for failed builds (this may happen if your makefile requires newer Drush Make version) — just add '-d' flag at the end of drush make command.

»You should also read: Extra modules available in all platforms, Supported, Enabled, Disabled – a complete list and Modules enabled or disabled automatically.

»For Drupal 7 based custom platforms (when default profiles are used) we recommend to rename too generic profiles names – from “Standard” to “Vanilla Standard” and from “Minimal” to “Vanilla Minimal” in their corresponding .info files, to match BOA naming convention used for built-in platforms. In the file: standard.info it should be “name = Vanilla Standard”. In the file: minimal.info it should be “name = Vanilla Minimal”. We recommend to remove the testing profile, unless it is used. Then re-verify the platform. Note that for any platform with custom profile it is best to remove all other not used default profiles.

!We highly recommend that when building your custom platforms, you use the same enhanced Drupal core we use in all built-in platforms. You can easily download latest Drupal 7 and Pressflow 6 exported from repositories maintained on GitHub. Here is an example on how to properly reference our latest available Drupal core versions in your makefiles:

; For Drupal 7:
projects[drupal][type] = "core"
projects[drupal][download][type] = "get"
projects[drupal][download][url] = "http://files.aegir.cc/core/drupal-7.93.1.tar.gz"

; For Drupal 6:
projects[pressflow][type] = "core"
projects[pressflow][download][type] = "get"
projects[pressflow][download][url] = "http://files.aegir.cc/core/pressflow-6.60.1.tar.gz"

!If you plan to use makefile referencing private repo(s), you need to create SSH key on your account first, typically with command 'ssh-keygen -b 4096 -t rsa -N "" -f ~/.ssh/id_rsa' and upload the ~/.ssh/id_rsa.pub file to your private Git repo account at github.com, codebasehq.com or bitbucket.org, etc. But if you prefer to use Aegir interface for makefiles, so the Aegir system user will build the platform codebase for you (after you have verified that this makefile works fine on command line) and that makefile references private repos, you need to upload the public SSH key of your Aegir system user instead – it is available in your account as ~/static/USER.id_rsa.pub where USER is a placeholder for your Aegir system username.

Create Account or request a free Test Drive
Already 900+ hosts powering thousands of Drupal sites are running on our high-performance Aegir BOA stack
© 2009-2023 Omega8.cc | ul. Zlota 59, 14th floor Skylight Building, 00-120 Warsaw, Poland | Twitter
Smokin’ Fast Drupal Hosting in Amsterdam · Chicago · Frankfurt · London
Madrid · New York · San Jose · Singapore · Sydney · Toronto · Warsaw