version: '3.4' ## START LICENSE DISCLAIMER: In order to use the docker compose files you have to remove the whole LICENSE DISCLAIMER, from START to END. By removing these lines you accept the several different licenses used by the main software brought contained in each of the docker images, that you install. Which license this is you can see in the readme of every of those images on dockerhub. As with all Docker images, the installed images likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained). As for any pre-built image usage, it is the image user's responsibility to ensure that any use of these images complies with any relevant licenses for all software contained within. ## END LICENSE DISCLAIMER services: proxy: image: translate5/proxy depends_on: - php - frontendmessagebus # TODO ADD THE DESIRED PORTS / EXTRA_HOSTS IN docker-compose.production.yml and add that to .env file php: image: translate5/translate5 depends_on: - db # configured by ENV, see below - languagetool # autodiscovery in translate5 by name "languagetool", scalable with --scale - t5memory # autodiscovery by service name "t5memory", scalable only behind a load balancer with consistent hash algorithm # termtagger: autodiscovery by service name termtagger # or with multiple termtagger_N, termtagger_TYPE_N service instances # where N is an integer and TYPE one of default, gui, import # automatic scaling only behind a load balancer with consistent hash algorithm TODO add TBX hash to URL in T5 # or scaling by adding multiple instance in translate5 with above naming scheme # another easier scaling solution is planned: TERMTAGGER-63 - termtagger - frontendmessagebus # no scaling needed, autodiscovery by name - okapi # no scaling needed, autodiscovery by name environment: - TZ=Europe/Berlin - T5_INSTALL_DB_HOSTNAME=db - T5_INSTALL_DB_USERNAME=${MYSQL_USERNAME-translate5} - T5_INSTALL_DB_PASSWORD=${MYSQL_PASSWORD-translate5} - T5_INSTALL_DB_DATABASE=${MYSQL_DATABASE-translate5} - T5_INSTALL_DB_PORT=${MYSQL_PORT-3306} - APP_HOST=${APP_HOST} # TODO CHOOSE ENTRYPOINT: # default entrypoint: By default translate5 is updated on restart of the container! # if this is not desired, change the entrypoint to just start the apache # entrypoint: apache2-foreground # entry point for running tests (on translate5-git container): # entrypoint: bash /var/www/run-tests.sh frontendmessagebus: image: translate5/frontendmessagebus environment: MESSAGE_SERVER_ADDRESS: 0.0.0.0 MESSAGE_SERVER_PORT: 9057 SOCKET_SERVER_HOST: ${APP_HOST} SOCKET_SERVER_PORT: 9056 db: image: mariadb command: ## attention, all commands are cloned in docker-compose.production.yml! --default-authentication-plugin=mysql_native_password --sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --innodb_ft_min_token_size=1 --innodb_ft_enable_stopword=0 --disable-log-bin environment: TZ: Europe/Berlin MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PW-r00t} MYSQL_USER: ${MYSQL_USERNAME-translate5} MYSQL_PASSWORD: ${MYSQL_PASSWORD-translate5} MYSQL_DATABASE: ${MYSQL_DATABASE-translate5} t5memory: # default port 4040 image: translate5/t5memory # to increase performance, termtagger should be scaled to at least 3 instances! termtagger: # default port 9001 image: translate5/opentmstermtagger volumes: - termtagger-tbx:/home/termtagger/tbx deploy: replicas: 2 languagetool: # default port 8010 image: translate5/languagetool environment: #Java_Xms: 256m #start size Java_Xmx: 1024m #max heap space, at least 1024 for tests okapi: # default port 8080 image: translate5/okapi-longhorn:translate5-5.9.0 volumes: termtagger-tbx: # needed to share TBX files between scaled instances