-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-entrypoint.sh
More file actions
executable file
·57 lines (49 loc) · 1.51 KB
/
docker-entrypoint.sh
File metadata and controls
executable file
·57 lines (49 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/bash
set -e
###
# Setting up the environment
###
if [ "$SYNC_UID" -ne 0 ]
then
export SYNC_USER_HOME=/home/${SYNC_USER}
deluser ${SYNC_USER} --remove-home || true
adduser -h ${SYNC_USER_HOME} -s /bin/bash -u $SYNC_UID -D ${SYNC_USER}
chown -R ${SYNC_USER}:${SYNC_USER} ${SYNC_USER_HOME} "${UNISON_DATA}" "${CONTAINER_DATA_PATH}"
[ -L /home/${SYNC_USER}/.unison ] || ln -s "${UNISON_DATA}" ${SYNC_USER_HOME}/.unison
export SYNC_EXECUTOR="su-exec ${SYNC_USER}"
else
[ -L /root/.unison ] || ln -sf "${UNISON_DATA}" /root/.unison
export SYNC_USER_HOME=/root
export SYNC_USER=root
export SYNC_EXECUTOR="exec"
fi
###
# Starting ssync
###
UNSION_COMMAND="unison ${UNISON_DEFAULT_OPTS} ${UNISON_OPTS}"
COMMAND=${1-run}
shift
case "$COMMAND" in
run)
echo ${SYNC_EXECUTOR} ${UNSION_COMMAND} "${HOST_DATA_PATH}" "${CONTAINER_DATA_PATH}"
eval ${SYNC_EXECUTOR} ${UNSION_COMMAND} "${HOST_DATA_PATH}" "${CONTAINER_DATA_PATH}"
;;
watch)
envsubst < /etc/monitrc.template > /etc/monitrc
export UNISON_START_COMMAND="${UNSION_COMMAND} -repeat watch \"${HOST_DATA_PATH}\" \"${CONTAINER_DATA_PATH}\""
exec supervisord
;;
reset)
while true; do
read -p "A reset will delete all data in ${UNISON_DATA} and ${CONTAINER_DATA_PATH}. Do you want to proceed? " yn
case $yn in
[Yy]* ) rm -rf "${UNISON_DATA}/"* "${CONTAINER_DATA_PATH}"/*; exit;;
[Nn]* ) exit;;
* ) echo "Please answer yes or no.";;
esac
done
;;
*)
exec $COMMAND "$@"
;;
esac