The system uses seven Docker images. Four of these are external, third-party images, and the remaining three are compiled from the sources in the project.
Image name | Version Tag | Dockerfile |
---|---|---|
app | latest | https://gitlab.ruhr-uni-bochum.de/researchdata/rdms/-/blob/master/hyrax/Dockerfile |
web | latest | https://gitlab.ruhr-uni-bochum.de/researchdata/rdms/-/blob/master/hyrax/Dockerfile |
workers | latest | https://gitlab.ruhr-uni-bochum.de/researchdata/rdms/-/blob/master/hyrax/Dockerfile |
solr | 8 | https://github.com/apache/solr-docker/blob/989825ee6dce2f6bf7b31051f1ba053b6c4426f2/8.11/Dockerfile |
redis | 6 | https://github.com/docker-library/redis/blob/47ff5548471e77c54c801a06adb85aba6446bc33/6.2/Dockerfile |
postgres | 13-alpine | https://github.com/docker-library/postgres/blob/25b3034e9b0155c3e71acaf650243e7d12a571c1/13/alpine/Dockerfile |
ghcr.io/samvera/fcrepo4 | 4.7 | https://github.com/samvera-labs/docker-fcrepo/blob/main/Dockerfile |
(The version of the three images built by the project - app
, web
, workers
are tagged "latest" because they are built from source during deployment)
Volume | Containers attached |
---|---|
app | app<br/> web<br/> workers<br/> |
cache | web<br/> workers<br/> |
db | appdb |
db-fcrepo | fcrepodb |
derivatives | web<br/> workers<br/> |
fcrepo | fcrepo |
file_uploads | web<br/> workers<br/> |
redis | redis |
solr | solr |
The images are used to create the following nine containers. Depending on your setup, the names may be slightly different - for example Docker may add a numerical suffix to each so db
is called db-1
.
Container | Image Used | Volumes Attached | Ports (all TCP) | Function/service |
---|---|---|---|---|
app | app | app | This container is not running continuously but can be started temporarily to execute commands against the application. It is also used at deployment time to set up the web and worker containers |
|
appdb | postgres | db | 5432 | Postgres database for Hyrax |
db | postgres | randomly named temporary volume | This is a temporary container, used at build-time to support the deployment of fcrepodb and appdb |
|
fcrepo | ghcr.io/samvera/fcrepo4 | fcrepo | 8080 | Fedora, an RDF document store |
fcrepodb | postgres | db-fcrepo | 5432 | Postgres database for Fedora |
redis | redis | redis | 6379 | Redis, manages a queue of background processes ('jobs') |
solr | solr | solr | 8983 | Solr, an index & search server |
web | web | app<br/> cache<br/> derivatives<br/> file_uploads<br/> | 3000 | Hyrax - the main Ruby on Rails application |
workers | workers | app<br/> cache<br/> derivatives<br/> file_uploads<br/> | Sidekiq - Ruby asynchronous process orchestration relying on Redis for queue management |