diff options
| author | yalh76 <yalh@yahoo.com> | 2022-01-28 20:28:33 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-28 20:28:33 +0100 |
| commit | b2e89a55dfa2102faf300d95d615f9f3ac1aac5b (patch) | |
| tree | 419564b62f0afe08d88a5528e825ba899c86ecfc | |
| parent | 0becd5049e4f5858c79e012934d557dbaa8706a6 (diff) | |
| parent | 952642c6c3702080b04ef13867240d22de77b6e2 (diff) | |
| download | mastodon_ynh-b2e89a55dfa2102faf300d95d615f9f3ac1aac5b.tar.gz mastodon_ynh-b2e89a55dfa2102faf300d95d615f9f3ac1aac5b.tar.bz2 mastodon_ynh-b2e89a55dfa2102faf300d95d615f9f3ac1aac5b.zip | |
Merge pull request #299 from Tagadda/fix-bullseye
[enh] Workaround for bullseye
| -rw-r--r-- | conf/cron | 10 | ||||
| -rw-r--r-- | conf/mastodon-sidekiq.service | 1 | ||||
| -rw-r--r-- | conf/mastodon-web.service | 1 | ||||
| -rw-r--r-- | scripts/_common.sh | 22 | ||||
| -rw-r--r-- | scripts/install | 16 | ||||
| -rw-r--r-- | scripts/upgrade | 14 |
6 files changed, 44 insertions, 20 deletions
@@ -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 cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl media remove +@monthly cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl media remove-orphans +@monthly cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl accounts cull +@monthly cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl statuses remove +@monthly cd __FINAL_PATH__/live && sudo -u __APP__ __YNH_RUBY_LOAD_PATH__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl preview_cards remove diff --git a/conf/mastodon-sidekiq.service b/conf/mastodon-sidekiq.service index f91b7b9..47fe663 100644 --- a/conf/mastodon-sidekiq.service +++ b/conf/mastodon-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/mastodon-web.service b/conf/mastodon-web.service index 24ab72a..edf41f7 100644 --- a/conf/mastodon-web.service +++ b/conf/mastodon-web.service @@ -6,6 +6,7 @@ After=network.target Type=simple User=__APP__ WorkingDirectory=__FINALPATH__/live +Environment="__LD_PRELOAD__" Environment="RAILS_ENV=production" Environment="PORT=__PORT_WEB__" ExecStart=__RBENV_ROOT__/versions/__APP__/bin/bundle exec puma -C config/puma.rb diff --git a/scripts/_common.sh b/scripts/_common.sh index c861376..168251c 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -13,6 +13,28 @@ RUBY_VERSION="2.7.2" 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 3100891..696d59e 100644 --- a/scripts/install +++ b/scripts/install @@ -204,17 +204,17 @@ ynh_add_systemd_config --service="$app-streaming" --template="mastodon-streaming ynh_script_progression --message="Installing Mastodon..." 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 ea95ffa..1c24a62 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -270,15 +270,15 @@ ynh_add_systemd_config --service="$app-streaming" --template="mastodon-streaming ynh_script_progression --message="Upgrading Mastodon..." 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 #================================================= |
