Islandora-Devops / isle-dc

ISLE 8 - Dockerized Islandora 8 Deployment orchestrated with docker-compose
MIT License
23 stars 60 forks source link

Document and allow for multiple concurrent isle-dc #143

Open nigelgbanks opened 3 years ago

nigelgbanks commented 3 years ago

Allow them to share a traefik, (move to shared project)

Document.

joshdentremont commented 2 years ago

I have been looking into this, but was unable to get things fully working. We have decided to go another route, but I thought I would share my findings so far:

  1. You need to edit the COMPOSE_PROJECT_NAME variable in your .env for at least one of the instances or else they will clash on Docker container names and existing ones will be overwritten
  2. You need to change the DOMAIN variable in your .env so that they are each on their own domain
  3. Only one should have INCLUDE_TRAEFIK_SERVICE=true and the others should use the existing Traefik service
  4. Exposed ports will need to be changed or things will clash. This might only affect exposed services, so it may not be necessary in production where these services are not exposed (I'm not sure about this). Ports can be changed for each service in the .env file.
  5. Traefik needs to be the last service started or else the gateway network definition will be overridden. I believe this means that the Isle project that does include Traefik must be the last one to spin up, but again I am unsure about this and there may be other ways to work around this.
  6. Entrypoints for Traefik also caused me some issues. These are set in the services' yml files and may need to be changed for any additional instances. I'm not sure if you can leave these in the existing yml files or if they need to be removed from the Isle instances that don't use Traefik and added to the yml files for the instance that does use Traefik. I was unable to get the ones for the non-Traefik enabled Isle to be exposed