From 77deb53503d7192cf1edc99c23664647f15225ef Mon Sep 17 00:00:00 2001 From: dpwrussell Date: Mon, 24 Jul 2017 12:30:16 -0400 Subject: [PATCH 1/3] Restore database from file location --- 60-database.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/60-database.sh b/60-database.sh index 076c153a..bfe1ccaf 100755 --- a/60-database.sh +++ b/60-database.sh @@ -39,7 +39,12 @@ psql -w -h "$DBHOST" -U "$DBUSER" "$DBNAME" -c \ "select * from dbpatch" 2> /dev/null && { echo "Upgrading database" $omego db upgrade --serverdir=OMERO.server -} || { - echo "Initialising database" - $omego db init --rootpass "$ROOTPASS" --serverdir=OMERO.server -} + } || { + if [ -f "/sql/db.sql" ]; then + echo "Restoring database" + $omego db init --omerosql "/sql/db.sql" --serverdir=OMERO.server + else + echo "Initialising database" + $omego db init --rootpass "$ROOTPASS" --serverdir=OMERO.server + fi + } From 0b0ebbdac833383472b0758a4a36588ca202eb96 Mon Sep 17 00:00:00 2001 From: dpwrussell Date: Wed, 26 Jul 2017 15:50:59 -0400 Subject: [PATCH 2/3] Make sql file location a bit more logical and in a directory owned by omero-server --- 60-database.sh | 4 ++-- Dockerfile | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/60-database.sh b/60-database.sh index bfe1ccaf..79b445f1 100755 --- a/60-database.sh +++ b/60-database.sh @@ -40,9 +40,9 @@ psql -w -h "$DBHOST" -U "$DBUSER" "$DBNAME" -c \ echo "Upgrading database" $omego db upgrade --serverdir=OMERO.server } || { - if [ -f "/sql/db.sql" ]; then + if [ -f "/opt/omero/sql/db.sql" ]; then echo "Restoring database" - $omego db init --omerosql "/sql/db.sql" --serverdir=OMERO.server + $omego db init --omerosql "/opt/omero/sql/db.sql" --serverdir=OMERO.server else echo "Initialising database" $omego db init --rootpass "$ROOTPASS" --serverdir=OMERO.server diff --git a/Dockerfile b/Dockerfile index fc884cf4..936df3e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,6 +19,9 @@ RUN curl -L -o /usr/local/bin/dumb-init \ ADD entrypoint.sh /usr/local/bin/ ADD 50-config.py 60-database.sh 99-run.sh /startup/ +RUN mkdir -p /opt/omero/sql && \ + chown omero-server:omero-server /opt/omero/sql + USER omero-server EXPOSE 4063 4064 From 219a7a86530241e06e073de94c6ebaf82a9283d8 Mon Sep 17 00:00:00 2001 From: jmoore Date: Thu, 8 Feb 2018 07:31:07 +0000 Subject: [PATCH 3/3] Override omero.db.name (fix #16) omego assumes that the DBHOSE and DBNAME are set via bin/omero config. DBNAME was previously *not* set to prevent an accidental upgrade of a database. Here we set DBNAME only if the database has not been created elsewhere. --- 60-database.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/60-database.sh b/60-database.sh index 076c153a..d4909e63 100755 --- a/60-database.sh +++ b/60-database.sh @@ -16,8 +16,19 @@ else DBHOST=db $omero config set omero.db.host "$DBHOST" fi + +CONFIG_omero_db_name=${CONFIG_omero_db_name:-} +if [ -n "$CONFIG_omero_db_name" ]; then + DBNAME="$CONFIG_omero_db_name" + DBNAME_src=env +else + # Delay setting in config until *after* + # the upgrade is attempted. + DBNAME=omero + DBNAME_src=default +fi + DBUSER="${CONFIG_omero_db_user:-omero}" -DBNAME="${CONFIG_omero_db_name:-omero}" DBPASS="${CONFIG_omero_db_pass:-omero}" ROOTPASS="${ROOTPASS:-omero}" @@ -40,6 +51,9 @@ psql -w -h "$DBHOST" -U "$DBUSER" "$DBNAME" -c \ echo "Upgrading database" $omego db upgrade --serverdir=OMERO.server } || { + if [ "$DBNAME_src" = default ]; then + $omero config set omero.db.name "$DBNAME" + fi echo "Initialising database" $omego db init --rootpass "$ROOTPASS" --serverdir=OMERO.server }