Created
March 15, 2023 02:52
-
-
Save xurizaemon/20491fbeff4ebd8f78a47463e1527404 to your computer and use it in GitHub Desktop.
docker-compose.yml as generated by ISLE-DC for Islandora (islandora.ca)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
networks: | |
default: | |
internal: true | |
gateway: | |
driver: bridge | |
internal: false | |
secrets: | |
ACTIVEMQ_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/ACTIVEMQ_PASSWORD | |
ACTIVEMQ_WEB_ADMIN_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/ACTIVEMQ_WEB_ADMIN_PASSWORD | |
ALPACA_ACTIVEMQ_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/ALPACA_ACTIVEMQ_PASSWORD | |
ALPACA_KARAF_ADMIN_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/ALPACA_KARAF_ADMIN_PASSWORD | |
DB_ROOT_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/DB_ROOT_PASSWORD | |
DRUPAL_DEFAULT_ACCOUNT_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/DRUPAL_DEFAULT_ACCOUNT_PASSWORD | |
DRUPAL_DEFAULT_CONFIGDIR: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/DRUPAL_DEFAULT_CONFIGDIR | |
DRUPAL_DEFAULT_DB_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/DRUPAL_DEFAULT_DB_PASSWORD | |
DRUPAL_DEFAULT_SALT: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/DRUPAL_DEFAULT_SALT | |
FCREPO_DB_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/FCREPO_DB_PASSWORD | |
JWT_ADMIN_TOKEN: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/JWT_ADMIN_TOKEN | |
JWT_PRIVATE_KEY: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/JWT_PRIVATE_KEY | |
JWT_PUBLIC_KEY: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/JWT_PUBLIC_KEY | |
MATOMO_DB_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/MATOMO_DB_PASSWORD | |
MATOMO_USER_PASS: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/MATOMO_USER_PASS | |
TOMCAT_ADMIN_PASSWORD: | |
file: /home/example/Projects/islandora/isle-dc/secrets/live/TOMCAT_ADMIN_PASSWORD | |
services: | |
activemq: | |
deploy: | |
resources: | |
limits: | |
memory: 2G | |
reservations: | |
memory: 1G | |
image: islandora/activemq:1.0.10 | |
labels: | |
traefik.enable: "false" | |
traefik.http.routers.isle-dc-activemq_http.entrypoints: activemq | |
traefik.http.routers.isle-dc-activemq_http.service: isle-dc-activemq | |
traefik.http.services.isle-dc-activemq.loadbalancer.server.port: '8161' | |
networks: | |
default: null | |
restart: unless-stopped | |
secrets: | |
- source: ACTIVEMQ_PASSWORD | |
- source: ACTIVEMQ_WEB_ADMIN_PASSWORD | |
volumes: | |
- activemq-data:/opt/activemq/data:rw | |
alpaca: | |
deploy: | |
resources: | |
limits: | |
memory: 2G | |
reservations: | |
memory: 1G | |
environment: | |
ALPACA_FITS_TIMEOUT: '300000' | |
ALPACA_HOMARUS_TIMEOUT: '300000' | |
ALPACA_HOUDINI_TIMEOUT: '300000' | |
ALPACA_OCR_TIMEOUT: '300000' | |
image: islandora/alpaca:1.0.10 | |
restart: unless-stopped | |
secrets: | |
- source: ALPACA_ACTIVEMQ_PASSWORD | |
- source: ALPACA_KARAF_ADMIN_PASSWORD | |
blazegraph: | |
deploy: | |
resources: | |
limits: | |
memory: 5G | |
reservations: | |
memory: 2G | |
image: islandora/blazegraph:1.0.10 | |
labels: | |
traefik.enable: "false" | |
traefik.http.routers.isle-dc-blazegraph_http.entrypoints: blazegraph | |
traefik.http.routers.isle-dc-blazegraph_http.service: isle-dc-blazegraph | |
traefik.http.services.isle-dc-blazegraph.loadbalancer.server.port: '8080' | |
networks: | |
default: null | |
restart: unless-stopped | |
volumes: | |
- blazegraph-data:/data:rw | |
cantaloupe: | |
deploy: | |
resources: | |
limits: | |
memory: 5G | |
reservations: | |
memory: 1G | |
environment: | |
CANTALOUPE_DELEGATE_SCRIPT_ENABLED: "false" | |
CANTALOUPE_DELEGATE_SCRIPT_PATHNAME: /opt/tomcat/bin/delegates.rb | |
CANTALOUPE_HTTPSOURCE_LOOKUP_STRATEGY: BasicLookupStrategy | |
image: islandora/cantaloupe:1.0.10 | |
labels: | |
traefik.enable: "true" | |
traefik.http.middlewares.cantaloupe-redirectscheme.redirectscheme.permanent: "true" | |
traefik.http.middlewares.cantaloupe-redirectscheme.redirectscheme.scheme: https | |
traefik.http.routers.isle-dc-cantaloupe_http.entrypoints: http | |
traefik.http.routers.isle-dc-cantaloupe_http.middlewares: cantaloupe-redirectscheme | |
traefik.http.routers.isle-dc-cantaloupe_http.rule: Host(`islandora.traefik.me`) | |
&& PathPrefix(`/cantaloupe`) | |
traefik.http.routers.isle-dc-cantaloupe_http.service: isle-dc-cantaloupe | |
traefik.http.routers.isle-dc-cantaloupe_https.entrypoints: https | |
traefik.http.routers.isle-dc-cantaloupe_https.rule: Host(`islandora.traefik.me`) | |
&& PathPrefix(`/cantaloupe`) | |
traefik.http.routers.isle-dc-cantaloupe_https.tls: "true" | |
traefik.http.services.isle-dc-cantaloupe.loadbalancer.server.port: '8080' | |
networks: | |
default: null | |
restart: unless-stopped | |
secrets: | |
- source: TOMCAT_ADMIN_PASSWORD | |
volumes: | |
- cantaloupe-data:/data:rw | |
crayfits: | |
depends_on: | |
- fits | |
deploy: | |
resources: | |
limits: | |
memory: 1G | |
reservations: | |
memory: 512M | |
image: islandora/crayfits:1.0.10 | |
restart: unless-stopped | |
drupal: | |
depends_on: | |
- mariadb | |
- traefik | |
deploy: | |
resources: | |
limits: | |
memory: 5G | |
reservations: | |
memory: 256M | |
environment: | |
DRUPAL_DEFAULT_CANTALOUPE_URL: https://islandora.traefik.me/cantaloupe/iiif/2 | |
DRUPAL_DEFAULT_DB_DRIVER: mysql | |
DRUPAL_DEFAULT_FCREPO_HOST: islandora.traefik.me | |
DRUPAL_DEFAULT_FCREPO_PORT: 8081 | |
DRUPAL_DEFAULT_INSTALL_EXISTING_CONFIG: "false" | |
DRUPAL_DEFAULT_MATOMO_URL: https://islandora.traefik.me/matomo/ | |
DRUPAL_DEFAULT_PROFILE: standard | |
DRUPAL_DEFAULT_SITE_URL: http://islandora.traefik.me | |
PHP_MAX_EXECUTION_TIME: '30' | |
PHP_MEMORY_LIMIT: 256M | |
PHP_POST_MAX_SIZE: 128M | |
PHP_UPLOAD_MAX_FILESIZE: 128M | |
image: islandora/drupal:1.0.10 | |
labels: | |
traefik.enable: "true" | |
traefik.http.middlewares.drupal-redirectscheme.redirectscheme.permanent: "true" | |
traefik.http.middlewares.drupal-redirectscheme.redirectscheme.scheme: https | |
traefik.http.routers.isle-dc-drupal_http.entrypoints: http | |
traefik.http.routers.isle-dc-drupal_http.middlewares: drupal-redirectscheme | |
traefik.http.routers.isle-dc-drupal_http.rule: Host(`islandora.traefik.me`) | |
traefik.http.routers.isle-dc-drupal_http.service: isle-dc-drupal | |
traefik.http.routers.isle-dc-drupal_https.entrypoints: https | |
traefik.http.routers.isle-dc-drupal_https.rule: Host(`islandora.traefik.me`) | |
traefik.http.routers.isle-dc-drupal_https.tls: "true" | |
traefik.http.services.isle-dc-drupal.loadbalancer.server.port: '80' | |
networks: | |
default: null | |
gateway: null | |
restart: unless-stopped | |
secrets: | |
- source: DB_ROOT_PASSWORD | |
- source: DRUPAL_DEFAULT_ACCOUNT_PASSWORD | |
- source: DRUPAL_DEFAULT_CONFIGDIR | |
- source: DRUPAL_DEFAULT_DB_PASSWORD | |
- source: DRUPAL_DEFAULT_SALT | |
- source: JWT_PRIVATE_KEY | |
- source: JWT_PUBLIC_KEY | |
volumes: | |
- solr-data:/opt/solr/server/solr:rw | |
- /home/example/Projects/islandora/isle-dc/codebase:/var/www/drupal:delegated | |
- drupal-sites-data:/var/www/drupal/web/sites/default/files:rw | |
fcrepo: | |
depends_on: | |
- activemq | |
deploy: | |
resources: | |
limits: | |
memory: 5G | |
reservations: | |
memory: 1G | |
environment: | |
FCREPO_ALLOW_EXTERNAL_DRUPALHTTP: http://islandora.traefik.me/ | |
FCREPO_ALLOW_EXTERNAL_DRUPALHTTPS: https://islandora.traefik.me/ | |
FCREPO_DISABLE_SYN: "false" | |
FCREPO_PERSISTENCE_TYPE: mysql | |
FCREPO_TOMCAT_ADMIN_ROLES: manager-gui,fedoraAdmin | |
FCREPO_TOMCAT_ADMIN_USER: admin | |
image: islandora/fcrepo6:1.0.10 | |
labels: | |
traefik.enable: "true" | |
traefik.http.routers.isle-dc-fcrepo_http.entrypoints: fcrepo | |
traefik.http.routers.isle-dc-fcrepo_http.service: isle-dc-fcrepo | |
traefik.http.services.isle-dc-fcrepo.loadbalancer.server.port: '8080' | |
networks: | |
default: null | |
restart: unless-stopped | |
secrets: | |
- source: DB_ROOT_PASSWORD | |
- source: FCREPO_DB_PASSWORD | |
- source: JWT_ADMIN_TOKEN | |
- source: JWT_PUBLIC_KEY | |
volumes: | |
- fcrepo-data:/data:rw | |
fits: | |
deploy: | |
resources: | |
limits: | |
memory: 5G | |
reservations: | |
memory: 1000M | |
image: islandora/fits:1.0.10 | |
restart: unless-stopped | |
homarus: | |
deploy: | |
resources: | |
limits: | |
memory: 1G | |
reservations: | |
memory: 512M | |
image: islandora/homarus:1.0.10 | |
restart: unless-stopped | |
secrets: | |
- source: JWT_ADMIN_TOKEN | |
- source: JWT_PUBLIC_KEY | |
houdini: | |
deploy: | |
resources: | |
limits: | |
memory: 1G | |
reservations: | |
memory: 512M | |
image: islandora/houdini:1.0.10 | |
restart: unless-stopped | |
secrets: | |
- source: JWT_ADMIN_TOKEN | |
- source: JWT_PUBLIC_KEY | |
hypercube: | |
deploy: | |
resources: | |
limits: | |
memory: 512M | |
reservations: | |
memory: 256M | |
image: islandora/hypercube:1.0.10 | |
restart: unless-stopped | |
secrets: | |
- source: JWT_ADMIN_TOKEN | |
- source: JWT_PUBLIC_KEY | |
mariadb: | |
deploy: | |
resources: | |
limits: | |
memory: 1G | |
reservations: | |
memory: 512M | |
image: islandora/mariadb:1.0.10 | |
labels: | |
traefik.enable: "false" | |
traefik.tcp.routers.isle-dc-mysql_tcp.entrypoints: mysql | |
traefik.tcp.routers.isle-dc-mysql_tcp.rule: HostSNI(`*`) | |
traefik.tcp.routers.isle-dc-mysql_tcp.service: isle-dc-mysql | |
traefik.tcp.services.isle-dc-mysql.loadbalancer.server.port: '3306' | |
networks: | |
default: null | |
restart: unless-stopped | |
secrets: | |
- source: DB_ROOT_PASSWORD | |
volumes: | |
- mariadb-data:/var/lib/mysql:rw | |
- mariadb-files:/var/lib/mysql-files:rw | |
matomo: | |
depends_on: | |
- mariadb | |
deploy: | |
resources: | |
limits: | |
memory: 1G | |
reservations: | |
memory: 512M | |
environment: | |
MATOMO_DEFAULT_HOST: islandora.traefik.me | |
image: islandora/matomo:1.0.10 | |
labels: | |
traefik.enable: "true" | |
traefik.http.middlewares.isle-dc-matomo-customrequestheaders.headers.customrequestheaders.X-Forwarded-Uri: /matomo | |
traefik.http.middlewares.isle-dc-matomo-redirectscheme.redirectscheme.permanent: "true" | |
traefik.http.middlewares.isle-dc-matomo-redirectscheme.redirectscheme.scheme: https | |
traefik.http.middlewares.isle-dc-matomo-stripprefix.stripprefix.prefixes: /matomo | |
traefik.http.middlewares.isle-dc-matomo.chain.middlewares: isle-dc-matomo-stripprefix,isle-dc-matomo-customrequestheaders | |
traefik.http.routers.isle-dc-matomo_http.entrypoints: http | |
traefik.http.routers.isle-dc-matomo_http.middlewares: isle-dc-matomo-redirectscheme | |
traefik.http.routers.isle-dc-matomo_http.rule: Host(`islandora.traefik.me`) | |
&& PathPrefix(`/matomo`) | |
traefik.http.routers.isle-dc-matomo_http.service: isle-dc-matomo | |
traefik.http.routers.isle-dc-matomo_https.entrypoints: https | |
traefik.http.routers.isle-dc-matomo_https.middlewares: isle-dc-matomo | |
traefik.http.routers.isle-dc-matomo_https.rule: Host(`islandora.traefik.me`) | |
&& PathPrefix(`/matomo`) | |
traefik.http.routers.isle-dc-matomo_https.tls: "true" | |
traefik.http.services.isle-dc-matomo.loadbalancer.server.port: '80' | |
networks: | |
default: null | |
restart: unless-stopped | |
secrets: | |
- source: DB_ROOT_PASSWORD | |
- source: MATOMO_DB_PASSWORD | |
- source: MATOMO_USER_PASS | |
volumes: | |
- matomo-config-data:/var/www/matomo:rw | |
milliner: | |
deploy: | |
resources: | |
limits: | |
memory: 1G | |
reservations: | |
memory: 512M | |
environment: | |
MILLINER_FEDORA6: "true" | |
image: islandora/milliner:1.0.10 | |
networks: | |
default: null | |
gateway: null | |
restart: unless-stopped | |
secrets: | |
- source: JWT_ADMIN_TOKEN | |
- source: JWT_PUBLIC_KEY | |
recast: | |
deploy: | |
resources: | |
limits: | |
memory: 1G | |
reservations: | |
memory: 512M | |
image: islandora/recast:1.0.10 | |
restart: unless-stopped | |
secrets: | |
- source: JWT_ADMIN_TOKEN | |
- source: JWT_PUBLIC_KEY | |
solr: | |
deploy: | |
resources: | |
limits: | |
memory: 8G | |
reservations: | |
memory: 6G | |
image: islandora/solr:1.0.10 | |
labels: | |
traefik.enable: "false" | |
traefik.http.routers.isle-dc-solr_http.entrypoints: solr | |
traefik.http.routers.isle-dc-solr_http.service: isle-dc-solr | |
traefik.http.services.isle-dc-solr.loadbalancer.server.port: '8983' | |
networks: | |
default: null | |
restart: unless-stopped | |
volumes: | |
- solr-data:/opt/solr/server/solr:rw | |
traefik: | |
command: | |
- --api.insecure=false | |
- --api.dashboard=false | |
- --api.debug=false | |
- --entryPoints.http.address=:80 | |
- --entryPoints.https.address=:443 | |
- --entryPoints.mysql.address=:3306 | |
- --entryPoints.postgresql.address=:5432 | |
- --entryPoints.fcrepo.address=:8081 | |
- --entryPoints.blazegraph.address=:8082 | |
- --entryPoints.activemq.address=:8161 | |
- --entryPoints.solr.address=:8983 | |
- --entryPoints.code-server.address=:8443 | |
- --log.level=ERROR | |
- --providers.docker | |
- --providers.docker.network=gateway | |
- --providers.docker.exposedByDefault=false | |
- --providers.file.filename=/etc/traefik/tls.yml | |
- --providers.docker.defaultRule=Host(`islandora.traefik.me`) | |
container_name: traefik | |
deploy: | |
resources: | |
limits: | |
memory: 8G | |
reservations: | |
memory: 4G | |
image: traefik:2.7 | |
labels: | |
traefik.http.routers.api.service: api@internal | |
networks: | |
default: | |
aliases: | |
- islandora.traefik.me | |
gateway: {} | |
ports: | |
- published: 80 | |
target: 80 | |
- published: 443 | |
target: 443 | |
- published: 3306 | |
target: 3306 | |
- published: 5432 | |
target: 5432 | |
- published: 8080 | |
target: 8080 | |
- published: 8081 | |
target: 8081 | |
- published: 8082 | |
target: 8082 | |
- published: 8161 | |
target: 8161 | |
- published: 8443 | |
target: 8443 | |
- published: 8983 | |
target: 8983 | |
restart: unless-stopped | |
volumes: | |
- /home/example/Projects/islandora/isle-dc/certs:/etc/ssl/traefik:rw | |
- /home/example/Projects/islandora/isle-dc/build/traefik-tls.yml:/etc/traefik/tls.yml:rw | |
- /var/run/docker.sock:/var/run/docker.sock:rw | |
version: '3.7' | |
volumes: | |
activemq-data: {} | |
blazegraph-data: {} | |
cantaloupe-data: {} | |
drupal-sites-data: {} | |
fcrepo-data: {} | |
mariadb-data: {} | |
mariadb-files: {} | |
matomo-config-data: {} | |
solr-data: {} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment