forked from wazuh/wazuh-docker
Change Dockerfile from Wazuh dashboard with multistage build
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2)
|
||||
FROM ubuntu:focal
|
||||
FROM ubuntu:focal AS builder
|
||||
|
||||
ARG WAZUH_VERSION=4.3.0-1
|
||||
|
||||
@@ -11,18 +11,11 @@ RUN curl https://packages-dev.wazuh.com/pre-release/apt/pool/main/w/wazuh-dashbo
|
||||
dpkg -i wazuh-dashboard_${WAZUH_VERSION}_amd64.deb && \
|
||||
apt-get clean -y && rm -rf wazuh-dashboard_${WAZUH_VERSION}_amd64.deb
|
||||
|
||||
COPY config/entrypoint.sh /
|
||||
|
||||
COPY config/wazuh_app_config.sh /
|
||||
|
||||
COPY config/opensearch_dashboards.yml /etc/wazuh-dashboard/
|
||||
|
||||
COPY config/wazuh.yml /usr/share/wazuh-dashboard/data/wazuh/config/
|
||||
|
||||
RUN chmod 700 /entrypoint.sh
|
||||
|
||||
RUN chmod 700 /wazuh_app_config.sh
|
||||
|
||||
RUN chown 101:101 /etc/wazuh-dashboard/opensearch_dashboards.yml && chmod 664 /etc/wazuh-dashboard/opensearch_dashboards.yml
|
||||
|
||||
RUN mkdir -p /usr/share/wazuh-dashboard/data/wazuh && chown -R 101:101 /usr/share/wazuh-dashboard/data/wazuh && chmod -R 775 /usr/share/wazuh-dashboard/data/wazuh
|
||||
@@ -31,6 +24,44 @@ RUN mkdir -p /usr/share/wazuh-dashboard/data/wazuh/config && chown -R 101:101 /u
|
||||
|
||||
RUN mkdir -p /usr/share/wazuh-dashboard/data/wazuh/logs && chown -R 101:101 /usr/share/wazuh-dashboard/data/wazuh/logs && chmod -R 775 /usr/share/wazuh-dashboard/data/wazuh/logs
|
||||
|
||||
################################################################################
|
||||
# Build stage 1 (the actual Wazuh dashboard image):
|
||||
#
|
||||
# Copy wazuh-dashboard from stage 0
|
||||
# Add entrypoint
|
||||
# Add wazuh_app_config
|
||||
################################################################################
|
||||
FROM ubuntu:focal
|
||||
|
||||
ENV USER="wazuh-dashboard" \
|
||||
GROUP="wazuh-dashboard" \
|
||||
NAME="wazuh-dashboard" \
|
||||
INSTALL_DIR="/usr/share/wazuh-dashboard"
|
||||
|
||||
RUN getent group $GROUP || groupadd -r -g 1000 $GROUP
|
||||
|
||||
RUN useradd --system \
|
||||
--uid 1000 \
|
||||
--no-create-home \
|
||||
--home-dir $INSTALL_DIR \
|
||||
--gid $GROUP \
|
||||
--shell /sbin/nologin \
|
||||
--comment "$USER user" \
|
||||
$USER
|
||||
|
||||
COPY config/entrypoint.sh /
|
||||
|
||||
COPY config/wazuh_app_config.sh /
|
||||
|
||||
RUN chmod 700 /entrypoint.sh
|
||||
|
||||
RUN chmod 700 /wazuh_app_config.sh
|
||||
|
||||
COPY --from=builder --chown=1000:1000 /usr/share/wazuh-dashboard /usr/share/wazuh-dashboard
|
||||
COPY --from=builder --chown=1000:1000 /var/log/wazuh-dashboard /var/log/wazuh-dashboard
|
||||
COPY --from=builder --chown=1000:1000 /run/wazuh-dashboard /run/wazuh-dashboard
|
||||
COPY --from=builder --chown=1000:1000 /etc/wazuh-dashboard /etc/wazuh-dashboard
|
||||
|
||||
# Services ports
|
||||
EXPOSE 443
|
||||
|
||||
|
||||
@@ -1,52 +1,6 @@
|
||||
#!/bin/bash
|
||||
# Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2)
|
||||
|
||||
set -e
|
||||
|
||||
##############################################################################
|
||||
# Waiting for Wazuh indexer
|
||||
##############################################################################
|
||||
|
||||
if [ "x${INDEXER_URL}" == "x" ]; then
|
||||
if [[ ${ENABLED_SECURITY} == "false" ]]; then
|
||||
export idx_url="http://wazuh1.indexer:9200"
|
||||
else
|
||||
export idx_url="https://wazuh1.indexer:9200"
|
||||
fi
|
||||
else
|
||||
export idx_url="${INDEXER_URL}"
|
||||
fi
|
||||
|
||||
export auth="--user ${INDEXER_USERNAME}:${INDEXER_PASSWORD} -k"
|
||||
|
||||
until curl -XGET $idx_url ${auth}; do
|
||||
>&2 echo "Wazuh indexer is unavailable - sleeping"
|
||||
sleep 5
|
||||
done
|
||||
|
||||
sleep 2
|
||||
|
||||
>&2 echo "Elasticsearch is up."
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Waiting for wazuh alerts template
|
||||
##############################################################################
|
||||
|
||||
strlen=0
|
||||
|
||||
while [[ $strlen -eq 0 ]]
|
||||
do
|
||||
template=$(curl ${auth} $idx_url/_cat/templates/wazuh -s)
|
||||
strlen=${#template}
|
||||
>&2 echo "Wazuh alerts template not loaded - sleeping."
|
||||
sleep 2
|
||||
done
|
||||
|
||||
sleep 2
|
||||
|
||||
>&2 echo "Wazuh alerts template is loaded."
|
||||
|
||||
##############################################################################
|
||||
# Start Wazuh dashboard
|
||||
##############################################################################
|
||||
|
||||
Reference in New Issue
Block a user