Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISSUE-147: Update docs to match PR146 #148

Merged
merged 7 commits into from
Nov 29, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
9 changes: 7 additions & 2 deletions docs/democontent.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.

Expand Down Expand Up @@ -66,28 +68,31 @@ 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;
```

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)


9 changes: 6 additions & 3 deletions docs/osx.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -70,10 +71,12 @@ 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-RC3
cp docker-compose-osx.yml docker-compose.yml
docker-compose pull
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.

Expand All @@ -96,6 +99,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
Expand Down Expand Up @@ -152,9 +156,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)


34 changes: 21 additions & 13 deletions docs/ubuntu.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -37,11 +38,12 @@ 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?

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:

Expand Down Expand Up @@ -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 to see what it's like to install? Go to our [`user contributed documentation`](#user-contributed-documentation-a-video)[^1]!

#### 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.

Expand All @@ -96,47 +99,51 @@ 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-RC3
```

And now a hard choice. Which docker-compose/ensemble? Edge? Stable? Legacy? So many choices.
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
```

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 pull
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 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
Expand All @@ -145,14 +152,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
Expand Down Expand Up @@ -199,18 +206,19 @@ 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): <https://youtu.be/RBy7UMxSmyQ>

[^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

* [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)