From 3d3913686526f4495cca6c0234ea06faf46b1bfe Mon Sep 17 00:00:00 2001 From: nemsia Date: Sun, 7 May 2017 23:22:41 +0200 Subject: [PATCH] Sync (#11) * [enh] Switch to tagged release * [enh] Switch to tagged release on upgrade * [fix] Restore pg dump Restore pg dump with mastodon user. * Change version on manifest * [fix] Change rm dump to ynh_secure_remove * [fix] Upgrade from 1.3.3 Fix error: Your local changes to the following files would be overwritten by merge: .babelrc .dockerignore .editorconfig .env.production.sample .gitignore .rubocop.yml .travis.yml Capfile Dockerfile README.md Vagrantfile .... * [fix] Owner of live * [fix] Reinstall dependencies on restore * Return to home * [fix] Jenkins upgrade error * Check .fonctions * Remove unneeded comment * Add apt lists to backup * Change .list name on backup * Copy Apt .lists on restore * version 1.3.3 on manifest * Remove admin instructions + TODO --- README.md | 38 ++++++++++++++++++++++---------------- manifest.json | 2 +- scripts/backup | 4 +++- scripts/remove | 6 ++++++ scripts/restore | 41 ++++++++++++++++++++++++++++++++++++----- scripts/upgrade | 6 +++--- 6 files changed, 71 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 1b295c4..2b4d9ea 100644 --- a/README.md +++ b/README.md @@ -21,19 +21,21 @@ Mastodon est un réseau social gratuit et open source. Une alternative décentra `$ sudo yunohost app install https://github.com/YunoHost-Apps/mastodon_ynh.git` -Une fois l'installation effectuée, vous pouvez créer un compte manuellement sur Mastodon depuis votre navigateur. Lorsque vous avez crée le premier utilisateur vous pouvez créer l'administrateur de votre Mastodon. Pour celà, il faut impérativement passer par une interface en ligne de commande et taper les commandes suivantes : +L'utilisateur admin est crée automatiquement comme: user@domain.tld -**se connecter en sudo sur l'utilisateur** +Une fois l'installation effectuée, vous pouvez créer un compte manuellement sur Mastodon depuis votre navigateur. Lorsque vous avez crée le premier utilisateur vous pouvez créer l'administrateur de votre Mastodon. Pour celà, il faut impérativement passer par une interface en ligne de commande et taper les commandes suivantes : -`$ sudo su mastodon` +**se connecter en sudo sur l'utilisateur** -**se placer dans le répertoire où est installé Mastodon** +`$ sudo su mastodon` -`$ cd /opt/mastodon/live` +**se placer dans le répertoire où est installé Mastodon** -**lancer la commande de création de l'administrateur** +`$ cd /opt/mastodon/live` -`$ RAILS_ENV=production bin/bundle exec rails mastodon:make_admin USERNAME=*Nom de votre utilisateur*` +**lancer la commande de création de l'administrateur** + +`$ RAILS_ENV=production bin/bundle exec rails mastodon:make_admin USERNAME=*Nom de votre utilisateur*` ### Mise à jour @@ -55,19 +57,21 @@ Mastodon is a free, open-source social network. A decentralized alternative to c `$ sudo yunohost app install https://github.com/YunoHost-Apps/mastodon_ynh.git` -After installation, you can create an account manually on Mastodon from your browser. When you have created the first user you can create the administrator of your Mastodon. For this, it is imperative to go through a command line and type the following commands: +The admin user is automatically created as: user@domain.tld -**sudo to the user** +After installation, you can create an account manually on Mastodon from your browser. When you have created the first user you can create the administrator of your Mastodon. For this, it is imperative to go through a command line and type the following commands: -`$ sudo su mastodon` +**sudo to the user** -**change directory where Mastodon is installed** +`$ sudo su mastodon` -`$ cd /opt/mastodon/live` +**change directory where Mastodon is installed** -**launch the command to create the administrator** +`$ cd /opt/mastodon/live` -`$ RAILS_ENV=production bin/bundle exec rails mastodon:make_admin USERNAME=*username*` +**launch the command to create the administrator** + +`$ RAILS_ENV=production bin/bundle exec rails mastodon:make_admin USERNAME=*username*` ### Update @@ -83,5 +87,7 @@ It seems important to close the inscriptions for your Mastodon, so that it remai - [x] Fix upgrade - [x] [Create automatic user](https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Administration-guide.md#creating-users-while-registration-is-closed) -- [ ] Fix restore -- [ ] Install from a release \ No newline at end of file +- [x] Fix restore +- [x] Install from a release +- [ ] Tune [Create automatic user](https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Administration-guide.md#creating-users-while-registration-is-closed) +- [ ] Fix errors on jenkins diff --git a/manifest.json b/manifest.json index 8b93539..fa2886b 100644 --- a/manifest.json +++ b/manifest.json @@ -9,7 +9,7 @@ "en": "Mastodon is a free, open-source social network.", "fr": "Mastodon est un réseau social gratuit et open source." }, - "version": "1.1.1", + "version": "1.3.3", "url": "https://github.com/tootsuite/mastodon", "license": "AGPL v3.0", "maintainer": { diff --git a/scripts/backup b/scripts/backup index bb90997..cc94aa4 100644 --- a/scripts/backup +++ b/scripts/backup @@ -29,10 +29,12 @@ ynh_backup "/etc/cron.d/${app}" "cron.conf" ynh_backup "/etc/systemd/system/mastodon-web.service" "systemd_web.service" ynh_backup "/etc/systemd/system/mastodon-sidekiq.service" "systemd_sidekiq.service" ynh_backup "/etc/systemd/system/mastodon-streaming.service" "systemd_streaming.service" +ynh_backup "/etc/apt/sources.list.d/backports.list" "apt_backports.list" +ynh_backup "/etc/apt/sources.list.d/yarn.list" "apt_yarn.list" # Backup db sudo su - postgres < mastodon_db.sql COMMANDS ynh_backup "/var/lib/postgresql/${app}_db.sql" "${app}_db.sql" -ynh_secure_remove /var/lib/postgresql/mastodon_db.sql \ No newline at end of file +ynh_secure_remove /var/lib/postgresql/mastodon_db.sql diff --git a/scripts/remove b/scripts/remove index 373d028..1b2c405 100644 --- a/scripts/remove +++ b/scripts/remove @@ -3,6 +3,12 @@ # Exit on command errors and treat unset variables as an error set -u +if [ ! -e .fonctions ]; then + # Get file fonction if not been to the current directory + sudo cp ../settings/scripts/.fonctions ./.fonctions + sudo chmod a+rx .fonctions +fi + source .fonctions # Loads the generic functions usually used in the script # Source app helpers source /usr/share/yunohost/helpers diff --git a/scripts/restore b/scripts/restore index 946a62b..3a2eeaf 100644 --- a/scripts/restore +++ b/scripts/restore @@ -65,6 +65,39 @@ fi # Create user unix sudo adduser $app --home /opt/$app --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password --disabled-login +# Reinstall dependencies + # Install debian package + ynh_package_install imagemagick libpq-dev libxml2-dev libxslt1-dev file curl apt-transport-https + + # Install redis package + ynh_package_install redis-server redis-tools + + # Install postgresql + ynh_package_install postgresql postgresql-contrib + + # Install Ruby + ynh_package_install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev + + # Install source.list debian package backports & yarn + sudo cp ./apt_backports.list /etc/apt/sources.list.d/backports.list + sudo curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - + sudo cp ./apt_yarn.list /etc/apt/sources.list.d/yarn.list + ynh_package_update + + # Install debian package backports + sudo apt-get -t jessie-backports -y install ffmpeg + + # Install de Node.js + pushd /opt + curl -sL https://deb.nodesource.com/setup_4.x | sudo bash - + sudo apt-get -y install nodejs + + # Install Yarn + ynh_package_install yarn + + # Return to home + popd + # Restore sources & data sudo cp -a ./sources/. "$final_path" @@ -74,8 +107,6 @@ sudo chown -R $app: "$final_path" # Debug sudo ls -alh "$final_path" -# Change directory for create user & database postgresql - # Set UTF8 encoding by default sudo su -c "psql" postgres <<< \ "update pg_database set datistemplate='false' where datname='template1';" @@ -102,11 +133,11 @@ RAILS_ENV=production bin/bundle exec rails db:migrate RAILS_ENV=production bin/bundle exec rails assets:precompile RCOMMANDS -# copy database +# copy database dump sudo cp $YNH_APP_BACKUP_DIR/mastodon_db.sql $final_path sudo chmod a+r $final_path/mastodon_db.sql -# Restore database +# Restore database dump sudo su - $app <