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)
|
# Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2)
|
||||||
FROM ubuntu:focal
|
FROM ubuntu:focal AS builder
|
||||||
|
|
||||||
ARG WAZUH_VERSION=4.3.0-1
|
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 && \
|
dpkg -i wazuh-dashboard_${WAZUH_VERSION}_amd64.deb && \
|
||||||
apt-get clean -y && rm -rf 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/opensearch_dashboards.yml /etc/wazuh-dashboard/
|
||||||
|
|
||||||
COPY config/wazuh.yml /usr/share/wazuh-dashboard/data/wazuh/config/
|
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 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
|
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
|
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
|
# Services ports
|
||||||
EXPOSE 443
|
EXPOSE 443
|
||||||
|
|
||||||
|
|||||||
@@ -1,52 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Wazuh Docker Copyright (C) 2021 Wazuh Inc. (License GPLv2)
|
# 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
|
# Start Wazuh dashboard
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|||||||
Reference in New Issue
Block a user