@@ -25,27 +25,38 @@ You should see the containers being built and the services start.
There are 2 `docker-compose` files provided in the repository, which build the containers running the services as shown above
*[docker-compose.yml](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml) is the main docker-compose file. It builds all the core servcies required to run the application
*[docker-compose.override.yml](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.override.yml) is used along with the main [docker-compose.yml](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml) file in development, mainly to expose ports for the various services.
### Containers running in docker
*[fcrepo](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml#L13-L22) is the container running the [Fedora 4 commons repository](https://wiki.duraspace.org/display/FEDORA47/Fedora+4.7+Documentation), an rdf document store.
By default, this runs the fedora service on port 8080 internally in docker (http://fcrepo:8080/fcrepo/rest).<br/><br/>
By default, this runs the fedora service on port 8080 internally in docker (http://fcrepo:8080/fcrepo/rest).
*[Solr container](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml#L24-L45) runs [SOLR](lucene.apache.org/solr/), an enterprise search server.
By default, this runs the SOLR service on port 8983 internally in docker (http://solr:8983).<br/><br/>
By default, this runs the SOLR service on port 8983 internally in docker (http://solr:8983).
*[db containers](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml#L47-L76) running a postgres database for use by the Hyrax application (appdb) and Fedora (fcrepodb).
By default, this runs the database service on port 5432 internally in docker.<br/><br/>
By default, this runs the database service on port 5432 internally in docker.
*[redis container](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml#L121-L132) running [redis](https://redis.io/), used by Hyrax to manage background tasks.
By default, this runs the redis service on port 6379 internally in docker.<br/><br/>
By default, this runs the redis service on port 6379 internally in docker.
*[app container](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml#L78-L96) sets up the Hyrax application, which is then used by 2 services - web and workers.<br/><br/>
*[app container](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml#L78-L96) sets up the Hyrax application, which is then used by 2 services - web and workers.
*[Web container](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml#L98-L110) runs the application.
...
...
@@ -54,25 +65,25 @@ There are 2 `docker-compose` files provided in the repository, which build the c
This container runs [docker-entrypoint.sh](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/hyrax/docker-entrypoint.sh), on startup. The bash script
* creates the log folder
* checks the bundle (and installs It in development)
* checks the bundle (and installs It in development)
* does the database setup
* checksSolr and Fedora are running
* checksSolr and Fedora are running
* It runs a rake task [setup_hyrax.rake](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/hyrax/lib/tasks/setup_hyrax.rake) to setup the application. This rake task
* creates users listed in [setup.json](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/hyrax/seed/setup.json)
* creates users listed in [setup.json](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/hyrax/seed/setup.json)
* Loads the default workflows
* Loads the default workflows
* Creates the default admin set and collection types
* Starts the rails server
* Starts the rails server
*[Wokers container](https://gitlab.ruhr-uni-bochum.de/FDM/rdm-system/rdms/-/blob/master/docker-compose.yml#L112-L119) runs the background tasks, using [sidekiq](https://github.com/mperham/sidekiq) and redis.
By default, this runs the worker service.
Hyrax processes long-running or particularly slow work in background jobs to speed up the web request/response cycle. When a user submits a file through a work (using the web or an import task), there a number of background jobs that are run, initilated by the hyrax actor stack, as explained [here](https://samvera.github.io/what-happens-deposit-2.0.html)<br/><br/>You can monitor the background workers using the materials data repository service at http://web:3000/sidekiq when logged in as an admin user. <br/><br/>
By default, this runs the worker service.
Hyrax processes long-running or particularly slow work in background jobs to speed up the web request/response cycle. When a user submits a file through a work (using the web or an import task), there a number of background jobs that are run, initilated by the hyrax actor stack, as explained [here](https://samvera.github.io/what-happens-deposit-2.0.html).
You can monitor the background workers using the materials data repository service at http://web:3000/sidekiq when logged in as an admin user.
The data for the application is stored in docker named volumes as specified by the compose files. These are: