diff --git a/README.md b/README.md index 42f35e6..24713fe 100644 --- a/README.md +++ b/README.md @@ -18,21 +18,25 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Glitch-Soc, a fork of Mastodon, is a free, open-source microblogging social network. It is a decentralized alternative to commercial platforms like Twitter and avoids the risks of a single company monopolizing your communication for commercial purposes. -**Shipped version:** 2022.01.31~ynh1 +**Shipped version:** 2022.02.12~ynh1 ## Disclaimers / important information -Glitch-Soc is beta software, and under active development. Use at your own risk! +⚠️ Glitch-Soc is beta software, and under active development. Use at your own risk! * This app require a dedicated domain or subdomain. * The user choosen during the installation is created in Glitch-Soc with admin rights. -LDAP authentication and SSO are activated. All YunoHost users can authenticate. Log-out from YunoHost's portal doesn't log-out from Glitch-Soc. See https://github.com/YunoHost/issues/issues/501 +LDAP authentication and SSO are enabled. All YunoHost users can authenticate. We invite you to block remote malicious instances from the administration interface. You can also add text on your home page. +### Known issues + +* When logged in with SSO, log-out from YunoHost's portal don't log-out from Glitch-Soc. See https://github.com/YunoHost/issues/issues/501 + ## Documentation and resources * Official app website: https://glitch-soc.github.io/docs/ diff --git a/README_fr.md b/README_fr.md index 14e5ce1..3f98063 100644 --- a/README_fr.md +++ b/README_fr.md @@ -14,7 +14,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Glitch-Soc, une scission de Mastodon, est un réseau social de microblog auto-hébergé et open source. C'est une alternative décentralisée aux plates-formes commerciales comme Twitter. Glitch-Soc évite ainsi les risques qu'une seule société monopolise votre communication à des fins commerciales. -**Version incluse :** 2022.01.31~ynh1 +**Version incluse :** 2022.02.12~ynh1 @@ -25,10 +25,14 @@ Glitch-Soc est en constant développement, fournis avec les dernières fonctionn * L'application a besoin d'un domaine dédié. * L'utilisateur⋅ice choisi⋅es lors de l'installation sera administrateur⋅ice de l'instance. Il est possible d'en ajouter d'autre depuis l'application. -L'authentification par LDAP et le Single-Sign-On sont activés pour les utilisateur⋅ices YunoHost. Se déconnecter depuis le portail YunoHost ne vous déconnecte pas de Glitch-Soc. Voir https://github.com/YunoHost/issues/issues/501 +L'authentification par LDAP et le Single-Sign-On sont activés pour les utilisateur⋅ices YunoHost. Nous vous invitons à bloquer les instances malveillantes depuis l'interface d'administration. Vous pouvez également ajouter du texte sur votre page d'accueil. +### Problèmes connus + +* En se connectant via le SSO, se déconnecter depuis le portail YunoHost ne vous déconnecte pas de Glitch-Soc. Voir https://github.com/YunoHost/issues/issues/501 + ## Documentations et ressources * Site officiel de l'app : https://glitch-soc.github.io/docs/ diff --git a/conf/app.src b/conf/app.src index d9de131..7ddf3af 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/glitch-soc/mastodon/archive/d6f3261c6cb810ea4eb6f74b9ee62af0d94cbd52.tar.gz -SOURCE_SUM=08d8cae74216d055249bff0ea88d19fa7e67db08c8bfec07bc7d49aba28ba0da +SOURCE_URL=https://github.com/glitch-soc/mastodon/archive/6f78c66fe01921a4e7e01aa6e2386a5fce7f3afd.tar.gz +SOURCE_SUM=2cc0847a8e276a72530959ff783318dc20688057a76983a1c1ce60d13ca72222 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true -SOURCE_FILENAME=d6f3261c6cb810ea4eb6f74b9ee62af0d94cbd52.tar.gz +SOURCE_FILENAME=6f78c66fe01921a4e7e01aa6e2386a5fce7f3afd.tar.gz SOURCE_EXTRACT=true diff --git a/conf/cron b/conf/cron index 710e7f0..2fcdff0 100644 --- a/conf/cron +++ b/conf/cron @@ -1,5 +1,5 @@ -@daily cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ RAILS_ENV=production bin/tootctl media remove -@monthly cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ RAILS_ENV=production bin/tootctl media remove-orphans -@monthly cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ RAILS_ENV=production bin/tootctl accounts cull -@monthly cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ RAILS_ENV=production bin/tootctl statuses remove -@monthly cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ RAILS_ENV=production bin/tootctl preview_cards remove +@daily __APP__ cd __FINAL_PATH__/live && __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl media remove +@monthly __APP__ cd __FINAL_PATH__/live && __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl media remove-orphans +@monthly __APP__ cd __FINAL_PATH__/live && __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl accounts cull +@monthly __APP__ cd __FINAL_PATH__/live && __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl statuses remove +@monthly __APP__ cd __FINAL_PATH__/live && __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl preview_cards remove diff --git a/conf/glitchsoc-sidekiq.service b/conf/glitchsoc-sidekiq.service index f91b7b9..47fe663 100644 --- a/conf/glitchsoc-sidekiq.service +++ b/conf/glitchsoc-sidekiq.service @@ -6,6 +6,7 @@ After=network.target Type=simple User=__APP__ WorkingDirectory=__FINALPATH__/live +Environment="__LD_PRELOAD__" Environment="RAILS_ENV=production" Environment="DB_POOL=25" Environment="MALLOC_ARENA_MAX=2" diff --git a/conf/glitchsoc-web.service b/conf/glitchsoc-web.service index 24ab72a..42f5135 100644 --- a/conf/glitchsoc-web.service +++ b/conf/glitchsoc-web.service @@ -6,6 +6,7 @@ After=network.target Type=simple User=__APP__ WorkingDirectory=__FINALPATH__/live + Environment="RAILS_ENV=production" Environment="PORT=__PORT_WEB__" ExecStart=__RBENV_ROOT__/versions/__APP__/bin/bundle exec puma -C config/puma.rb diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index 68ea8e2..a011c53 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,8 +1,12 @@ -Glitch-Soc is beta software, and under active development. Use at your own risk! +⚠️ Glitch-Soc is beta software, and under active development. Use at your own risk! * This app require a dedicated domain or subdomain. * The user choosen during the installation is created in Glitch-Soc with admin rights. -LDAP authentication and SSO are activated. All YunoHost users can authenticate. Log-out from YunoHost's portal doesn't log-out from Glitch-Soc. See https://github.com/YunoHost/issues/issues/501 +LDAP authentication and SSO are enabled. All YunoHost users can authenticate. We invite you to block remote malicious instances from the administration interface. You can also add text on your home page. + +### Known issues + +* When logged in with SSO, log-out from YunoHost's portal don't log-out from Glitch-Soc. See https://github.com/YunoHost/issues/issues/501 diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 1e51726..f670d99 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -3,6 +3,10 @@ Glitch-Soc est en constant développement, fournis avec les dernières fonctionn * L'application a besoin d'un domaine dédié. * L'utilisateur⋅ice choisi⋅es lors de l'installation sera administrateur⋅ice de l'instance. Il est possible d'en ajouter d'autre depuis l'application. -L'authentification par LDAP et le Single-Sign-On sont activés pour les utilisateur⋅ices YunoHost. Se déconnecter depuis le portail YunoHost ne vous déconnecte pas de Glitch-Soc. Voir https://github.com/YunoHost/issues/issues/501 +L'authentification par LDAP et le Single-Sign-On sont activés pour les utilisateur⋅ices YunoHost. Nous vous invitons à bloquer les instances malveillantes depuis l'interface d'administration. Vous pouvez également ajouter du texte sur votre page d'accueil. + +### Problèmes connus + +* En se connectant via le SSO, se déconnecter depuis le portail YunoHost ne vous déconnecte pas de Glitch-Soc. Voir https://github.com/YunoHost/issues/issues/501 diff --git a/manifest.json b/manifest.json index 94e965c..7ab5867 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Libre and federated social network, fork of Mastodon", "fr": "Réseau social libre et fédéré, scission de Mastodon" }, - "version": "2022.01.31~ynh1", + "version": "2022.02.12~ynh1", "url": "https://github.com/glitch-soc/mastodon", "upstream": { "license": "free", diff --git a/scripts/_common.sh b/scripts/_common.sh index 8d24a71..ed70fab 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -13,6 +13,28 @@ RUBY_VERSION="3.0.3" NODEJS_VERSION="12" +# Workaround for Mastodon on Bullseye +# See https://github.com/mastodon/mastodon/issues/15751#issuecomment-873594463 +if [ "$(lsb_release --codename --short)" = "bullseye" ]; then + case $YNH_ARCH in + amd64) + arch="x86_64" + ;; + arm64) + arch="aarch64" + ;; + armel|armhf) + arch="arm" + ;; + i386) + arch="i386" + ;; + esac + ld_preload="LD_PRELOAD=/usr/lib/$arch-linux-gnu/libjemalloc.so" +else + ld_preload="" +fi + #================================================= # PERSONAL HELPERS #================================================= diff --git a/scripts/install b/scripts/install index 9950dfa..8e6dec7 100644 --- a/scripts/install +++ b/scripts/install @@ -224,17 +224,17 @@ ynh_add_systemd_config --service="$app-streaming" --template="glitchsoc-streamin ynh_script_progression --message="Installing Glitch-Soc..." --weight=30 pushd "$final_path/live" - ynh_exec_as $app $ynh_ruby_load_path bin/bundle config deployment 'true' - ynh_exec_as $app $ynh_ruby_load_path bin/bundle config without 'development test' - ynh_exec_as $app $ynh_ruby_load_path bin/bundle install -j$(getconf _NPROCESSORS_ONLN) + ynh_exec_as $app $ynh_ruby_load_path $ld_preload bin/bundle config deployment 'true' + ynh_exec_as $app $ynh_ruby_load_path $ld_preload bin/bundle config without 'development test' + ynh_exec_as $app $ynh_ruby_load_path $ld_preload bin/bundle install -j$(getconf _NPROCESSORS_ONLN) ynh_use_nodejs ynh_exec_warn_less ynh_exec_as $app $ynh_node_load_PATH yarn install --pure-lockfile echo "SAFETY_ASSURED=1">> $config - ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path bin/bundle exec rails db:setup --quiet - ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path bin/bundle exec rails assets:precompile --quiet - ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path bin/bundle exec rake mastodon:webpush:generate_vapid_key > key.txt - ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path bin/tootctl accounts create "$admin" --email="$admin_mail" --confirmed --role=admin > /dev/null - ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path bin/tootctl accounts modify "$admin" --approve + ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path $ld_preload bin/bundle exec rails db:setup --quiet + ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path $ld_preload bin/bundle exec rails assets:precompile --quiet + ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path $ld_preload bin/bundle exec rake mastodon:webpush:generate_vapid_key > key.txt + ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path $ld_preload bin/tootctl accounts create "$admin" --email="$admin_mail" --confirmed --role=admin > /dev/null + ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path $ld_preload bin/tootctl accounts modify "$admin" --approve popd vapid_private_key=$(grep -oP "VAPID_PRIVATE_KEY=\K.+" "$final_path/live/key.txt") diff --git a/scripts/upgrade b/scripts/upgrade index 692a6d2..d5d07e4 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -337,15 +337,15 @@ then ynh_script_progression --message="Upgrading Glitch-Soc..." --weight=30 pushd "$final_path/live" - ynh_exec_as $app $ynh_ruby_load_path bin/bundle config deployment 'true' - ynh_exec_as $app $ynh_ruby_load_path bin/bundle config without 'development test' - ynh_exec_as $app $ynh_ruby_load_path bin/bundle install -j$(getconf _NPROCESSORS_ONLN) + ynh_exec_as $app $ynh_ruby_load_path $ld_preload bin/bundle config deployment 'true' + ynh_exec_as $app $ynh_ruby_load_path $ld_preload bin/bundle config without 'development test' + ynh_exec_as $app $ynh_ruby_load_path $ld_preload bin/bundle install -j$(getconf _NPROCESSORS_ONLN) ynh_use_nodejs ynh_exec_as $app $ynh_node_load_PATH yarn install --pure-lockfile - ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path bin/bundle exec rails assets:clean - ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path bin/bundle exec rails assets:precompile - ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path bin/bundle exec rails db:migrate - ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path bin/tootctl cache clear + ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path $ld_preload bin/bundle exec rails assets:clean + ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path $ld_preload bin/bundle exec rails assets:precompile + ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path $ld_preload bin/bundle exec rails db:migrate + ynh_exec_warn_less ynh_exec_as $app RAILS_ENV=production $ynh_ruby_load_path $ld_preload bin/tootctl cache clear popd fi