mirror of
https://github.com/jrasanen/writefreely-docker.git
synced 2025-05-08 15:16:03 +03:00
Retry init if database is not ready
This commit is contained in:
parent
ee44d5dba8
commit
50e6ccb32e
1 changed files with 25 additions and 2 deletions
|
@ -21,13 +21,31 @@ cd /data
|
||||||
|
|
||||||
WRITEFREELY=/writefreely/writefreely
|
WRITEFREELY=/writefreely/writefreely
|
||||||
|
|
||||||
|
validate_url() {
|
||||||
|
URL="$1"
|
||||||
|
if echo "$URL" | grep -Eq "^https?://[a-zA-Z0-9._-]+"; then
|
||||||
|
return 0 # Success
|
||||||
|
else
|
||||||
|
return 1 # Failure
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Validate WRITEFREELY_HOST
|
||||||
|
if ! validate_url "$WRITEFREELY_HOST"; then
|
||||||
|
echo "Error: $WRITEFREELY_HOST is not a valid URL. It must start with http:// or https:// and be followed by a valid hostname."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -e ./config.ini ] && [ -e ./keys/email.aes256 ]; then
|
if [ -e ./config.ini ] && [ -e ./keys/email.aes256 ]; then
|
||||||
${WRITEFREELY} -migrate
|
${WRITEFREELY} -migrate
|
||||||
exec ${WRITEFREELY}
|
exec ${WRITEFREELY}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e ./config.ini ]; then
|
if [ -e ./config.ini ]; then
|
||||||
${WRITEFREELY} -init-db
|
until ${WRITEFREELY} --init-db; do
|
||||||
|
echo "Retrying --init-db..."
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
${WRITEFREELY} -gen-keys
|
${WRITEFREELY} -gen-keys
|
||||||
exec ${WRITEFREELY}
|
exec ${WRITEFREELY}
|
||||||
fi
|
fi
|
||||||
|
@ -146,7 +164,12 @@ EOF
|
||||||
|
|
||||||
chmod 600 ./config.ini
|
chmod 600 ./config.ini
|
||||||
|
|
||||||
${WRITEFREELY} --init-db
|
# Retry --init-db until it succeeds
|
||||||
|
until ${WRITEFREELY} --init-db; do
|
||||||
|
echo "Retrying --init-db..."
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
|
|
||||||
${WRITEFREELY} --gen-keys
|
${WRITEFREELY} --gen-keys
|
||||||
|
|
||||||
if [ -n "$WRITEFREELY_ADMIN_USER" ]; then
|
if [ -n "$WRITEFREELY_ADMIN_USER" ]; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue