From dc1f885a9bc051b3fe5a543dec3c29dc678877e1 Mon Sep 17 00:00:00 2001 From: aksm Date: Mon, 29 Nov 2021 11:23:29 -0500 Subject: [PATCH 1/6] Some initial docs updates. --- docs/osx.md | 6 ++++-- docs/ubuntu.md | 26 +++++++++++++++----------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/docs/osx.md b/docs/osx.md index 33d9ca84..0600ae18 100644 --- a/docs/osx.md +++ b/docs/osx.md @@ -14,6 +14,7 @@ If something fails (and we hope it does not) troubleshooting will be much easier Happy deploying! ### OSX: + - [Install Docker for Mac](https://docs.docker.com/docker-for-mac/) - For OSX `Catalina` or `Big Sur` on Intel (i5/i7) the tested version is: `4.0.1(68347)`. You may go newer of course. - For `Big Sur` and `Apple Silicon M1` Chips please read https://docs.docker.com/docker-for-mac/apple-silicon/. You may need to enable manual compatibility mode in your `docker-compose.yml` file for the `esmero-php` and `esmero-cantaloupe` containers. @@ -74,6 +75,7 @@ git checkout 1.0.0-RC2D9 cp docker-compose-osx.yml docker-compose.yml docker-compose up -d ``` + Note: If you are running from an external Drive or a partition/filesystem that is `Case Sensitive` and is not syncing automatically to `Apple Cloud` you can also use docker-compose-linux.yml Note2: `docker-compose.yml` is git ignored in case you make local adjustments or changes to it. @@ -96,6 +98,7 @@ The following will run composer inside the esmero-php container to download all ```Shell docker exec -ti esmero-php bash -c "composer install" ``` + Once that command finishes run our setup script: ```Shell @@ -152,9 +155,8 @@ If you like this, let us know! * [Diego Pino](https://github.com/DiegoPino) * [Giancarlo Birello](https://github.com/giancarlobi) * [Allison Lund](https://github.com/alliomeria) +* [Albert Min](https://github.com/aksm) ## License [GPLv3](http://www.gnu.org/licenses/gpl-3.0.txt) - - diff --git a/docs/ubuntu.md b/docs/ubuntu.md index dabd2fba..ccca2f63 100644 --- a/docs/ubuntu.md +++ b/docs/ubuntu.md @@ -15,6 +15,7 @@ you can share that output when asking for help. Happy deploying! ## Prerequisites + - At least 10 Gbytes of free space (to get started) - Some basic Unix/Terminal Skills - 2-4 Gbytes of RAM (4 Recommended) @@ -37,6 +38,7 @@ Log out, log in again! ```Shell sudo apt install docker-compose ``` + Git tools are included by default in Ubuntu ### Wait! Question: Do you have a previous version of Archipelago running? @@ -78,13 +80,14 @@ Ok, now we are ready to start. ## Step 1: Deployment -##### Prefer to watch a video of how to install? Go to our [`user contributed documentation`](https://github.com/esmero/archipelago-deployment/blob/1.0.0-RC1/docs/ubuntu.md#user-contributed-documentation)! +##### Prefer to watch a video of how to install? Go to our [`user contributed documentation`](#user-contributed-documentation)! #### IMPORTANT If you run `docker-compose` as root user (using `sudo`) some enviromental variables, like the current folder used inside the `docker-compose.yml` to mount the Volumens will not work and you will see a bunch of errors. There are two possible solutions. + - The best is to add your [user to the docker group](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04) (so no `sudo` needed). - Second option is to replace every `{$PWD}` inside your `docker-compose.yml` with either the full path to your current folder, or with a `.` and wrap that whole line in double quotes, basically making the paths for volumens relatives. @@ -96,7 +99,7 @@ Now that you got it, lets deploy: ```Shell git clone https://github.com/esmero/archipelago-deployment.git archipelago-deployment cd archipelago-deployment -git checkout 1.0.0-RC2D9 +git checkout 1.0.0-RC3D9 ``` And now a hard choice. Which docker-compose/ensemble? Edge? Stable? Legacy? So many choices. @@ -107,36 +110,38 @@ cp docker-compose-linux.yml docker-compose.yml docker-compose up -d ``` -You have something running and do not want to update Databases/Solr indexes: Go legact. In doubt? Ask us please. We can help. - +You have something running and do not want to update Databases/Solr indexes: Go legacy. In doubt? Ask us please. We can help. If you want to stay more traditional and stick with older versions PHP7.4/Solr7.5/MySQL57 we recommend + ```Shell cp docker-compose-legacy.yml docker-compose.yml docker-compose up -d ``` - Note: `docker-compose.yml` is git ignored in case you make local adjustments or changes to it. You need to make sure Docker can read/write to your local Drive a.k.a mounted volumens (specially if you decided not to run it as `root`, because we told you so!) This means in practice running: + ```Shell -sudo chown -R 100:100 persistent/iiifcache +sudo chown -R 8183:8183 persistent/iiifcache sudo chown -R 8983:8983 persistent/solrcore ``` And then + ```Shell docker exec -ti esmero-php bash -c "chown -R www-data:www-data private" ``` + *Question:* why this last command different: Answer: Just a variation. Long answer is the internal `www-data` user in that container (Alpine Linux) has uid:82, but on ubuntu the www-data user has a different one so we let docker assing the uid from inside instead. In practice you could also run directly `sudo chown -R 82:82 private` which would only apply to an Alpine use case, which can differ in the future! Does this make sense? No worries if not. ## Step 2: Set up your Minio S3 bucket Once all containers are up and running (you can do a `docker ps` to check), -access `http://localhost:9000` using your most loved Web Browser with the following credentials: +access `http://localhost:9001` using your most loved Web Browser with the following credentials: ``` user:minio @@ -145,14 +150,14 @@ pass:minio123 and create a bucket named "archipelago". To do so press the red/coral `+` button on the bottom-right side and press the `Bucket` icon , it has a tooltip that says "create bucket". Write `archipelago` and submit, done! That is where we will persist all your Files and also your File copies of each Digital Object. You can always go there and explore what Archipelago (well really Strawberryfield does the hard work) has persisted so you can get comfortable with our architecture. - -## Step 3: Deploy Drupal 9.1.8 and the awesome Archipelago Modules +## Step 3: Deploy Drupal 9.2.9 and the awesome Archipelago Modules The following will run composer inside the esmero-php container to download all dependencies and Drupal Core too. ```Shell docker exec -ti esmero-php bash -c "composer install" ``` + You will see a warning: `Do not run Composer as root/super user! See https://getcomposer.org/root for details` and the a long list of PHP packages, don't worry, all is good here, keep following the instructions! Once that command finishes run our setup script: ```Shell @@ -208,9 +213,8 @@ _Installing Archipelago on AWS Ubuntu_ by [Zach Spalding](https://github.com/sen * [Diego Pino](https://github.com/DiegoPino) * [Giancarlo Birello](https://github.com/giancarlobi) * [Allison Lund](https://github.com/alliomeria) +* [Albert Min](https://github.com/aksm ## License [GPLv3](http://www.gnu.org/licenses/gpl-3.0.txt) - - From 8dc0893f8857ae87dea29c22c2c187188233cbd2 Mon Sep 17 00:00:00 2001 From: aksm Date: Mon, 29 Nov 2021 13:57:31 -0500 Subject: [PATCH 2/6] Change Cantaloupe UID:GID back and add docker-compose pull as extra precaution --- docs/osx.md | 3 ++- docs/ubuntu.md | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/osx.md b/docs/osx.md index 0600ae18..10640ea6 100644 --- a/docs/osx.md +++ b/docs/osx.md @@ -71,8 +71,9 @@ Ok, now we are ready to start. ```Shell git clone https://github.com/esmero/archipelago-deployment.git archipelago-deployment cd archipelago-deployment -git checkout 1.0.0-RC2D9 +git checkout 1.0.0-RC3D9 cp docker-compose-osx.yml docker-compose.yml +docker-compose pull docker-compose up -d ``` diff --git a/docs/ubuntu.md b/docs/ubuntu.md index ccca2f63..e4418385 100644 --- a/docs/ubuntu.md +++ b/docs/ubuntu.md @@ -80,7 +80,7 @@ Ok, now we are ready to start. ## Step 1: Deployment -##### Prefer to watch a video of how to install? Go to our [`user contributed documentation`](#user-contributed-documentation)! +##### Prefer to watch a video of how to install? Go to our [`user contributed documentation`](#user-contributed-documentation-a-video)! #### IMPORTANT @@ -107,6 +107,7 @@ For latest/modern stack PHP7.4/Solr8.8/MySQL8 we recommend: ```Shell cp docker-compose-linux.yml docker-compose.yml +docker-compose pull docker-compose up -d ``` @@ -116,6 +117,7 @@ If you want to stay more traditional and stick with older versions PHP7.4/Solr7. ```Shell cp docker-compose-legacy.yml docker-compose.yml +docker-compose pull docker-compose up -d ``` @@ -126,7 +128,7 @@ You need to make sure Docker can read/write to your local Drive a.k.a mounted vo This means in practice running: ```Shell -sudo chown -R 8183:8183 persistent/iiifcache +sudo chown -R 100:100 persistent/iiifcache sudo chown -R 8983:8983 persistent/solrcore ``` @@ -213,7 +215,7 @@ _Installing Archipelago on AWS Ubuntu_ by [Zach Spalding](https://github.com/sen * [Diego Pino](https://github.com/DiegoPino) * [Giancarlo Birello](https://github.com/giancarlobi) * [Allison Lund](https://github.com/alliomeria) -* [Albert Min](https://github.com/aksm +* [Albert Min](https://github.com/aksm) ## License From 903ebc03fcbafad07ab7b208f20ccceca277ddac Mon Sep 17 00:00:00 2001 From: aksm Date: Mon, 29 Nov 2021 14:04:01 -0500 Subject: [PATCH 3/6] Fix broken internal link in ubuntu.md --- docs/ubuntu.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ubuntu.md b/docs/ubuntu.md index e4418385..fd249d8b 100644 --- a/docs/ubuntu.md +++ b/docs/ubuntu.md @@ -43,7 +43,7 @@ Git tools are included by default in Ubuntu ### Wait! Question: Do you have a previous version of Archipelago running? -If so, let's give that hard working repository a break first. If not, [Step 1](#step-1-docker-deployment): +If so, let's give that hard working repository a break first. If not, [Step 1](#step-1-deployment): - Open a terminal (you have that already right?) and go to your previous download/git clone folder and run: From eb8cced9dee1598eae6be90b7f87d9ffa29dca13 Mon Sep 17 00:00:00 2001 From: aksm Date: Mon, 29 Nov 2021 14:15:07 -0500 Subject: [PATCH 4/6] just some small text edits --- README.md | 8 ++++---- docs/osx.md | 2 +- docs/ubuntu.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 117757a8..ab3c1d76 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,13 @@ This repository serves as bootstrap for a Archipelago 1.0.0-RC3 deployment via D - minio.io (latest) S3/Azure/Local/Remote alternative with a new Console and also Gateway to many others. - Apache Solr 8.8.2 (or 7.5 if you go legacy) with the wizardly Solr OCR Highlight library [v0.7.1](https://github.com/dbmdz/solr-ocrhighlighting/releases/tag/0.7.1) build by the Developement Team at the [Bavarian State Library](https://github.com/dbmdz). Thanks Johannes Baiter! -- Mysql 8.0.22 (or Mysql 5.7 if you go legacy) -- Ngnix 11 +- MySQL 8.0.22 (or MySQL 5.7 if you go legacy) +- NGINX 11 - Custom PHP FPM 7.4 zuper-tunned for Drupal 8/9 with multi-arch (so M1 too) capabilities (or 7.3 FPM if you go legacy) with WARC to WACZ processing and Composer 2.0 - Natural Language Processing via NPLWEB64 - Cantaloupe 4.1.9 as IIIF Server with Video Frame extraction and PDF support -- A Skeleton Project setup to run latest Version of Drupal (9.2.9) and strawberry field modules on 1.0.0-RC3 & friends on 0.2.0 -- Official *Drupal 9 ready* release again. D9.2.9 this time. Drupal 8 is not longer maintained and we have documented the upgrade path +- A Skeleton Project setup to run latest Version of Drupal (9.2.9) and Strawberry Field modules on 1.0.0-RC3 & friends on 0.2.0 +- Official *Drupal 9 ready* release again. D9.2.9 this time. Drupal 8 is no longer maintained, and we have documented the upgrade path The skeleton project contains all the pieces needed to run a local deployment of a vanilla Archipelago including (*YES*!) content provided as optional feature from [archipelago-recyclables](https://github.com/esmero/archipelago-recyclables) diff --git a/docs/osx.md b/docs/osx.md index 10640ea6..bcf60fb7 100644 --- a/docs/osx.md +++ b/docs/osx.md @@ -71,7 +71,7 @@ Ok, now we are ready to start. ```Shell git clone https://github.com/esmero/archipelago-deployment.git archipelago-deployment cd archipelago-deployment -git checkout 1.0.0-RC3D9 +git checkout 1.0.0-RC3 cp docker-compose-osx.yml docker-compose.yml docker-compose pull docker-compose up -d diff --git a/docs/ubuntu.md b/docs/ubuntu.md index fd249d8b..231243bb 100644 --- a/docs/ubuntu.md +++ b/docs/ubuntu.md @@ -99,7 +99,7 @@ Now that you got it, lets deploy: ```Shell git clone https://github.com/esmero/archipelago-deployment.git archipelago-deployment cd archipelago-deployment -git checkout 1.0.0-RC3D9 +git checkout 1.0.0-RC3 ``` And now a hard choice. Which docker-compose/ensemble? Edge? Stable? Legacy? So many choices. From 4f00341425439e9bd259cc998bba895b59672f3f Mon Sep 17 00:00:00 2001 From: aksm Date: Mon, 29 Nov 2021 14:18:03 -0500 Subject: [PATCH 5/6] just some formatting edits --- docs/democontent.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/democontent.md b/docs/democontent.md index 0f82f50f..3a6757fc 100644 --- a/docs/democontent.md +++ b/docs/democontent.md @@ -7,6 +7,7 @@ You can learn and test. Then delete and move over. ## Prerequisites ### The new way Archipelago 1.0.0-RC2 or higher. + - You installed it either via the Step by Step [deployment on OSX](osx.md), the one for [Ubuntu](ubuntu.md) or using your secret powers directly on a VM/Metal/Cloud/EC2 or even a raspberryPI. - You followed the guides without being too creative which means you have an `jsonapi` drupal user and an `admin` one and you can login and out of your server. - You remember your `admin`user @@ -20,6 +21,7 @@ You can learn and test. Then delete and move over. - You are done! ### Old way, A running Archipelago 1.0-Beta3 or higher. + - You installed it either via the Step by Step [deployment on OSX](osx.md), the one for [Ubuntu](ubuntu.md) or using your secret powers directly on a VM/Metal/Cloud/EC2 or even a raspberryPI. - You followed the guides without being too creative which means you have a `jsonapi` drupal user and you can login and out of your server. @@ -66,12 +68,14 @@ File anne_009.jpg sucessfully uploaded with Internal Drupal file ID 13 File anne_010.jpg sucessfully uploaded with Internal Drupal file ID 14 New Object 'Anne of Green Gables : Chapters 1 and 2' with UUID 9eb28775-d73a-4904-bc79-f0e925075bc5 successfully ingested. Thanks! ``` + Gist here is: if the script says `Thanks` you are good. - If you are not running Docker (You are a unicorn or at least a hacker) you will need to tune/copy/modify the following script: `archipelago-deployment/d8content/archipelago-recyclables/deploy_ados.sh` Inside you will find lines like this one + ```Shell drush archipelago:jsonapi-ingest /var/www/html/d8content/archipelago-recyclables/ado/0c2dc01a-7dc2-48a9-b4fd-3f82331ec803.json --uuid=0c2dc01a-7dc2-48a9-b4fd-3f82331ec803 --bundle=digital_object --uri=http://esmero-web --files=/var/www/html/d8content/archipelago-recyclables/ado/0c2dc01a-7dc2-48a9-b4fd-3f82331ec803 --user=jsonapi --password=jsonapi --moderation_state=published; ``` @@ -79,15 +83,16 @@ drush archipelago:jsonapi-ingest /var/www/html/d8content/archipelago-recyclables What you want here is to modify/replace the absolute paths that point your demo objects (.json) and their assets (folders with the same name). Basically replace every entry of `/var/www/html/d8content/archipelago-recyclables/` with the path to `archipelago-recyclables` ### Need help? Blue Screen? Missed a step? Need a hug? Another Hug? + If you have trouble running this or see errors or need help with a step (its only two steps), please let us know (ASAP!). You can either open an `issue` in this repository or use the [Google Group](https://groups.google.com/forum/#!forum/archipelago-commons). We are here to help. ## Caring & Coding + Fixing * [Diego Pino](https://github.com/DiegoPino) * [Giancarlo Birello](https://github.com/giancarlobi) +* [Allison Lund](https://github.com/alliomeria) +* [Albert Min](https://github.com/aksm) ## License [GPLv3](http://www.gnu.org/licenses/gpl-3.0.txt) - - From 6a93bdc9962a70743ea98b39f7681f2b3ae60edf Mon Sep 17 00:00:00 2001 From: aksm Date: Mon, 29 Nov 2021 14:55:06 -0500 Subject: [PATCH 6/6] Add note about user contributed video --- docs/ubuntu.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/ubuntu.md b/docs/ubuntu.md index 231243bb..d6b15252 100644 --- a/docs/ubuntu.md +++ b/docs/ubuntu.md @@ -80,7 +80,7 @@ Ok, now we are ready to start. ## Step 1: Deployment -##### Prefer to watch a video of how to install? Go to our [`user contributed documentation`](#user-contributed-documentation-a-video)! +##### Prefer to watch a video to see what it's like to install? Go to our [`user contributed documentation`](#user-contributed-documentation-a-video)[^1]! #### IMPORTANT @@ -206,9 +206,11 @@ If you see any issues or errors or need help with a step, please let us know (AS If you like this, let us know! -### User contributed documentation (A Video!): +### User contributed documentation (A Video!)[^1]: -_Installing Archipelago on AWS Ubuntu_ by [Zach Spalding](https://github.com/senyzspalding): https://youtu.be/RBy7UMxSmyQ +_Installing Archipelago on AWS Ubuntu_ by [Zach Spalding](https://github.com/senyzspalding): + +[^1]: You may find this user contributed tutorial video, which was created for an earlier Archipelago release, to be helpful. Please note that there are significant differences between the executed steps and that you need to follow the current release instructions in order to have a successful deployment. ## Caring & Coding + Fixing + Testing