--- version: '3' networks: backend: driver: bridge volumes: koha_index: {} koha_state: {} koha_mysql_data: {} elasticsearch_data: {} fuseki_data: {} services: koha: container_name: xkoha image: "digibib/koha:${KOHA_IMAGE_TAG}" networks: - backend depends_on: - sms - smtp - koha_mysql - sip_proxy cap_add: - SYS_NICE - DAC_READ_SEARCH - MKNOD environment: KOHA_HOME: "${KOHA_HOME:-/usr/share/koha/}" KOHA_ADMINPASS: "${KOHA_ADMINPASS:-secret}" KOHA_ADMINUSER: "${KOHA_ADMINUSER:-admin}" KOHA_INSTANCE: "${KOHA_INSTANCE:-name}" KOHA_DBHOST: koha_mysql INSTALL_LANGUAGES: "${INSTALL_LANGUAGES}" DEFAULT_LANGUAGE: "${DEFAULT_LANGUAGE}" EMAIL_ENABLED: "True" ENABLE_MYSQL_TRIGGERS: "${ENABLE_MYSQL_TRIGGERS:-true}" ENABLE_MYSQL_SCHEMA: "${ENABLE_MYSQL_SCHEMA:-true}" SMTP_SERVER_HOST: mailrelay # access through network 'backend' SMTP_SERVER_PORT: 2525 MESSAGE_QUEUE_FREQUENCY: "${MESSAGE_QUEUE_FREQUENCY:-5}" SMS_SENDER: "${SMS_SENDER:-Deichman}" SMS_DRIVER: "${SMS_DRIVER:-NO::LinkMobilityHTTP}" SMS_USER: "${SMS_USER:-smsuser}" SMS_PASS: "${SMS_PASS:-smspass}" API_PASSPHRASE: "${API_PASSPHRASE:-ChangeMe}" NLENABLE: "${NLENABLE:-0}" NLBASEUSER: "${NLBASEUSER:-nlbaseuser}" NLBASEPASS: "${NLBASEPASS:-nlbasepass}" NLVENDORURL: "${NLVENDORURL:-http://nlsink:9999}" NLVENDORUSER: "${NLVENDORUSER:-nlvendoruser}" NLVENDORPASS: "${NLVENDORPASS:-nlvendorpass}" NLVENDORKEY: "${NLVENDORKEY:-nlvendorkey}" PIDGEON_URL: "${PIDGEON_URL:-pidgeonurl}" PIDGEON_USER: "${PIDGEON_USER:-pidgeonuser}" PIDGEON_PASS: "${PIDGEON_PASS:-pidgeonpass}" SIP_AUTOPASS: "${SIP_AUTOPASS:-autopass}" SIP_WORKERS: "${SIP_WORKERS:-5}" APACHE_MINSERVERS: "${APACHE_MINSERVERS:-5}" APACHE_TIMEOUT: "${APACHE_TIMEOUT:-300}" APACHE_SERVER_STATUS_NET: "${APACHE_SERVER_STATUS_NET:-127.0.0.1/24}" APACHE_REMOTE_INTERNAL_PROXY: "${APACHE_REMOTE_INTERNAL_PROXY:-172.19.0.0/16}" PLACK_MAX_REQUESTS: "${PLACK_MAX_REQUESTS:-100}" PLACK_WORKERS: "${PLACK_WORKERS:-4}" ILLENABLE: "${ILLENABLE:-0}" ILLUSER: "${ILLUSER:-illuser}" ILLNAME: "${ILLNAME:-Interlibrary loan}" ports: - "6001:6001" - "8081:8081" - "6009:3000" volumes: - "koha_index:/var/lib/koha/${KOHA_INSTANCE:-name}" - "koha_state:/var/lib/state" logging: driver: "json-file" options: max-size: "1m" max-file: "2" koha_mysql: container_name: koha_mysql image: mysql:5.6.20 networks: - backend cap_add: - MKNOD command: - mysqld - "--datadir=/var/lib/mysql" - "--user=mysql" - "--max_allowed_packet=64M" - "--wait_timeout=6000" - "--bind-address=0.0.0.0" - "--server-id=101" - "--log_bin=mysql-bin" - "--sync_binlog=1" - "--binlog-format=row" - "--max_binlog_size=100M" - "--log_bin_trust_function_creators=true" - "--slow-query-log=1" - "--slow-query-log-file=/var/lib/mysql/slow-query.log" - "--long-query-time=10" environment: MYSQL_DATABASE: "koha_${KOHA_INSTANCE:-name}" MYSQL_PASSWORD: "${KOHA_ADMINPASS:-secret}" MYSQL_ROOT_PASSWORD: "${KOHA_ADMINPASS:-secret}" MYSQL_USER: "${KOHA_ADMINUSER:-admin}" SIBYL_USER: "${SIBYL_USER:-admin}" SIBYL_PASSWORD: "${SIBYL_PASSWORD:-admin}" volumes: - "koha_mysql_data:/var/lib/mysql" - ./setup_sibyl.sql:/docker-entrypoint-initdb.d/setup_sibyl.sql logging: driver: "json-file" options: max-size: "1m" max-file: "2" sibyl: container_name: sibyl depends_on: - koha_mysql image: digibib/sibyl:test networks: - backend environment: SIBYL_USER: "${SIBYL_USER:-admin}" SIBYL_PASSWORD: "${SIBYL_PASSWORD:-secret}" KOHA_ADMINPASS: "${KOHA_ADMINPASS:-secret}" KOHA_ADMINUSER: "${KOHA_ADMINUSER:-admin}" KOHA_INSTANCE: "${KOHA_INSTANCE:-name}" catalinker: container_name: catalinker image: "digibib/redef-catalinker:${GITREF}" networks: - backend depends_on: - services ports: - "8010:8010" environment: KOHA_OPAC_PORT: "http://xkoha:8080" KOHA_INTRA_PORT: "http://xkoha:8081" SERVICES_PORT: "http://services:8005" GITREF: "${GITREF:-0}" BUILD_TAG: "${BUILD_TAG:-0}" logging: driver: "json-file" options: max-size: "1m" max-file: "2" services: container_name: services image: "digibib/redef-services:${GITREF}" networks: - backend depends_on: - fuseki - koha environment: KOHA_API_USER: "${KOHA_API_USER:-api}" KOHA_API_PASS: "${KOHA_API_PASS:-secret}" GITREF: "${GITREF:-0}" BUILD_TAG: "${BUILD_TAG:-0}" ELASTICSEARCH_URL: "sibyl:1666" logging: driver: "json-file" options: max-size: "1m" max-file: "2" patron_client: container_name: patron_client image: "digibib/redef-patron-client:${GITREF}" networks: - backend depends_on: - services ports: - "8000:8000" environment: SERVICES_PORT: "http://services:${SERVICES_PORT:-8005}" GITREF: "${GITREF:-0}" BUILD_TAG: "${BUILD_TAG:-0}" KOHA_API_USER: "${KOHA_API_USER:-api}" KOHA_API_PASS: "${KOHA_API_PASS:-secret}" RECAPTCHA_SECRET: "${RECAPTCHA_SECRET}" NETS_MERCHANT_ID: "${NETS_MERCHANT_ID}" NETS_TOKEN: "${NETS_TOKEN}" NETS_URL: "${NETS_URL}" logging: driver: "json-file" options: max-size: "1m" max-file: "2" elasticsearch: container_name: elasticsearch image: digibib/elasticsearch:9be13a2a600e3112430c2a54a4493373e73a94b3 networks: - backend volumes: - "elasticsearch_data:/usr/share/elasticsearch/data" ulimits: nofile: soft: 65536 hard: 65536 logging: driver: "json-file" options: max-size: "1m" max-file: "2" fuseki: container_name: fuseki image: "digibib/fuseki2:ae95941f9bb3799b253f40e5be278866c4113fa7" networks: - backend volumes: - "fuseki_data:/data/databases/ds" logging: driver: "json-file" options: max-size: "1m" max-file: "2" sms: container_name: smsproxy image: "digibib/proximity:3ce6b65df303302420d2fb85bd6b625744bfb907" networks: - backend environment: FORWARD_SMS: http://tcpsink:9999 command: - "/proximity" - "-no-verify" - "-r" - '${FORWARD_SMS}' logging: driver: "json-file" options: max-size: "1m" max-file: "2" smtp: container_name: mailrelay image: "digibib/gosmtpd:e51ec0b872867560461ab1e8c12b10fd63f5d3c1" networks: - backend logging: driver: "json-file" options: max-size: "1m" max-file: "2" sip_proxy: container_name: sip_proxy image: "digibib/sip2proxy:3891478ccc5dc17abd16004b6780885774cd6d44" networks: - backend ports: - "6002:9999" command: - "/sip2proxy" - "-from=:9999" - "-to=xkoha:${SIP_PORT:-6001}" - "-log-messages=true" - "-log-pre-transform=true" #- "-patron-session=true" - "-ensure-branch=true" - "-strip-barcode=true" #- "-extend-barcode=true" #- "-no-alert-if-same-branch=true" logging: driver: "json-file" options: max-size: "1m" max-file: "2" # koha_indexer: # container_name: koha_indexer # image: "digibib/koha-indexer:8fe76d382ea8333a7392a7c6f22ae181da28fd99" # networks: # - backend # command: # - "/koha-indexer" # - "-db=/var/lib/state/koharecords.db" # - "-sparql=http://fuseki:3030/ds/update" # - "-freq=15m" # - "-update" # - "-initial-import" # - "-services=http://services:8005/search/publication/reindex" # environment: # KOHA_ADMINPASS: "${KOHA_ADMINPASS:-secret}" # KOHA_ADMINUSER: "${KOHA_ADMINUSER:-admin}" # KOHA_INSTANCE: "${KOHA_INSTANCE:-name}" # volumes: # - "koha_state:/var/lib/state" # logging: # driver: "json-file" # options: # max-size: "1m" # max-file: "2"