Skip to content

Commit 7f5e01d

Browse files
authored
Merge pull request #70 from aksm/ISSUE-63
ISSUE-63: Upgrade from RC3 to 1.0.0 doc needs edits
2 parents 9e7b0d8 + 595bd43 commit 7f5e01d

File tree

2 files changed

+90
-25
lines changed

2 files changed

+90
-25
lines changed

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Archipelago-deployment-live
44
tags:
55
- Archipelago-deployment-live
66
---
7-
-->
7+
documentation-->
88

99
# Archipelago Deployment Live
1010

@@ -147,11 +147,11 @@ What does each key mean?
147147
- `MINIO_FOLDER_PREFIX_MEDIA`: The `folder` (a prefix really) where your DO Storage and File storage will go inside the `MINIO_BUCKET_MEDIA` Bucket. `media/` is a _fine_ name for this one and common in archipelago deployments. **IMPORTANT:** Always terminate these with a `/`.
148148
- `MINIO_BUCKET_CACHE`: The name of your IIIF Cache storage Bucket. May be the same as `MINIO_BUCKET_MEDIA`. If different make sure your your `MINIO_ACCESS_KEY` and/or IAM role ACL have permission to read write to this one too.
149149
- `MINIO_FOLDER_PREFIX_CACHE`: The `folder` (a prefix really) where Cantaloupe will/can write its `iiif` caches. `iiifcache/` is a _lovely_ name we use a lot. **IMPORTANT:** Always terminate these with a `/`.
150-
- `REDIS_PASSWORD`: Password for your REDIS (Drupal Cache/Queue storage) if you decide to enabled the Drupal REDIS module.
150+
- `REDIS_PASSWORD`: Password for your REDIS (Drupal Cache/Queue storage) if you decide to enable the Drupal REDIS module.
151151

152-
`IMPORTANT NOTE`: For AWS EC2. If your selected an `IAM role` for your server when setting it up/deploying it, `min.io` will use the AWS EC2 backed internal API to request access to your S3. This means the ROLE itself needs to have read/write access (ACL) to the given Bucket(s) and your key/secrets won't be able to override that. Please do not ignore this note. It will save you a LOT of frustration and coffee. You can also run an EC2 instace without a given IAM and in that case just the ACCESS_KEY/SECRET will matter.
152+
`IMPORTANT NOTE`: For AWS EC2. If you selected an `IAM role` for your server when setting it up/deploying it, `min.io` will use the AWS EC2-backed internal API to request access to your S3. This means the ROLE itself needs to have read/write access (ACL) to the given Bucket(s) and your key/secrets won't be able to override that. Please do not ignore this note. It will save you a LOT of frustration and coffee. You can also run an EC2 instace without a given IAM and in that case just the ACCESS_KEY/SECRET will matter.
153153

154-
Now that you know, you also know that these values should be not **shared** and this `.env` file **should not** commited/kept in version control. Please be careful.
154+
Now that you know, you also know that these values **should not be shared** and this `.env` file **should not be committed/kept in version control**. Please be careful.
155155

156156
`docker-compose` will read this `.env` and start all services for you based on its content.
157157

@@ -167,7 +167,7 @@ cp deploy/ec2-docker/docker-compose-aws-s3.yml deploy/ec2-docker/docker-compose.
167167

168168
#### Running a fully qualified domain you wish a valid/signed certificate for ARM64/Apple M1 Architecture?
169169

170-
This means you will use the `docker-compose-aws-s3-arm64.yml`. Do the following
170+
This means you will use the `docker-compose-aws-s3-arm64.yml`. Do the following:
171171

172172
```shell
173173
cp deploy/ec2-docker/docker-compose-aws-s3-arm64.yml deploy/ec2-docker/docker-compose.yml

docs/upgradeFromRC3.md

+85-20
Original file line numberDiff line numberDiff line change
@@ -115,63 +115,113 @@ Time to fetch the `1.0.0` branch and update our `docker-compose` and `composer`
115115
```shell
116116
cd deploy/ec2-docker
117117
docker-compose down
118+
git fetch
118119
git checkout 1.0.0
119120
```
120121

121-
Then copy the appropriate `docker-compose` file for your architecture:
122+
If you decide to enable the Drupal REDIS module, make sure to add the `REDIS_PASSWORD` variable to your `.env` file.
122123

123-
<!--switch_below
124+
`IMPORTANT NOTE`: For AWS EC2. If you selected an `IAM role` for your server when setting it up/deploying it, `min.io` will use the AWS EC2-backed internal API to request access to your S3. This means the ROLE itself needs to have read/write access (ACL) to the given Bucket(s) and your key/secrets won't be able to override that. Please do not ignore this note. It will save you a LOT of frustration and coffee. You can also run an EC2 instance without a given IAM and in that case just the ACCESS_KEY/SECRET will matter.
124125

125-
??? info "OSX (macOS)/x86-64"
126+
Now that you know, you also know that these values **should not be shared** and this `.env` file **should not be committed/kept in version control**. Please be careful.
126127

127-
```shell
128-
cp docker-compose-osx.yml docker-compose.yml
129-
```
128+
Now let's back up the existing `docker-compose` file:
129+
130+
```shell
131+
cp docker-compose.yml docker-compose-original.yml
132+
```
133+
134+
Then copy the appropriate `docker-compose` file for your architecture:
135+
136+
<!--switch_below
130137
131138
??? info "Linux/x86-64/AMD64"
132139
133140
```shell
134-
cp docker-compose-linux.yml docker-compose.yml
141+
cp docker-compose-aws-s3.yml docker-compose.yml
135142
```
136143
137-
??? info "OSX (macOS)/Linux/ARM64"
144+
??? info "Linux/ARM64/Apple Silicon (M1 and M2)"
138145
139146
```shell
140-
cp docker-compose-arm64.yml docker-compose.yml
147+
cp docker-compose-aws-s3-arm64.yml docker-compose.yml
141148
```
142149
143150
switch_below-->
144151

145152
___
146153

147-
OSX (macOS)/x86-64:
154+
Linux/x86-64/AMD64:
148155

149156
```shell
150-
cp docker-compose-osx.yml docker-compose.yml
157+
cp docker-compose-aws-s3.yml docker-compose.yml
151158
```
152159

153160
___
154161

155-
Linux/x86-64/AMD64:
162+
Linux/ARM64/Apple Silicon (M1 and M2):
156163

157164
```shell
158-
cp docker-compose-linux.yml docker-compose.yml
165+
cp docker-compose-aws-s3-arm64.yml docker-compose.yml
159166
```
160167

161168
___
162169

163-
OSX (macOS)/Linux/ARM64:
170+
<!--switch_above
171+
switch_above-->
172+
173+
Next, let's review what's changed in case any customizations need to be brought into the new `docker-compose` configurations:
164174

165175
```shell
166-
cp docker-compose-arm64.yml docker-compose.yml
176+
git diff --no-index docker-compose-original.yml docker-compose.yml
167177
```
168178

169-
___
179+
You should encounter something like the following:
180+
181+
```diff
182+
diff --git a/docker-compose-original.yml b/docker-compose.yml
183+
index 6f5b17e..282417f 100644
184+
--- a/docker-compose-original.yml
185+
+++ b/docker-compose.yml
186+
@@ -1,5 +1,5 @@
187+
# Run docker-compose up -d
188+
-
189+
+# Docker file for AMD64/X86 machines
190+
version: '3.5'
191+
services:
192+
web:
193+
@@ -23,6 +23,7 @@ services:
194+
- solr
195+
- php
196+
- db
197+
+ - redis
198+
tty: true
199+
networks:
200+
- host-net
201+
@@ -30,7 +31,7 @@ services:
202+
php:
203+
container_name: esmero-php
204+
restart: always
205+
- image: "esmero/php-7.4-fpm:1.0.0-RC2-multiarch"
206+
+ image: "esmero/php-8.0-fpm:1.1.0-multiarch"
207+
tty: true
208+
networks:
209+
- host-net
210+
@@ -44,10 +45,11 @@ services:
211+
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
212+
MINIO_BUCKET_MEDIA: ${MINIO_BUCKET_MEDIA}
213+
MINIO_FOLDER_PREFIX_MEDIA: ${MINIO_FOLDER_PREFIX_MEDIA}
214+
+ REDIS_PASSWORD: ${REDIS_PASSWORD}
215+
solr:
216+
container_name: esmero-solr
217+
restart: always
218+
- image: "solr:8.8.2"
219+
+ image: "solr:8.11.2"
220+
```
170221

171-
<!--switch_above
172-
switch_above-->
222+
As you can see, most of the changes in this example are for new images and a new service/container/environment variable (REDIS), but you may have custom settings for your containers. Review any differences carefully and make adjustments as needed.
173223

174-
Finally, pull the images
224+
Finally, pull the images:
175225

176226
```shell
177227
docker compose pull
@@ -216,7 +266,22 @@ Important here is the `STATUS` column. It **needs** to be a number that goes up
216266

217267
### Step 3:
218268

219-
Instead of using the provided `composer.lock` out of the box we are going to loosen certain dependencies and bring manually Archipelago modules, all this to make update easier and future upgrades less of a pain.
269+
Instead of using the provided `composer.default.lock` out of the box we are going to loosen certain dependencies and bring manually Archipelago modules, all this to make update easier and future upgrades less of a pain.
270+
271+
First, as a sanity check let's make sure nothing happened to our original `composer.lock` fileby doing a diff against our backed up file:
272+
273+
```shell
274+
git diff --no-index ../../drupal/composer.original.lock ../../drupal/composer.lock
275+
```
276+
277+
If all is ok, there should be no output. If there's any output, copy your backed up file back to default:
278+
279+
```shell
280+
cp ../../drupal/composer.original.lock ../../drupal/composer.lock
281+
```
282+
283+
Finally, we bring over the modules:
284+
220285
```shell
221286
docker exec -ti esmero-php bash -c "composer require drupal/core:^9 drupal/core-composer-scaffold:^9 drupal/core-project-message:^9 drupal/core-recommended:^9"
222287
docker exec -ti esmero-php bash -c "composer require drupal/core-dev:^9 --dev"

0 commit comments

Comments
 (0)