1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/mastodon_ynh.git synced 2024-09-03 19:46:02 +02:00

Merge remote-tracking branch 'refs/remotes/magikcypress/master'

# Conflicts:
#	scripts/install
This commit is contained in:
nemsia 2017-04-11 14:27:49 +02:00
commit 8f906508aa
7 changed files with 70 additions and 5 deletions

1
conf/yarn.list Normal file
View file

@ -0,0 +1 @@
deb https://dl.yarnpkg.com/debian/ stable main

View file

@ -89,6 +89,27 @@ FIND_PORT () { # Search free port
CHECK_VAR "$port" "port empty" CHECK_VAR "$port" "port empty"
} }
SETUP_SOURCE () { # Download source, decompress and copu into $final_path
src=$(cat ../sources/source_md5 | awk -F' ' {'print $2'})
sudo wget -nv -i ../sources/source_url -O $src
# Checks the checksum of the downloaded source.
# md5sum -c ../sources/source_md5 --status || ynh_die "Corrupt source"
# Decompress source
if [ "$(echo ${src##*.})" == "tgz" ]; then
tar -x -f $src
elif [ "$(echo ${src##*.})" == "zip" ]; then
unzip -q $src
else
false # Unsupported archive format.
fi
# Copy file source
sudo cp -a $(cat ../sources/source_dir)/. "$final_path/live"
# Copy additional file and modified
if test -e "../sources/ajouts"; then
sudo cp -a ../sources/ajouts/. "$final_path"
fi
}
### REMOVE SCRIPT ### REMOVE SCRIPT
@ -182,6 +203,15 @@ ynh_psql_create_db() {
} }
# Drop a role
#
# usage: ynh_mysql_drop_role db
# | arg: db - the database name to drop
ynh_psql_drop_role() {
sudo su -c "psql" postgres <<< \
"DROP ROLE ${1};"
}
# Drop a database # Drop a database
# #
# usage: ynh_mysql_drop_db db # usage: ynh_mysql_drop_db db

View file

@ -65,6 +65,7 @@ curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
sudo apt-get -y install nodejs sudo apt-get -y install nodejs
sudo npm install -g yarn sudo npm install -g yarn
<<<<<<< HEAD
# Set UTF8 encoding by default # Set UTF8 encoding by default
sudo su -c "psql" postgres <<< \ sudo su -c "psql" postgres <<< \
"update pg_database set datistemplate='false' where datname='template1';"\ "update pg_database set datistemplate='false' where datname='template1';"\
@ -73,19 +74,34 @@ sudo su -c "psql" postgres <<< \
"update pg_database set datistemplate='true' where datname='template1';" "update pg_database set datistemplate='true' where datname='template1';"
# Create DB user mastodon # Create DB user mastodon
=======
# Create DB without password
sudo systemctl restart postgresql
>>>>>>> refs/remotes/magikcypress/master
ynh_psql_create_db_without_password "$app" ynh_psql_create_db_without_password "$app"
# Download all Ruby source # Download all Ruby source
sudo git clone https://github.com/rbenv/rbenv.git $final_path/.rbenv sudo git clone https://github.com/rbenv/rbenv.git $final_path/.rbenv
sudo git clone https://github.com/rbenv/ruby-build.git $final_path/.rbenv/plugins/ruby-build sudo git clone https://github.com/rbenv/ruby-build.git $final_path/.rbenv/plugins/ruby-build
<<<<<<< HEAD
sudo git clone https://github.com/tootsuite/mastodon.git $final_path/live sudo git clone https://github.com/tootsuite/mastodon.git $final_path/live
=======
# Be king rewind (/var/cache/yunohost/from_file/scripts)
popd
# Get Mastodon last version
sudo mkdir "${final_path}/live"
SETUP_SOURCE
>>>>>>> refs/remotes/magikcypress/master
sudo chown -R $app: "${final_path}" sudo chown -R $app: "${final_path}"
# Install de rbenv # Install de rbenv
sudo su - $app <<COMMANDS sudo su - $app <<COMMANDS
pushd ~/.rbenv pushd ~/.rbenv
src/configure && make -C src src/configure && make -C src
echo 'export PATH="/opt/mastodon/.rbenv/bin:/opt/mastodon/live/bin:$PATH"' >> ~/.profile
echo 'export PATH="/opt/mastodon/.rbenv/bin:/opt/mastodon/live/bin:$PATH"' >> ~/.bashrc echo 'export PATH="/opt/mastodon/.rbenv/bin:/opt/mastodon/live/bin:$PATH"' >> ~/.bashrc
echo 'eval "\$(rbenv init -)"' >> ~/.bashrc echo 'eval "\$(rbenv init -)"' >> ~/.bashrc
COMMANDS COMMANDS
@ -99,7 +115,7 @@ RCOMMANDS
# Create symlink for ruby # Create symlink for ruby
sudo ln -s /opt/mastodon/.rbenv/versions/2.4.1/bin/ruby /usr/bin/ruby || true sudo ln -s /opt/mastodon/.rbenv/versions/2.4.1/bin/ruby /usr/bin/ruby || true
# # Install Mastodon # Install Mastodon
sudo su - $app <<MCOMMANDS sudo su - $app <<MCOMMANDS
pushd ~/live pushd ~/live
/opt/mastodon/.rbenv/versions/2.4.1/bin/gem install bundler /opt/mastodon/.rbenv/versions/2.4.1/bin/gem install bundler
@ -107,6 +123,12 @@ bin/bundle install --deployment --without development test
yarn install yarn install
MCOMMANDS MCOMMANDS
# Vérif Mastodon
sudo su - $app <<VCOMMANDS
pushd ~
type rbenv
VCOMMANDS
# Adjust Mastodon config # Adjust Mastodon config
pushd $final_path/live/ pushd $final_path/live/
sudo cp -a .env.production.sample .env.production sudo cp -a .env.production.sample .env.production
@ -126,16 +148,20 @@ sudo sed -i 's,SMTP_FROM_ADDRESS=notifications@example.com,SMTP_FROM_ADDRESS='${
# Create database # Create database
# Preconfig CSS & JS # Preconfig CSS & JS
# Create admin user
# Create confirm email sudo su - $app <<CCOMMANDS
sudo su - $app <<ENDCOMMANDS
pushd ~/live pushd ~/live
RAILS_ENV=production bin/bundle exec rails db:setup RAILS_ENV=production bin/bundle exec rails db:setup
RAILS_ENV=production bin/bundle exec rails assets:precompile RAILS_ENV=production bin/bundle exec rails assets:precompile
ENDCOMMANDS CCOMMANDS
# Create admin user
# Create confirm email
sudo su - $app <<ACOMMANDS
pushd ~/live
# RAILS_ENV=production bin/bundle exec rails mastodon:make_admin USERNAME=$admin_mastodon # RAILS_ENV=production bin/bundle exec rails mastodon:make_admin USERNAME=$admin_mastodon
# RAILS_ENV=production bin/bundle exec rails mastodon:confirm_email USER_EMAIL=$admin_mastodon@$domain # RAILS_ENV=production bin/bundle exec rails mastodon:confirm_email USER_EMAIL=$admin_mastodon@$domain
ACOMMANDS
# Add Services # Add Services
pushd /var/cache/yunohost/from_file/mastodon_ynh-master/scripts pushd /var/cache/yunohost/from_file/mastodon_ynh-master/scripts
@ -183,6 +209,10 @@ fi
sudo yunohost app ssowatconf sudo yunohost app ssowatconf
# Reload Nginx # Reload Nginx
<<<<<<< HEAD
sudo systemctl reload nginx || true sudo systemctl reload nginx || true
# debug # debug
sudo systemctl status nginx sudo systemctl status nginx
=======
sudo systemctl reload nginx
>>>>>>> refs/remotes/magikcypress/master

View file

@ -60,6 +60,7 @@ fi
# delete postgresql database & user # delete postgresql database & user
ynh_psql_drop_db "${app}_production" ynh_psql_drop_db "${app}_production"
ynh_psql_drop_role "${app}"
# Remove Debian package # Remove Debian package
#sudo apt-get remove --purge -y imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file curl git #sudo apt-get remove --purge -y imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file curl git

1
sources/source_dir Normal file
View file

@ -0,0 +1 @@
mastodon-1.1.1

1
sources/source_md5 Normal file
View file

@ -0,0 +1 @@
4bfc3fc2ccc27cc88505cfc0dfb74cac v1.1.1.zip

1
sources/source_url Normal file
View file

@ -0,0 +1 @@
https://github.com/tootsuite/mastodon/archive/v1.1.1.zip