This post, an updated (the original was written in August 2019 for ISLE-1.2.0) follow-up to a previous post is intended to chronicle my efforts to build a new ~ISLE v1.2.0~ ISLE-1.3.0, ld, or local development, instance of Digital.Grinnell on my work-issued MacBook, ma7053.
There are just a couple of notes regarding this document that I’d like to pass along to make it more useful.
Gists - You will find a few places in this post where I generated a gist to take the place of lengthy command output. Instead of a long stream of text you’ll find a simple link to a gist like this.
Workstation Commands - There are lots of places in this document where I’ve captured a series of command lines along with output from those commands in block text. Generally speaking, after each such block you will find a Workstation Commands table that can be used to conveniently copy and paste the necessary commands directly into your workstation. The tables look something like this:
Apache Container Commands - Similar to Workstation Commands, a tabulated list of commands may appear with a heading of Apache Container Commands. *Commands in such tables can be copied and pasted into your command line terminal, but ONLY after you have opened a shell into the Apache container. The asterisk (*) at the end of the table heading is there to remind you of this! See the next section of this document for additional details. These tables looks something like this:
Apache Container Commands*
cd /var/www/html/sites/all/modules/contrib drush dl backup_migrate drush -y en backup_migrate
Opening a Shell in the Apache Container
This is something I find myself doing quite often during ISLE configuration, so here’s a reminder of how I generally do this…
This is first-and-foremost a local development copy of ISLE, but with considerable Digital.Grinnell customization, so I’m following the process outlined in the project’s ./docs/install/install-local-new.md. References to Step X that follow refer to corresponding sections of install-local-new.md. Each section or “Step” listed below is also a link back to the corresponding section of the canonical document.
In this step I found it necessary to be very diligent about editing my /etc/hosts file, even though I’ve done this a thousand times (and that’s not exaggerated). Why? Because every time I update Docker Desktop for Mac, the hideous thing adds a new 127.0.0.1 entry to the bottom of my /etc/hosts file, effectively overriding my own additions.
Since this is a short-lived, local, development project, I have no reservations about sharing this with you. So, as instructed I modified .env to read as follows:
#### Activated ISLE environment
# To use an environment other than the default Demo, please change values below
# from the default Demo to one of the following: Local, Test, Staging or Production
# For more information, consult https://islandora-collaboration-group.github.io/ISLE/install/install-environments/
Ok, fingers crossed for good luck. ✌️ I left docker-compose.local.yml just as it was, right out of the box, and did almost as instructed:
cd ~/Projects/dg-isle; time docker exec -it isle-apache-ld bash -c “cd /utility-scripts/isle_drupal_build_tools && ./isle_islandora_installer.sh”
Note the addition of the time command out front; that was put there to record how long this process takes. My time... results: docker exec -it isle-apache-ld bash -c 0.21s user 0.15s system 0% cpu 31:07.34 total.
OK, so this is where I generally depart from the “script”, because I’m lazy, and I already have a portable Fedora repository to test from. So, my process in this step follows what I wrote more than a month ago, 046 DG-FEDORA: A Portable Object Repository.
OK, I have to admit this “step” was confusing at first, but it works and seems to make sense now that I’ve completed it. I’ll spare you the output details, because there was a LOT of it, but here is the exact command sequence I used…
Step 11 is essentially the end of the install-local-new.md process, but it left me with a local ISLE project directory, namely ~/Projects/dg-isle, with the following Git status and remotes…
╭─markmcfate@ma7053 ~/Projects/dg-isle ‹ruby-2.3.0› ‹master*›
╰─$ git status; git remote -v
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
(use "git add <file>..." to include in what will be committed)
no changes added to commit (use "git add" and/or "git commit -a")
icg-upstream https://github.com/Islandora-Collaboration-Group/ISLE.git (fetch)
icg-upstream https://github.com/Islandora-Collaboration-Group/ISLE.git (push)
origin https://github.com/Digital-Grinnell/dg-isle (fetch)
origin https://github.com/Digital-Grinnell/dg-isle (push)
Since this is a local ISLE with no secrets, it seems prudent to add, commit, and push at least my “off-script” additions, .env and docker-compose.DG-FEDORA.yml. To safeguard against making a bad move I’m going to approach this like so: