ArchivesSpace Docker Image Creation Workflow
This document explains how to generate a new Docker image for Yale Library’s instance of ArchivesSpace.
Create a new branch of ArchivesSpace, pulling in any commits needed, and push to an ArchivesSpace Github repository: e.g. https://github.com/ucancallmealicia/archivesspace/tree/yale-rebased-v3.3.1
Test out the branch by running it in development locally (preferably with a database snapshot), with all of the same plugins listed within https://github.com/YaleArchivesSpace/aspace-deployment/blob/master/test/plugins.yml
For instructions on setting up a development version of ASpace, start here: https://docs.archivesspace.org/development/dev/
If everything looks good, it’s time to create a new Docker image:
First, make sure you have a Docker Hub account and all things Docker installed locally;
Remove all local plugins and related config options from your Github repository/development environment, if you’ve added any.
From your archivesspace Github directory, making sure that you’re on the new branch that you’re testing, and then run the following (although the first two likely won’t be required, unless you’re testing with the Docker build, as well):
docker compose stopdocker compose rmdocker compose -f docker-compose-release.yml build
If the Docker build is successful, it’s now time to push your image to Docker Hub (so make sure you’re logged into Docker Hub):
Your new image is tagged “latest”, and LYRASIS would like us to change that tag name to branch the branch name that we’re using. Now type:
USER=your_dockerhub_usernameTAG=your_github_branch_nameE.g. TAG=2.7.1.yale.20210921
docker tag archivesspace_app:latest $USER/archivesspace:$TAGdocker push $USER/archivesspace:$TAG
Once the image is successfully pushed to Docker Hub, it’s time to update our “aspace-deployment” Github repository to reference the new custom build.
If everything checks out in TEST, repeat step 4 and update the custom build reference for PROD.