43 lines
1.4 KiB
Bash
43 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Set /private permissions to 777 as requested
|
|
chmod 777 /private 2>/dev/null || true
|
|
|
|
# Create persistent directories for BIND9 configs and DNS sync
|
|
mkdir -p /private/argus/bind
|
|
mkdir -p /private/argus/etc
|
|
chown bind:bind /private/argus 2>/dev/null || true
|
|
chown -R bind:bind /private/argus/bind /private/argus/etc
|
|
|
|
# Copy configuration files to persistent storage if they don't exist
|
|
if [ ! -f /private/argus/bind/named.conf.local ]; then
|
|
cp /etc/bind/named.conf.local /private/argus/bind/named.conf.local
|
|
fi
|
|
|
|
if [ ! -f /private/argus/bind/db.argus.com ]; then
|
|
cp /etc/bind/db.argus.com /private/argus/bind/db.argus.com
|
|
fi
|
|
|
|
# Copy update-dns.sh to /private/argus/etc/
|
|
cp /usr/local/bin/update-dns.sh /private/argus/etc/update-dns.sh
|
|
chown bind:bind /private/argus/etc/update-dns.sh
|
|
chmod a+x /private/argus/etc/update-dns.sh
|
|
|
|
# Create symlinks to use persistent configs
|
|
ln -sf /private/argus/bind/named.conf.local /etc/bind/named.conf.local
|
|
ln -sf /private/argus/bind/db.argus.com /etc/bind/db.argus.com
|
|
|
|
# Set proper ownership
|
|
chown bind:bind /private/argus/bind/named.conf.local /private/argus/bind/db.argus.com
|
|
|
|
# 记录容器ip地址更新到dns.conf
|
|
IP=`ifconfig | grep -A 1 eth0 | grep inet | awk '{print $2}'`
|
|
echo current IP: ${IP}
|
|
echo ${IP} > /private/argus/etc/dns.conf
|
|
|
|
# Create supervisor log directory
|
|
mkdir -p /var/log/supervisor
|
|
|
|
# Start supervisor
|
|
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
|