mirror of
https://github.com/YunoHost-Apps/rocketchat_ynh.git
synced 2024-09-03 20:16:25 +02:00
switching to ynh_mongo_db__2
This commit is contained in:
parent
4c6bc2cd5a
commit
dfa72bfa00
4 changed files with 24 additions and 42 deletions
|
@ -17,11 +17,8 @@ pkg_dependencies="apt-transport-https build-essential gzip curl fontconfig graph
|
|||
# EXPERIMENTAL HELPERS
|
||||
#=================================================
|
||||
|
||||
MONGO_DEBIAN_SERVICENAME="mongodb"
|
||||
MONGO_CE_SERVICENAME="mongod"
|
||||
MONGO_DEBIAN_DEPENDENCIES="mongodb mongodb-server mongo-tools"
|
||||
MONGO_CE_DEPENDENCIES="mongodb-org mongodb-org-server mongodb-org-tools"
|
||||
MONGO_DEBIAN_CONFIG="/etc/mongodb.conf"
|
||||
MONGO_CE_DEPENDENCIES="mongodb-org mongodb-org-server mongodb-org-tools mongodb-mongosh"
|
||||
MONGO_CE_CONFIG="/etc/mongod.conf"
|
||||
MONGO_CE_REPO="deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main"
|
||||
MONGO_CE_KEY="https://www.mongodb.org/static/pgp/server-5.0.asc"
|
||||
|
@ -110,7 +107,7 @@ ynh_mongo_exec() {
|
|||
database=""
|
||||
fi
|
||||
|
||||
mongo --quiet $user $password $authenticationdatabase $host $port <<EOF
|
||||
mongosh --quiet --username $user --password $password --authenticationDatabase $authenticationdatabase --host $host --port $port <<EOF
|
||||
$database
|
||||
${command}
|
||||
quit()
|
||||
|
@ -124,7 +121,7 @@ EOF
|
|||
database=""
|
||||
fi
|
||||
|
||||
mongo --quiet $database $user $password $authenticationdatabase $host $port --eval="$command"
|
||||
mongosh --quiet $database --username $user --password $password --authenticationDatabase $authenticationdatabase --host $host --port $port --eval="$command"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -324,26 +321,16 @@ ynh_mongo_remove_db() {
|
|||
#
|
||||
#
|
||||
ynh_install_mongo() {
|
||||
ynh_script_progression --message="Installing MongoDB..." --weight=5
|
||||
|
||||
# Define Mongo Service Name
|
||||
if $(dpkg --compare-versions $(cat /etc/debian_version) gt "10.0")
|
||||
then
|
||||
ynh_install_extra_app_dependencies --repo="$MONGO_CE_REPO" --package="$MONGO_CE_DEPENDENCIES" --key="$MONGO_CE_KEY"
|
||||
MONGODB_SERVICENAME=$MONGO_CE_SERVICENAME
|
||||
else
|
||||
ynh_print_info --message="Installing MongoDB Debian..."
|
||||
ynh_install_app_dependencies $MONGO_DEBIAN_DEPENDENCIES
|
||||
MONGODB_SERVICENAME=$MONGO_DEBIAN_SERVICENAME
|
||||
fi
|
||||
mongodb_servicename=$MONGODB_SERVICENAME
|
||||
ynh_print_info --message="Installing MongoDB Community Edition..."
|
||||
ynh_install_extra_app_dependencies --repo="$MONGO_CE_REPO" --package="$MONGO_CE_DEPENDENCIES" --key="$MONGO_CE_KEY"
|
||||
mongodb_servicename=$MONGO_CE_SERVICENAME
|
||||
|
||||
# Make sure MongoDB is started and enabled
|
||||
systemctl is-enabled $MONGODB_SERVICENAME -q || systemctl enable $MONGODB_SERVICENAME --quiet
|
||||
systemctl is-active $MONGODB_SERVICENAME -q || ynh_systemd_action --service_name=$MONGODB_SERVICENAME --action=restart --line_match="aiting for connections" --log_path="/var/log/mongodb/$MONGODB_SERVICENAME.log"
|
||||
systemctl is-enabled $mongodb_servicename -q || systemctl enable $mongodb_servicename --quiet
|
||||
systemctl is-active $mongodb_servicename -q || ynh_systemd_action --service_name=$mongodb_servicename --action=restart --line_match="aiting for connections" --log_path="/var/log/mongodb/$mongodb_servicename.log"
|
||||
|
||||
# Integrate MongoDB service in YunoHost
|
||||
yunohost service add $MONGODB_SERVICENAME --description="MongoDB daemon" --log="/var/log/mongodb/$MONGODB_SERVICENAME.log"
|
||||
yunohost service add $mongodb_servicename --description="MongoDB daemon" --log="/var/log/mongodb/$mongodb_servicename.log"
|
||||
}
|
||||
|
||||
# Remove MongoDB
|
||||
|
@ -357,15 +344,10 @@ ynh_remove_mongo() {
|
|||
# Only remove the mongodb service if it is not installed.
|
||||
if ! ynh_package_is_installed --package="mongodb*"
|
||||
then
|
||||
ynh_script_progression --message="Removing MongoDB service..." --weight=2
|
||||
# Define Mongo Service Name
|
||||
if [ "$(lsb_release --codename --short)" = "buster" ]; then
|
||||
MONGODB_SERVICENAME=$MONGO_CE_SERVICENAME
|
||||
else
|
||||
MONGODB_SERVICENAME=$MONGO_DEBIAN_SERVICENAME
|
||||
fi
|
||||
ynh_print_info --message="Removing MongoDB service..."
|
||||
mongodb_servicename=$MONGO_CE_SERVICENAME
|
||||
# Remove the mongodb service
|
||||
yunohost service remove $MONGODB_SERVICENAME
|
||||
yunohost service remove $mongodb_servicename
|
||||
# ynh_secure_remove --file=$MONGO_ROOT_PWD_FILE
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -38,6 +38,12 @@ email=$(ynh_user_get_info --username=$admin --key=mail)
|
|||
#=================================================
|
||||
ynh_script_progression --message="Validating installation parameters..." --weight=1
|
||||
|
||||
# Check machine architecture (in particular, we don't support ARM and 32bit machines)
|
||||
if [ $YNH_ARCH == "i386" ] || [ $YNH_ARCH == "armel" ] || [ $YNH_ARCH == "armhf" ]
|
||||
then
|
||||
ynh_die --message="Sorry, but this app can only be installed on a x86, 64 bits machine :("
|
||||
fi
|
||||
|
||||
final_path=/var/www/$app
|
||||
test ! -e "$final_path" || ynh_die --message="This path already contains a folder"
|
||||
|
||||
|
@ -139,16 +145,14 @@ ynh_add_systemd_config
|
|||
#=================================================
|
||||
ynh_script_progression --message="Configuring mongod..." --weight=1
|
||||
|
||||
sed -i "s/^# engine:/ engine: wiredTiger/" /etc/mongod.conf
|
||||
sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
|
||||
sed -i "s/^# engine:/ engine: wiredTiger/" $MONGO_CE_CONFIG
|
||||
sed -i "s/^#replication:/replication:\n replSetName: rs01/" $MONGO_CE_CONFIG
|
||||
|
||||
ynh_exec_warn_less systemctl enable $mongodb_servicename --quiet
|
||||
ynh_systemd_action --service_name=$mongodb_servicename --action=restart
|
||||
|
||||
sleep 10
|
||||
|
||||
ynh_mongo_exec --command="printjson(rs.initiate())" --eval
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
|
|
|
@ -94,16 +94,14 @@ ynh_mongo_restore_db --database="$db_name" < ./dump.bson
|
|||
#=================================================
|
||||
ynh_script_progression --message="Configuring mongod..." --weight=3
|
||||
|
||||
sed -i "s/^# engine:/ engine: wiredTiger/" /etc/mongod.conf
|
||||
sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
|
||||
sed -i "s/^# engine:/ engine: wiredTiger/" $MONGO_CE_CONFIG
|
||||
sed -i "s/^#replication:/replication:\n replSetName: rs01/" $MONGO_CE_CONFIG
|
||||
|
||||
ynh_exec_warn_less systemctl enable $mongodb_servicename --quiet
|
||||
ynh_systemd_action --service_name=$mongodb_servicename --action=restart
|
||||
|
||||
sleep 10
|
||||
|
||||
ynh_mongo_exec --command="printjson(rs.initiate())" --eval
|
||||
|
||||
#=================================================
|
||||
# RESTORE SYSTEMD
|
||||
#=================================================
|
||||
|
|
|
@ -142,16 +142,14 @@ ynh_add_systemd_config
|
|||
#=================================================
|
||||
ynh_script_progression --message="Configuring mongod..." --weight=1
|
||||
|
||||
sed -i "s/^# engine:/ engine: wiredTiger/" /etc/mongod.conf
|
||||
sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
|
||||
sed -i "s/^# engine:/ engine: wiredTiger/" $MONGO_CE_CONFIG
|
||||
sed -i "s/^#replication:/replication:\n replSetName: rs01/" $MONGO_CE_CONFIG
|
||||
|
||||
ynh_exec_warn_less systemctl enable $mongodb_servicename --quiet
|
||||
ynh_systemd_action --service_name=$mongodb_servicename --action=restart
|
||||
|
||||
sleep 10
|
||||
|
||||
ynh_mongo_exec --command="printjson(rs.initiate())" --eval
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
|
|
Loading…
Reference in a new issue