https://github.com/umd-lib/aspace-custom
https://github.com/umd-lib/aspace-custom
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/umd-lib/aspace-custom
- Owner: umd-lib
- Created: 2020-08-18T16:33:16.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2026-02-09T19:44:52.000Z (4 months ago)
- Last Synced: 2026-02-09T23:01:38.002Z (4 months ago)
- Language: Ruby
- Size: 214 KB
- Stars: 0
- Watchers: 12
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# aspace-custom
UMD customizations to the stock ArchvesSpace
([https://archivesspace.org/](https://archivesspace.org/))
application, and provides Dockerfiles for creating the Docker images used by the
[umd-lib/k8s-aspace](https://github.com/umd-lib/k8s-aspace) Kubernetes
configuration.
This repository replaces:
* [umd-lib/aspace-docker](https://github.com/umd-lib/aspace-docker)
* [https://bitbucket.org/umd-lib/aspace-env](https://bitbucket.org/umd-lib/aspace-env)
## Development Setup
See [docs/DevelopmentSetup.md](docs/DevelopmentSetup.md).
## ArchivesSpace Configuration
The ArchivesSpace Docker image generated by this repository is configured by the
"docker_config/archivesspace/archivesspace/config/config.rb" file.
This configuration file is based on the "common/config/config-defaults.rb" in
the stock ArchivesSpace repository.
Some properties have been customized to allow configuration via environment
variables, see [docs/EnvironmentVariables.md](docs/EnvironmentVariables.md).
## ArchivesSpace Customization
See the following documents for additional information on how this repository
customizes the stock ArchivesSpace:
* [docs/Customizations.md](docs/Customizations.md)
* [docs/DockerfileCustomizations.md](docs/DockerfileCustomizations.md)
See [docs/TestPlan.md] for links to information on verifying the customizations
provided by the UMD plugins.
## Dockerfiles
* Dockerfile - The Dockerfile for creating the UMD-customized ArchivesSpace
Docker image
* Dockerfile-solr - The Dockerfile for creating the Solr instance to use with
ArchivesSpace
* Dockerfile-api-proxy - The Dockerfile for creating an Nginx reverse proxy for
protecting the ArchivesSpace API from anonymous access.
### Docker Image Creation for Release
The following steps use the Kubernetes "build" namespace to build the Docker
images. This enables the steps to used with both newer Apple Silicon laptops and
older Intel-based Apple laptops.
For information about setting up the Kubernetes "build" namespace, see
the "Docker Builds" document in the "umd-lib/devops" GitHub repository:
1) Switch to the Kubernetes "build" namespace:
```bash
$ kubectl config use-context build
```
2) Build the Docker images, where \ is the Docker image tag to use:
```bash
$ docker buildx build --platform linux/amd64 --builder=kube --push --no-cache -t docker.lib.umd.edu/aspace: -f Dockerfile .
$ docker buildx build --platform linux/amd64 --builder=kube --push --no-cache -t docker.lib.umd.edu/aspace-api-proxy: -f Dockerfile-api-proxy .
$ docker buildx build --platform linux/amd64 --builder=kube --push --no-cache -t docker.lib.umd.edu/aspace-solr: -f Dockerfile-solr .
```
For example, to build all the images using "latest" as the image tag:
```bash
$ docker buildx build --platform linux/amd64 --builder=kube --push --no-cache -t docker.lib.umd.edu/aspace:latest -f Dockerfile .
$ docker buildx build --platform linux/amd64 --builder=kube --push --no-cache -t docker.lib.umd.edu/aspace-api-proxy:latest -f Dockerfile-api-proxy .
$ docker buildx build --platform linux/amd64 --builder=kube --push --no-cache -t docker.lib.umd.edu/aspace-solr:latest -f Dockerfile-solr .
```
The images will be automatically pushed to the Nexus.
## Directories
### docker_config/archivesspace/
Files/directories used to configure the ArchivesSpace Docker image.
#### docker_config/archivesspace/archivesspace
The files in this directory are directly copied (overlaid) on top of a
stock ArchivesSpace distribution.
#### docker_config/archivesspace/files/
The files in this directory are plugin-related files that are copied in to an
ArchivesSpace distribution by the "scripts/plugins.sh" script.
The files cannot be placed in the "archivesspace" directory, because the
required plugin directories don't exist until the "plugins.sh" script creates
them.
#### docker_config/archivesspace/config/
Holds the "plugins" files specifying the ArchivesSpace plugins used by the
UMD version of ArchivesSpace.
#### docker_config/archivesspace/scripts/
Holds the "plugins.sh" script for downloading and installing the ArchivesSpace
plugins specified in the "archivesspace/config/config.rb" file.
### docker_config/solr/
Files/directories used to configure the ArchivesSpace Solr Docker image.
### docker_config/api-proxy/
Contains the Nginx configuration file for reverse proxy that protects the
ArchivesSpace API endpoints from anonymous access.