diff --git a/docs/installation/docker/site-template/docker-modifications.md b/docs/installation/docker/site-template/docker-modifications.md new file mode 100644 index 000000000..6caa0609f --- /dev/null +++ b/docs/installation/docker/site-template/docker-modifications.md @@ -0,0 +1,48 @@ +# Docker Modifications + +ISLE Site Template provides you with a `docker-compose.yml` file that allows you to get an Islandora site running quickly, but it makes some assumptions about how the site will run, and which containers you will use. Once you have your site running you may want to make some modifications to the default setup that the Site Template uses. + +## Adding / Editing Environment Variables + +Islandora Buildkit provides several environment variables that can be modified when creating containers. + +Please see the README for the different buildkit images to see what is available: + +- [ActiveMQ](https://github.com/Islandora-Devops/isle-buildkit/tree/main/activemq) +- [Alpaca](https://github.com/Islandora-Devops/isle-buildkit/tree/main/alpaca) +- [Blazegraph](https://github.com/Islandora-Devops/isle-buildkit/tree/main/blazegraph) +- [Cantaloupe](https://github.com/Islandora-Devops/isle-buildkit/tree/main/cantaloupe) +- [Code Server](https://github.com/Islandora-Devops/isle-buildkit/tree/main/code-server) +- [Crayfits](https://github.com/Islandora-Devops/isle-buildkit/tree/main/crayfits) +- [Drupal](https://github.com/Islandora-Devops/isle-buildkit/tree/main/drupal) +- [Fedora](https://github.com/Islandora-Devops/isle-buildkit/tree/main/fcrepo6) +- [Fits](https://github.com/Islandora-Devops/isle-buildkit/tree/main/fits) +- [Homarus](https://github.com/Islandora-Devops/isle-buildkit/tree/main/homarus) +- [Houdini](https://github.com/Islandora-Devops/isle-buildkit/tree/main/houdini) +- [Hypercube](https://github.com/Islandora-Devops/isle-buildkit/tree/main/hypercube) +- [MariaDB](https://github.com/Islandora-Devops/isle-buildkit/tree/main/mariadb) +- [Milliner](https://github.com/Islandora-Devops/isle-buildkit/tree/main/milliner) +- [Solr](https://github.com/Islandora-Devops/isle-buildkit/tree/main/solr) + +You can add these environment variables to your docker-compose.yml in order to change their values. For example, if you want to increase the PHP memory limit in your production Drupal container, you can do so like this: + +``` + drupal-prod: + <<: [*prod, *drupal] + Environment: + PHP_MEMORY_LIMIT: 1G +``` + + +## Removing Services + +You may not want to use all the images that are included in the Site Template’s `docker-compose.yml`. You can remove containers by deleting their sections in the docker-compose.yml file. + +For example, to remove Fedora, you would delete the services called fcrepo-dev and fcrepo-prod. + +Depending on the container you are removing, you may need to delete references to it as well. For example, some containers are referenced by others in the `depends_on` field. You will need to also delete these references, so if you delete the `fedora-dev` service, you will need to remove the rule that `traefik-dev` depends on it. + +If you are removing a container which is referenced by Drupal, ensure that you update Drupal as well (e.g. if removing Fedora, ensure your Media's files are not writing to the Fedora filesystem). + +After doing `docker compose down`, run `docker compose up -d --remove-orphans` to remove the containers you removed from the docker-compose.yml file. + diff --git a/mkdocs.yml b/mkdocs.yml index 7f822e551..cc0c03e57 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -139,6 +139,7 @@ nav: - 'Troubleshooting' : 'installation/docker/isle-dc/docker-troubleshooting.md' - 'ISLE Site Template': - 'Introduction to Site Template': 'installation/docker/site-template/site-template.md' + - 'Docker Modifications': 'installation/docker/site-template/docker-modifications.md' - 'Ansible Playbook': 'installation/playbook.md' - Manual Installation: - 'Introduction': 'installation/manual/introduction.md'