You can override the Kibana container image to use your own image with the plugins already installed, as described in the Create custom images. You should run an
optimize step as part of the build, otherwise it needs to run at startup which requires additional time and resources.
This is a Dockerfile example:
FROM docker.elastic.co/kibana/kibana:8.6.2 RUN /usr/share/kibana/bin/kibana-plugin install $PLUGIN_URL RUN /usr/share/kibana/bin/kibana --optimize
Intro to Kibana
ELK for Logs & Metrics