The need to tag digital objects in various repositories such as datasets or scientific papers to allow for thematic classification is a well-known problem. In some cases a free tagging approach is used where contributors can add any keywords they desire while in other cases, selection from a controlled vocabulary is mandated. To enable repository managers to allow both free tagging and the use of controlled vocabularies, we have created the Keyword Aggregator (KWA) system, key aspects of which are outlined next. A web service that: provides fast search access to vocabulary content; stores multiple, controlled, vocabularies of terms; permits the addition of new keywords. An example widget that makes use of the web service and can be embedded in a web page. Use of a relational database that captures keyword use statistics. A management methodology that: allows particular vocabularies to be selected for use on a per-widget instance basis; allows vocabulary updating through storage in versioned repositories; stores vocabularies with vocabulary-level metadata enabling vocabulary discovery; permits one vocabulary to link to a single term in another vocabulary (allows a 'vocabulary-of-vocabularies'). The focus of KWA is on the creation of a flexible keyword aggregation, management and search system for science keywords, however vocabularies of any kind could, in principle, be handled by this system. This release allows KWA to be run under Python 2 or 3 and more importantly, adds containerisation support via Docker to simplify deployment. In addition, graph loading scripts were added and various internal improvements and bug fixes were made. See the README.pdf supporting attachment for more detail.