mirror of
https://github.com/jimeh/docker-znc.git
synced 2026-02-19 09:56:43 +00:00
If the mounted data directory on the host is owned by root, the znc user within the container would fail to write any settings to disk. Hence this changes ownership of the data directory to the znc user (Uid: 1000) and znc group (Gid: 1000) from within the container.
36 lines
811 B
Bash
Executable File
36 lines
811 B
Bash
Executable File
#! /usr/bin/env bash
|
|
|
|
# Options.
|
|
DATADIR="/znc-data"
|
|
|
|
# Build modules from source.
|
|
if [ -d "${DATADIR}/modules" ]; then
|
|
# Store current directory.
|
|
cwd="$(pwd)"
|
|
|
|
# Find module sources.
|
|
modules=$(find "${DATADIR}/modules" -name "*.cpp")
|
|
|
|
# Build modules.
|
|
for module in $modules; do
|
|
cd "$(dirname "$module")"
|
|
znc-buildmod "$module"
|
|
done
|
|
|
|
# Go back to original directory.
|
|
cd "$cwd"
|
|
fi
|
|
|
|
# Create default config if it doesn't exist
|
|
if [ ! -f "${DATADIR}/configs/znc.conf" ]; then
|
|
mkdir -p "${DATADIR}/configs"
|
|
cp /src/znc.conf.default "${DATADIR}/configs/znc.conf"
|
|
fi
|
|
|
|
# Make sure $DATADIR is owned by znc user. This effects ownership of the
|
|
# mounted directory on the host machine too.
|
|
chown -R znc:znc "$DATADIR"
|
|
|
|
# Start ZNC.
|
|
exec sudo -u znc znc --foreground --datadir="$DATADIR" $@
|