|
@ -0,0 +1,39 @@ |
|
|
|
|
|
#!/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 |
|
|
|
|
|
|