Title: study cloud installation via laradock · Issue #182 · studycloud/studycloud · GitHub
Open Graph Title: study cloud installation via laradock · Issue #182 · studycloud/studycloud
X Title: study cloud installation via laradock · Issue #182 · studycloud/studycloud
Description: The problem While easier and more flexible than our old installation via XAMPP, the current studycloud installation script and corresponding startup script that I developed in #112 are long and sometimes error-prone (especially on Mac OS...
Open Graph Description: The problem While easier and more flexible than our old installation via XAMPP, the current studycloud installation script and corresponding startup script that I developed in #112 are long and som...
X Description: The problem While easier and more flexible than our old installation via XAMPP, the current studycloud installation script and corresponding startup script that I developed in #112 are long and som...
Opengraph URL: https://github.com/studycloud/studycloud/issues/182
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"study cloud installation via laradock","articleBody":"## The problem\r\nWhile easier and more flexible than our old installation via XAMPP, the current [studycloud installation script](https://gist.github.com/aryam7/67730c531bb60efccab19f453d16130e) and corresponding [startup script](https://gist.github.com/aryam7/55a75fd93d8a63a0e8f9ab0c3049f988) that I developed in #112 are long and sometimes error-prone (especially on Mac OS). Also, they're not attached to the [studycloud repository](https://github.com/studycloud/studycloud), so it can be hard to go back in git's version history and understand when a change to code in our repository required a change to our installation script. What's more: the installation script depends on package managers which are not always quick to provide the latest and greatest versions of our dependencies (ex: with MySQL 8 and #144). But worst of all, the installation script requires constant maintenance, since it sometimes breaks when the package managers decide to change stuff up (for example, when Homebrew decided to switch to MySQL 8 all of a sudden).\r\n\r\n## The solution\r\nCreate a new installation script and corresponding startup script in a folder in the [studycloud repository](https://github.com/studycloud/studycloud).\r\nThe installation script will use [Laradock](https://github.com/Laradock/laradock) to install our dependencies: MySQL, phpMyAdmin, composer, php, (git?), Laravel Envoy, and Elasticsearch. Since Laradock uses [Docker](https://www.docker.com/), the installation script might need to check whether Docker is installed and install it otherwise.\r\nThe startup script will use Docker to start all of those services, just like the old startup command. In fact, if I can get this all set up fast enough, I may recommend it instead of editing the old startup command as in #171.\r\n- [x] [Setup our repository for using Laradock](https://laradock.io/getting-started/#A1)\r\n\r\n### Before running the installation script, users will have to\r\n- check if git is installed\r\n - and install it somehow if it isn't\r\n- clone the [studycloud repository](https://github.com/studycloud/studycloud) and the Laradock submodule inside of it\r\n- install Docker\r\n- add the startup script to their `$PATH`\r\n\r\n### The installation script will have to\r\n- [x] create the user's `.env` file (if not already created)\r\n- [x] create the user's Laradock `.env` file (if not already created)\r\n - perhaps this could be copied from the repository root?\r\n- [x] run the `docker-compose up` command to install all of our dependencies\r\n - [x] [MySQL](https://laradock.io/documentation/#mysql-root-access)\r\n - [x] [phpMyAdmin](https://laradock.io/documentation/#use-phpmyadmin)\r\n - [x] [Elasticsearch](https://laradock.io/documentation/#use-elasticsearch)\r\n - [x] workspace\r\n - [x] [composer](https://laradock.io/documentation/#enable-global-composer-build-install)\r\n - [x] [Laravel Envoy](https://laradock.io/documentation/#install-laravel-envoy-envoy-task-runner)\r\n- [x] run `php artisan key:generate` inside the workspace image\r\n- [x] run `php artisan storage:link` inside the workspace image\r\n- [ ] [setup the studycloud database inside the mysql docker image](https://laradock.io/documentation/#create-multiple-databases)\r\n- [ ] run `php artisan migrate:fresh --seed` inside the workspace image (with mysql running)\r\n- [ ] [Set up docker-sync](https://laradock.io/documentation/#workaround-b-using-d4m-nfs)\r\n\r\n### The startup script will have to\r\neither\r\n- [ ] Startup the proper containers using `docker-compose exec {container-name}`\r\n- [ ] Enter the workspace container by [starting it up and typing `bash` as an extra argument](https://laradock.io/documentation/#enter-a-container)\r\n- [ ] [Close the containers](https://laradock.io/documentation/#close-all-running-containers) we opened before\r\n\r\nor, if using [`docker-sync`](https://docker-sync.readthedocs.io/en/latest/)\r\n- [ ] do [these steps](https://laradock.io/documentation/#b-1-using-the-built-in-d4m-nfs-integration)","author":{"url":"https://github.com/aryarm","@type":"Person","name":"aryarm"},"datePublished":"2020-04-06T02:38:02.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/182/studycloud/issues/182"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:94c601c2-37d0-ea4a-5627-6b7448e25829 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 90B2:F5406:219F64:2F3C6C:69789F65 |
| html-safe-nonce | 0e7d35dc1c513a3f05c7d0393a290c528b8ef0271c0a8c0a3305fcb2ac726712 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5MEIyOkY1NDA2OjIxOUY2NDoyRjNDNkM6Njk3ODlGNjUiLCJ2aXNpdG9yX2lkIjoiMTU0MTUyODU5NjgzNTI0NTkyNSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | fc2d0ce85f3d6ec8dc86c8d13400966db99de1474e2072327bc75342747ab0be |
| hovercard-subject-tag | issue:594762567 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/studycloud/studycloud/182/issue_layout |
| twitter:image | https://opengraph.githubassets.com/4170574d8b5188626b1f6e435054b231ab6825d1ac7477b8ffefaff083e05067/studycloud/studycloud/issues/182 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/4170574d8b5188626b1f6e435054b231ab6825d1ac7477b8ffefaff083e05067/studycloud/studycloud/issues/182 |
| og:image:alt | The problem While easier and more flexible than our old installation via XAMPP, the current studycloud installation script and corresponding startup script that I developed in #112 are long and som... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | aryarm |
| hostname | github.com |
| expected-hostname | github.com |
| None | 2981c597c945c1d90ac6fa355ce7929b2f413dfe7872ca5c435ee53a24a1de50 |
| turbo-cache-control | no-preview |
| go-import | github.com/studycloud/studycloud git https://github.com/studycloud/studycloud.git |
| octolytics-dimension-user_id | 61662669 |
| octolytics-dimension-user_login | studycloud |
| octolytics-dimension-repository_id | 75028068 |
| octolytics-dimension-repository_nwo | studycloud/studycloud |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 75028068 |
| octolytics-dimension-repository_network_root_nwo | studycloud/studycloud |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 14920c7cb7d7c207b5e72684d0e6f23b65b849b3 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width