You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.0 KiB
39 lines
1.0 KiB
#!/bin/bash
|
|
|
|
## Init is run on host
|
|
## For now it is run every time the script is launched, but
|
|
## it should be launched only once after build.
|
|
|
|
## Accessible variables are:
|
|
## - SERVICE_NAME Name of current service
|
|
## - DOCKER_BASE_IMAGE Base image from which this service might be built if any
|
|
## - SERVICE_DATASTORE Location on host of the DATASTORE of this service
|
|
## - SERVICE_CONFIGSTORE Location on host of the CONFIGSTORE of this service
|
|
|
|
|
|
. lib/common
|
|
|
|
set -e
|
|
|
|
|
|
dirs=(
|
|
"$SERVICE_DATASTORE/var/lib/etherpad"
|
|
)
|
|
|
|
uid_gid=($(docker_get_uid_gid "$SERVICE_NAME" "etherpad" "etherpad")) || {
|
|
err "Could not fetch uid/gid on image of service ${DARKYELLOW}$SERVICE_NAME${NORMAL}."
|
|
return 1
|
|
}
|
|
|
|
uid="${uid_gid[0]}"
|
|
gid="${uid_gid[1]}"
|
|
for dir in "${dirs[@]}"; do
|
|
mkdir -p "$dir"
|
|
find "$dir" \! -uid "$uid" -print0 | while read-0 f; do
|
|
chown -v "$uid" "$f" || return 1
|
|
done
|
|
find "$dir" \! -gid "$gid" -print0 | while read-0 f; do
|
|
chgrp -v "$gid" "$f" || return 1
|
|
done
|
|
done
|
|
|