37 lines
906 B
Bash
37 lines
906 B
Bash
#!/bin/bash
|
|
|
|
# --- CONFIGURATION ---
|
|
IP=${STATIC_IP:-"192.168.0.118/24"}
|
|
GW=${STATIC_GW:-"192.168.0.1"}
|
|
DNS=${STATIC_DNS:-"192.168.0.113"}
|
|
|
|
echo "--- Elasticsearch Network Init ---"
|
|
echo "Using IP: $IP"
|
|
|
|
# 1. Generate Network Config (Debian/Ubuntu Syntax)
|
|
cat <<EOF > /etc/network/interfaces
|
|
auto lo
|
|
iface lo inet loopback
|
|
|
|
auto eth0
|
|
iface eth0 inet static
|
|
address $IP
|
|
gateway $GW
|
|
EOF
|
|
|
|
# 2. Set DNS
|
|
echo "nameserver $DNS" > /etc/resolv.conf
|
|
|
|
# 3. Start Network
|
|
sleep 5
|
|
ifup eth0
|
|
|
|
# 4. Fix Permissions (in case volumes were mounted by root)
|
|
chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/data
|
|
chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/logs
|
|
|
|
# 5. Launch Elasticsearch as the correct user
|
|
echo "--- Starting Elasticsearch ---"
|
|
# We use 'runuser' to drop privileges from root -> elasticsearch
|
|
exec runuser -u elasticsearch -- /usr/local/bin/docker-entrypoint.sh "$@"
|