#!/bin/bash unameOut="$(uname -s)" case "${unameOut}" in Linux*) machine=Linux;; Darwin*) machine=Mac;; CYGWIN*) machine=Cygwin;; MINGW*) machine=MinGw;; *) machine="UNKNOWN:${unameOut}" esac if [ ${machine} = 'Mac' ]; then OPTS=`/usr/local/bin/getopt -o ngbcDwtdhp: --long name:,git-repo:,branch:,composer-install,install-drush,web-folder:,template:,db-dump:,hash-salt:,db-prefix: -n 'parse-options' -- "$@"` else OPTS=`getopt -o ngbcDwtdhp: --long name:,git-repo:,branch:,composer-install,install-drush,web-folder:,template:,db-dump:,hash-salt:,db-prefix: -n 'parse-options' -- "$@"` fi if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi eval set -- "${OPTS}" NAME="" GIT_REPO="" BRANCH="develop" COMPOSER_INSTALL=false INSTALL_DRUSH=false WEB_FOLDER="web" TEMPLATE="" DB_DUMP="" HASH_SALT="" DB_PREFIX="" while true; do case "$1" in -n | --name ) case "$2" in "") shift 2 ;; *) NAME=$2 ; shift 2 ;; esac ;; -g | --git-repo ) case "$2" in "") shift 2 ;; *) GIT_REPO=$2 ; shift 2 ;; esac ;; -b | --branch ) case "$2" in "") shift 2 ;; *) BRANCH=$2 ; shift 2 ;; esac ;; -c | --composer-install ) COMPOSER_INSTALL=true; shift ;; -w | --web-folder ) case "$2" in "") shift 2 ;; *) WEB_FOLDER=$2 ; shift 2 ;; esac ;; -t | --template ) case "$2" in "") shift 2 ;; *) TEMPLATE=$2 ; shift 2 ;; esac ;; -d | --db-dump ) case "$2" in "") shift 2 ;; *) DB_DUMP=$2 ; shift 2 ;; esac ;; -h | --hash-salt ) case "$2" in "") shift 2 ;; *) HASH_SALT=$2 ; shift 2 ;; esac ;; -p | --db-prefix ) case "$2" in "") shift 2 ;; *) DB_PREFIX=$2 ; shift 2 ;; esac ;; -- ) shift; break ;; *) echo "Internal error!" ; exit 1 ;; esac done if [ "$NAME" = "" ]; then echo "NAME is missing" exit fi if [ "$GIT_REPO" = "" ]; then echo "GIT_REPO is missing" exit fi if [ "$TEMPLATE" = "" ]; then echo "TEMPLATE is missing" exit fi if [ "$DB_DUMP" = "" ]; then echo "DB_DUMP is missing" exit fi if [ "$HASH_SALT" = "" ]; then echo "HASH_SALT is missing" exit fi if [ "$TEMPLATE" = "drupal8" ]; then SETTINGS_PHP=" '##DB_NAME##', 'username' => '##DB_USER##', 'password' => '##DB_PASSWORD##', 'prefix' => '##DB_PREFIX##', 'host' => '##DB_HOST##', 'port' => '3306', 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', 'driver' => 'mysql', ); \$config['system.file']['path']['temporary'] = '/tmp'; \$settings['install_profile'] = 'minimal'; \$config_directories['sync'] = '../config/sync'; \$settings['file_private_path'] = '##FILES_PRIVATE##'; \$config['config_split.config_split.excluded']['status'] = TRUE; \$config['config_split.config_split.##TYPE##']['status'] = TRUE; \$settings['hash_salt'] = '##HASH_SALT##'; " SETTINGS_PHP_LOCAL="
The requested URL \"@path\" was not found on this server.
'; \$databases = array ( 'default' => array ( 'default' => array ( 'database' => '##DB_NAME##', 'username' => '##DB_USER##', 'password' => '##DB_PASSWORD##', 'host' => '##DB_HOST##', 'port' => '', 'driver' => 'mysql', 'prefix' => '##DB_PREFIX##', ), ), ); \$conf['file_temporary_path'] = '/tmp'; \$settings['file_private_path'] = '##FILES_PRIVATE##'; \$conf['theme_debug'] = TRUE; \$drupal_hash_salt = '##HASH_SALT##'; if (file_exists(DRUPAL_ROOT . '/sites/all/modules/domain/settings.inc')) { include DRUPAL_ROOT . '/sites/all/modules/domain/settings.inc'; } " LANDO=" name: ${NAME} recipe: ${TEMPLATE} config: webroot: ${WEB_FOLDER} services: database: type: mysql:5.7 appserver: type: php:5.6 config: conf: docker-config/php.ini " fi # create folder echo '' echo '--------------------------------------------------' echo '---------- Create project directory --------------' echo '--------------------------------------------------' if [ ! -d ${NAME} ]; then mkdir ${NAME} fi cd ${NAME} || exit 1; echo 'Done' # git pull echo '' echo '--------------------------------------------------' echo '---------- Git Pull code -------------------------' echo '--------------------------------------------------' if [ ! -d '.git' ]; then git clone -b ${BRANCH} ${GIT_REPO} . || exit 1 echo 'Done' fi # create lando file echo '' echo '--------------------------------------------------' echo '---------- Init lando ----------------------------' echo '--------------------------------------------------', if [ ! -f docker-config/php.ini ]; then mkdir -p docker-config echo "memory_limit = -1" > docker-config/php.ini fi #if [ ! -f .lando.yml ]; then cat <