1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/rocketchat_ynh.git synced 2024-09-03 20:16:25 +02:00

Improvements overall

This commit is contained in:
Selamanse 2017-07-21 10:54:41 +02:00
parent 19c910fb36
commit 14668f1d07
7 changed files with 47 additions and 38 deletions

View file

@ -1,7 +1,7 @@
# rocketchat_ynh
[![Build Status](https://travis-ci.org/selamanse/rocketchat_ynh.svg?branch=master)](https://travis-ci.org/selamanse/rocketchat_ynh)
rocket.chat for yunohost
Rocketchat for yunohost
## Install with

View file

@ -1,17 +1,16 @@
[Unit]
Description=Rocket.Chat
Description=rocketchat
After=network.target
[Service]
Type=simple
WorkingDirectory=/var/www/rocketchat
User=www-data
Group=www-data
User=#USER#
ExecStart=/usr/local/bin/node main.js
Restart=always
SyslogIdentifier=Rocket.Chat
Environment="BIND_IP=127.0.0.1"
Environment="ROOT_URL=https://#ROOTURL##LOCATION#"
Environment="ROOT_URL=https://#ROOTURL##LOCATION#"
Environment="PORT=3000"
Environment="MONGO_URL=mongodb://localhost:27017/rocketchat"

View file

@ -7,7 +7,7 @@
},
"url": "https://github.com/selamanse/rocketchat_ynh",
"license": "MIT",
"version": "0.57.2-rc.0",
"version": "0.57.2-rc.1",
"maintainer": {
"name": "selamanse",
"email": "selamanse@scheinfrei.info",

View file

@ -45,4 +45,4 @@ ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "${backup_dir}/etc/nginx/conf
# BACKUP THE MONGODB DATABASE
#=================================================
sudo mongodump -o "$final_path/dump"
sudo mongodump -o "${backup_dir}/dump"

View file

@ -26,19 +26,23 @@ is_public=$YNH_APP_ARG_IS_PUBLIC
language=$YNH_APP_ARG_LANG
app=$YNH_APP_INSTANCE_NAME
user=$app
ROCKETCHAT_VERSION=0.57.2
NODE_VERSION=4.7.1
workdir=$(pwd)
# find suitable port (default 3000)
port=$(ynh_find_port 3000)
# Check domain/path availability
sudo yunohost app checkurl $domain -a $app
if [[ ! $? -eq 0 ]]; then
ynh_die "domain not available"
fi
final_path="/var/www/$app"
final_path="/var/lib/$app"
[[ -d $final_path ]] && ynh_die \
"The destination directory '$final_path' already exists.\
You should safely delete it before installing this app."
@ -47,6 +51,13 @@ final_path="/var/www/$app"
ynh_app_setting_set $app final_path $final_path
ynh_app_setting_set $app is_public $is_public
function waitforservice {
isup=false; x=45; while [ $x -gt 0 ];do echo "Waiting approx. $x seconds..."; \
x=$(( $x - 1 )); sleep 1; if $(curl -m 1 -s localhost:$port${path:-/}/api/v1/info | \
grep -e "success.*true" >/dev/null 2>&1); then isup=true; break; fi; done && if $isup; \
then echo "service is up"; else ynh_die "$app could not be started"; fi
}
#Install dependencies
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 >/dev/null
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
@ -60,17 +71,14 @@ sudo yunohost service add mongod -l /var/log/mongodb/mongod.log
sudo npm install -g n
sudo n $NODE_VERSION
# find suitable port (default 3000)
port=$(ynh_find_port 3000)
# Create destination
sudo mkdir -p $final_path
# Copy and set systemd configuration
sed -i "s@#ROOTURL#@$domain@g" ../conf/Rocketchat.service
sed -i "s@#LOCATION#@${path:-/}@g" ../conf/Rocketchat.service
sed -i "s@#PORT#@/$port@g" ../conf/Rocketchat.service
sudo cp ../conf/Rocketchat.service /etc/systemd/system/
sed -i "s@#ROOTURL#@$domain@g" ../conf/rocketchat.service
sed -i "s@#LOCATION#@${path:-/}@g" ../conf/rocketchat.service
sed -i "s@#PORT#@/$port@g" ../conf/rocketchat.service
sudo cp ../conf/rocketchat.service /etc/systemd/system/
sudo systemctl daemon-reload
# Copy and set nginx configuration
@ -92,32 +100,32 @@ cd $final_path/programs/server/
sudo npm install
cd $final_path/
cd $final_path
sudo chown -R www-data: $final_path
sudo useradd -d "$final_path" -M $user
sudo chown -R $user: $final_path
sudo service nginx reload
sudo chown -R $user: $final_path
sudo systemctl reload nginx
if [ "$is_public" = "Yes" ];
then
ynh_app_setting_set "$app" skipped_uris "/"
fi
sudo systemctl start Rocketchat.service
sudo systemctl enable Rocketchat.service
sudo systemctl start rocketchat.service
sudo systemctl enable rocketchat.service
# add Rocketchat to services
sudo yunohost service add Rocketchat
# add rocketchat to services
sudo yunohost service add rocketchat
# wait for rocketchat to populate db and start (oneliner has to be improved)
isup=false; x=45; while [ $x -gt 0 ];do echo "Waiting approx. $x seconds..."; \
x=$(( $x - 1 )); sleep 1; if $(curl -m 1 -s localhost:$port${path:-/}/api/v1/info | \
grep -e "success.*true" >/dev/null 2>%1); then isup=true; break; fi; done && if $isup; \
then echo "service is up"; else ynh_die "$app could not be started"; fi
# wait for rocketchat to populate db and start
waitforservice
cd $workdir
sudo mongo < $workdir/conf/rocketchat_ldap.js
sudo mongo < ../conf/rocketchat_ldap.js
sudo systemctl restart rocketchat.service
sudo systemctl restart Rocketchat.service
waitforservice
sudo yunohost app ssowatconf

View file

@ -11,16 +11,18 @@ source /usr/share/yunohost/helpers
app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get $app domain)
final_path=$(ynh_app_setting_get $app final_path)
sudo systemctl stop Rocketchat.service
sudo systemctl stop $app.service
# remove Rocketchat from services
sudo yunohost service remove Rocketchat
sudo yunohost service remove $app
sudo rm -rf /var/www/rocketchat
sudo rm -f /etc/nginx/conf.d/$domain.d/rocketchat.conf
sudo rm -rf /var/log/rocketchat/
sudo rm -f /etc/systemd/system/Rocketchat.service
sudo rm -rf $final_path
sudo rm -f /etc/nginx/conf.d/$domain.d/$app.conf
sudo rm -rf /var/log/$app
sudo rm -f /etc/systemd/system/$app.service
sudo userdel -r $app
sudo systemctl daemon-reload
sudo systemctl restart nginx
sudo systemctl reload nginx

View file

@ -54,4 +54,4 @@ ynh_restore_file "$final_path"
# RESTORE THE MONGODB
#=================================================
sudo mongorestore --dbpath /var/lib/mongo "$final_path/dump"
sudo mongorestore --dbpath /var/lib/mongodb ./dump