mirror of
https://github.com/telekom-security/tpotce.git
synced 2025-05-05 22:58:51 +00:00

- add conditional proxy support - use xargs to parallelize image builds - some tweaking and notes
59 lines
2.2 KiB
Docker
59 lines
2.2 KiB
Docker
FROM ubuntu:22.04
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
ARG PROXY
|
|
ENV ES_VER=8.14.2
|
|
ENV http_proxy=${PROXY}
|
|
#
|
|
# Include dist
|
|
COPY dist/ /root/dist/
|
|
#
|
|
# Check if APT_PROXY is set and configure apt to use the proxy only if it's available
|
|
RUN bash -c 'if [ -n "${http_proxy}" ]; then \
|
|
echo "Using APT proxy at ${http_proxy}"; \
|
|
echo "Acquire::http::Proxy \"${http_proxy}\";" > /etc/apt/apt.conf.d/01proxy; \
|
|
else \
|
|
echo "APT proxy not configured, proceeding without proxy"; \
|
|
fi' && \
|
|
# bash -c 'echo "Acquire::http::Proxy::ports.ubuntu.com DIRECT;" > /etc/apt/apt.conf.d/99force-no-proxy' && \
|
|
# Setup apt
|
|
apt-get update -y && \
|
|
apt-get install -y \
|
|
aria2 \
|
|
curl && \
|
|
#
|
|
# Determine arch, get and install packages
|
|
ARCH=$(arch) && \
|
|
if [ "$ARCH" = "x86_64" ]; then ES_ARCH="amd64"; fi && \
|
|
if [ "$ARCH" = "aarch64" ]; then ES_ARCH="arm64"; fi && \
|
|
echo "$ARCH" && \
|
|
cd /root/dist/ && \
|
|
mkdir -p /usr/share/elasticsearch/config /etc/elasticsearch && \
|
|
cp elasticsearch.yml /etc/elasticsearch/ && \
|
|
aria2c -s 16 -x 16 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-$ES_VER-$ES_ARCH.deb && \
|
|
dpkg --force-confold -i elasticsearch-$ES_VER-$ES_ARCH.deb && \
|
|
#
|
|
# Add and move files
|
|
# rm -rf /usr/share/elasticsearch/modules/x-pack-ml && \
|
|
# mkdir -p /usr/share/elasticsearch/config && \
|
|
# cp elasticsearch.yml /etc/elasticsearch/ && \
|
|
#
|
|
# Setup user, groups and configs
|
|
groupmod -g 2000 elasticsearch && \
|
|
usermod -u 2000 elasticsearch && \
|
|
chown -R root:elasticsearch /etc/default/elasticsearch \
|
|
/etc/elasticsearch && \
|
|
chown -R elasticsearch:elasticsearch /var/lib/elasticsearch \
|
|
/var/log/elasticsearch && \
|
|
#
|
|
# Clean up
|
|
apt-get purge aria2 -y && \
|
|
apt-get autoremove -y --purge && \
|
|
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /root/.cache /root/*
|
|
ENV http_proxy=""
|
|
#
|
|
# Healthcheck
|
|
HEALTHCHECK --retries=10 CMD curl -s -XGET 'http://127.0.0.1:9200/_cat/health'
|
|
#
|
|
# Start ELK
|
|
USER elasticsearch:elasticsearch
|
|
CMD ["/usr/share/elasticsearch/bin/elasticsearch"]
|