docker-install.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /**
  3. * Docker CLI Elgg installer script
  4. */
  5. $elgg_path = getenv('ELGG_PATH');
  6. $autoload_path = '/var/www/html/vendor/autoload.php';
  7. $autoload_available = include_once($autoload_path);
  8. if (!$autoload_available) {
  9. die("Couldn't include '$autoload_path'. Did you run `composer install`?");
  10. }
  11. // if (file_exists($elgg_path.'composer.lock')) {
  12. // echo "Running method \\Elgg\\Composer\\PostInstall::execute() to recreate symbolic links of plugins.\n";
  13. // }
  14. $installer = new ElggInstaller();
  15. $params = array(
  16. // database parameters
  17. 'dbuser' => getenv('ELGG_DB_USER'),
  18. 'dbpassword' => getenv('ELGG_DB_PASS'),
  19. 'dbname' => getenv('ELGG_DB_NAME'),
  20. 'dbhost' => getenv('ELGG_DB_HOST'),
  21. 'dbprefix' => getenv('ELGG_DB_PREFIX'),
  22. // site settings
  23. 'sitename' => getenv('ELGG_SITE_NAME'),
  24. 'siteemail' => getenv('ELGG_SITE_EMAIL'),
  25. 'wwwroot' => getenv('ELGG_WWW_ROOT'),
  26. 'dataroot' => getenv('ELGG_DATA_ROOT'),
  27. // admin account
  28. 'displayname' => getenv('ELGG_DISPLAY_NAME'),
  29. 'email' => getenv('ELGG_EMAIL'),
  30. 'username' => getenv('ELGG_USERNAME'),
  31. 'password' => getenv('ELGG_PASSWORD'),
  32. 'path' => getenv('ELGG_PATH')
  33. );
  34. if (strlen($params['password']) < 6) {
  35. echo "Elgg Admin password must be at least 6 characters long.\n";
  36. exit(1);
  37. }
  38. $installer->batchInstall($params, true);