services: db: image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-db:$PHRASEANET_DOCKER_TAG build: ./docker/db restart: on-failure profiles: ["db"] environment: - MYSQL_ROOT_PASSWORD - MYSQL_MAX_ALLOWED_PACKET - MYSQL_MAX_CONNECTION - MYSQL_LONG_QUERY_TIME - MYSQL_SLOW_QUERY_LOG - MYSQL_QUERY_CACHE_LIMIT - MYSQL_QUERY_CACHE_SIZE - MYSQL_KEY_BUFFER_SIZE - MYSQL_CONNECT_TIMEOUT - MYSQL_WAIT_TIMEOUT - MARIADB_AUTO_UPGRADE volumes: - ${PHRASEANET_DB_DIR}:/var/lib/mysql networks: internal: aliases: - db pre_stop: - command: '/usr/bin/mysqladmin -uroot -p"$MYSQL_ROOT_PASSWORD" shutdown' db-docker-vol: image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-db:$PHRASEANET_DOCKER_TAG build: ./docker/db restart: on-failure profiles: ["db-docker-vol"] environment: - MYSQL_ROOT_PASSWORD - MYSQL_MAX_ALLOWED_PACKET - MYSQL_MAX_CONNECTION - MYSQL_LONG_QUERY_TIME - MYSQL_SLOW_QUERY_LOG - MYSQL_QUERY_CACHE_LIMIT - MYSQL_QUERY_CACHE_SIZE - MYSQL_KEY_BUFFER_SIZE - MYSQL_CONNECT_TIMEOUT - MYSQL_WAIT_TIMEOUT - MARIADB_AUTO_UPGRADE volumes: - db_vol:/var/lib/mysql networks: internal: aliases: - db pre_stop: - command: '/usr/bin/mysqladmin -uroot -p"$MYSQL_ROOT_PASSWORD" shutdown' rabbitmq: image: $RABBITMQ_IMAGE_TAG profiles: ["rabbitmq"] restart: on-failure hostname: $RABBITMQ_HOSTNAME environment: - RABBITMQ_DEFAULT_USER - RABBITMQ_DEFAULT_PASS - PHRASEANET_RABBITMQ_VHOST volumes: - rabbitmq_vol:/var/lib/rabbitmq networks: - internal redis: image: $REDIS_CACHE_IMAGE_TAG profiles: ["redis"] restart: on-failure networks: - internal redis-session: image: $REDIS_SESSION_IMAGE_TAG profiles: ["redis-session"] restart: on-failure networks: - internal elasticsearch: image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-elasticsearch:$PHRASEANET_DOCKER_TAG ulimits: nofile: soft: 65536 hard: 65536 profiles: ["elasticsearch"] build: ./docker/elasticsearch restart: on-failure volumes: - ${PHRASEANET_ELASTICSEARCH_DIR}:/usr/share/elasticsearch/data networks: - internal