Merge branch 'testing' into pr/466
This commit is contained in:
commit
192d0fa483
10 changed files with 44 additions and 85 deletions
|
|
@ -12,7 +12,7 @@ Libre and federated social network
|
|||
|
||||
[](https://joinmastodon.org/)
|
||||
[](https://joinmastodon.org/)
|
||||
[?style=for-the-badge)](https://ci-apps.yunohost.org/ci/apps/mastodon/)
|
||||
[?style=for-the-badge)](https://ci-apps.yunohost.org/ci/apps/mastodon/)
|
||||
|
||||
<div align="center">
|
||||
<a href="https://apps.yunohost.org/app/mastodon"><img height="100px" src="https://github.com/YunoHost/yunohost-artwork/raw/refs/heads/main/badges/neopossum-badges/badge_more_info_on_the_appstore.svg"/></a>
|
||||
|
|
|
|||
10
conf/cron
10
conf/cron
|
|
@ -1,7 +1,7 @@
|
|||
# This is a system cron file, see crontab(5)
|
||||
# m h dom mon dow user command
|
||||
@daily __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl media remove
|
||||
@monthly __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl media remove-orphans
|
||||
@monthly __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl accounts cull
|
||||
@monthly __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl statuses remove
|
||||
@monthly __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ __LD_PRELOAD__ RAILS_ENV=production bin/tootctl preview_cards remove
|
||||
@daily __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ LD_PRELOAD=libjemalloc.so RAILS_ENV=production bin/tootctl media remove
|
||||
@monthly __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ LD_PRELOAD=libjemalloc.so RAILS_ENV=production bin/tootctl media remove-orphans
|
||||
@monthly __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ LD_PRELOAD=libjemalloc.so RAILS_ENV=production bin/tootctl accounts cull
|
||||
@monthly __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ LD_PRELOAD=libjemalloc.so RAILS_ENV=production bin/tootctl statuses remove
|
||||
@monthly __APP__ cd __INSTALL_DIR__/live && PATH=__PATH_WITH_RUBY__ LD_PRELOAD=libjemalloc.so RAILS_ENV=production bin/tootctl preview_cards remove
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ WorkingDirectory=__INSTALL_DIR__/live
|
|||
Environment="RAILS_ENV=production"
|
||||
Environment="DB_POOL=25"
|
||||
Environment="MALLOC_ARENA_MAX=2"
|
||||
Environment="__LD_PRELOAD__"
|
||||
Environment="LD_PRELOAD=libjemalloc.so"
|
||||
Environment="PATH=__PATH_WITH_RUBY__"
|
||||
ExecStart=__INSTALL_DIR__/live/bin/bundle exec sidekiq -c 25
|
||||
TimeoutSec=15
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ User=__APP__
|
|||
WorkingDirectory=__INSTALL_DIR__/live
|
||||
Environment="RAILS_ENV=production"
|
||||
Environment="PORT=__PORT_WEB__"
|
||||
Environment="__LD_PRELOAD__"
|
||||
Environment="LD_PRELOAD=libjemalloc.so"
|
||||
Environment="PATH=__PATH_WITH_RUBY__"
|
||||
ExecStart=__INSTALL_DIR__/live/bin/bundle exec puma -C config/puma.rb
|
||||
ExecReload=/bin/kill -SIGUSR1 $MAINPID
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ name = "Mastodon"
|
|||
description.en = "Libre and federated social network"
|
||||
description.fr = "Réseau social libre et fédéré"
|
||||
|
||||
version = "4.4.3~ynh1"
|
||||
version = "4.4.5~ynh1"
|
||||
|
||||
maintainers = []
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ cpe = "cpe:2.3:a:joinmastodon:mastodon"
|
|||
fund = "https://joinmastodon.org/sponsors"
|
||||
|
||||
[integration]
|
||||
yunohost = ">= 12.0.10"
|
||||
yunohost = ">= 12.1.17"
|
||||
helpers_version = "2.1"
|
||||
architectures = "all"
|
||||
multi_instance = true
|
||||
|
|
@ -52,8 +52,8 @@ ram.runtime = "500M"
|
|||
[resources]
|
||||
[resources.sources]
|
||||
[resources.sources.main]
|
||||
url = "https://github.com/mastodon/mastodon/archive/refs/tags/v4.4.3.tar.gz"
|
||||
sha256 = "ede116b80a525462f5ea68d046a4cdd787930fc6d2f9327c140756311ee07848"
|
||||
url = "https://github.com/mastodon/mastodon/archive/refs/tags/v4.4.5.tar.gz"
|
||||
sha256 = "add9ee5caae722549a2f7ed2129ecaed0945a1b2f942afbdbb7bd8ab73961fe6"
|
||||
autoupdate.strategy = "latest_github_release"
|
||||
|
||||
[resources.sources.redis_migration]
|
||||
|
|
@ -67,7 +67,8 @@ ram.runtime = "500M"
|
|||
allow_email = true
|
||||
|
||||
[resources.install_dir]
|
||||
|
||||
group = "www-data:r-x"
|
||||
|
||||
[resources.permissions]
|
||||
main.url = "/"
|
||||
|
||||
|
|
@ -86,3 +87,9 @@ ram.runtime = "500M"
|
|||
|
||||
[resources.database]
|
||||
type = "postgresql"
|
||||
|
||||
[resources.nodejs]
|
||||
version = "22"
|
||||
|
||||
[resources.ruby]
|
||||
version = "3.4.5"
|
||||
|
|
|
|||
|
|
@ -5,23 +5,3 @@
|
|||
#=================================================
|
||||
|
||||
memory_needed="2560"
|
||||
ruby_version="3.4.5"
|
||||
nodejs_version="22"
|
||||
|
||||
case $YNH_ARCH in
|
||||
amd64)
|
||||
ld_preload="LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so"
|
||||
;;
|
||||
arm64)
|
||||
ld_preload="LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libjemalloc.so"
|
||||
;;
|
||||
armhf)
|
||||
ld_preload="LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libjemalloc.so"
|
||||
;;
|
||||
armel)
|
||||
ld_preload="LD_PRELOAD=/usr/lib/arm-linux-gnueabi/libjemalloc.so"
|
||||
;;
|
||||
i386)
|
||||
ld_preload="LD_PRELOAD=/usr/lib/i386-linux-gnu/libjemalloc.so"
|
||||
;;
|
||||
esac
|
||||
|
|
|
|||
|
|
@ -7,14 +7,6 @@ admin_mail=$(ynh_user_get_info --username=$admin --key=mail)
|
|||
# Set `service` settings to support `yunohost app shell` command
|
||||
ynh_app_setting_set --key=service --value="$app-web.service"
|
||||
|
||||
#=================================================
|
||||
# INSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression "Installing Ruby and NodeJS..."
|
||||
|
||||
ynh_ruby_install
|
||||
ynh_nodejs_install
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
#=================================================
|
||||
|
|
@ -79,19 +71,19 @@ ynh_script_progression "Building app..."
|
|||
pushd "$install_dir/live"
|
||||
gem update --system
|
||||
gem install bundler --no-document
|
||||
ynh_hide_warnings ynh_exec_as_app $ld_preload bin/bundle config deployment 'true'
|
||||
ynh_hide_warnings ynh_exec_as_app $ld_preload bin/bundle config without 'development test'
|
||||
ynh_hide_warnings ynh_exec_as_app $ld_preload bin/bundle config set force_ruby_platform true --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app $ld_preload bin/bundle install -j$(getconf _NPROCESSORS_ONLN)
|
||||
ynh_hide_warnings ynh_exec_as_app LD_PRELOAD=libjemalloc.so bin/bundle config deployment 'true'
|
||||
ynh_hide_warnings ynh_exec_as_app LD_PRELOAD=libjemalloc.so bin/bundle config without 'development test'
|
||||
ynh_hide_warnings ynh_exec_as_app LD_PRELOAD=libjemalloc.so bin/bundle config set force_ruby_platform true --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app LD_PRELOAD=libjemalloc.so bin/bundle install -j$(getconf _NPROCESSORS_ONLN)
|
||||
|
||||
env corepack enable
|
||||
echo Y | ynh_hide_warnings ynh_exec_as_app yarn workspaces focus --production
|
||||
ynh_hide_warnings ynh_exec_as_app yarn install --immutable
|
||||
echo Y | ynh_exec_as_app yarn workspaces focus --production
|
||||
ynh_exec_as_app yarn install --immutable
|
||||
echo "SAFETY_ASSURED=1">> $config
|
||||
# Generate vapid keys
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/bundle exec rails mastodon:webpush:generate_vapid_key > vapid_key.txt
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/bundle exec rails mastodon:webpush:generate_vapid_key > vapid_key.txt
|
||||
# Generate active record encryption
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/bundle exec rails db:encryption:init > active_record_encryption.txt
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/bundle exec rails db:encryption:init > active_record_encryption.txt
|
||||
popd
|
||||
|
||||
# Re-generate config with vapid keys and active record encryption
|
||||
|
|
@ -111,12 +103,12 @@ ynh_delete_file_checksum "$config"
|
|||
ynh_config_add --template=".env.production.sample" --destination="$config"
|
||||
|
||||
pushd "$install_dir/live"
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/bundle exec rails db:migrate --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/bundle exec rails db:seed --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/bundle exec rails assets:precompile --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/bundle exec rails db:migrate --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/bundle exec rails db:seed --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/bundle exec rails assets:precompile --quiet
|
||||
# Create the first admin user
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/tootctl accounts create "$admin" --email="$admin_mail" --confirmed --role=Owner
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/tootctl accounts approve "$admin"
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/tootctl accounts create "$admin" --email="$admin_mail" --confirmed --role=Owner
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/tootctl accounts approve "$admin"
|
||||
popd
|
||||
|
||||
#=================================================
|
||||
|
|
|
|||
|
|
@ -35,10 +35,6 @@ ynh_safe_rm "/etc/cron.d/$app"
|
|||
# Remote logrotate config
|
||||
ynh_config_remove_logrotate
|
||||
|
||||
# Remove metapackage and its dependencies
|
||||
ynh_ruby_remove
|
||||
ynh_nodejs_remove
|
||||
|
||||
# Remove swap
|
||||
ynh_del_swap
|
||||
|
||||
|
|
|
|||
|
|
@ -36,14 +36,6 @@ ynh_script_progression "Adding $swap_needed Mo to swap..."
|
|||
|
||||
ynh_add_swap --size=$swap_needed
|
||||
|
||||
#=================================================
|
||||
# REINSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression "Reinstalling Ruby and NodeJS..."
|
||||
|
||||
ynh_ruby_install
|
||||
ynh_nodejs_install
|
||||
|
||||
#=================================================
|
||||
# BUILD APP
|
||||
#=================================================
|
||||
|
|
@ -52,7 +44,7 @@ ynh_script_progression "Building app..."
|
|||
pushd "$install_dir/live"
|
||||
gem update --system
|
||||
gem install bundler --no-document
|
||||
ynh_hide_warnings ynh_exec_as_app $ld_preload bin/bundle install --redownload -j$(getconf _NPROCESSORS_ONLN)
|
||||
ynh_hide_warnings ynh_exec_as_app LD_PRELOAD=libjemalloc.so bin/bundle install --redownload -j$(getconf _NPROCESSORS_ONLN)
|
||||
popd
|
||||
|
||||
#=================================================
|
||||
|
|
|
|||
|
|
@ -45,14 +45,6 @@ fi
|
|||
ynh_script_progression "Adding $swap_needed Mo to swap..."
|
||||
ynh_add_swap --size=$swap_needed
|
||||
|
||||
#=================================================
|
||||
# UPGRADE DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression "Upgrading Ruby and NodeJS..."
|
||||
|
||||
ynh_ruby_install
|
||||
ynh_nodejs_install
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
#=================================================
|
||||
|
|
@ -75,14 +67,14 @@ ynh_script_progression "Building assets..."
|
|||
pushd "$install_dir/live"
|
||||
gem update --system
|
||||
gem install bundler --no-document
|
||||
ynh_hide_warnings ynh_exec_as_app $ld_preload bin/bundle config deployment 'true'
|
||||
ynh_hide_warnings ynh_exec_as_app $ld_preload bin/bundle config without 'development test'
|
||||
ynh_hide_warnings ynh_exec_as_app $ld_preload bin/bundle config set force_ruby_platform true --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app $ld_preload bin/bundle install -j$(getconf _NPROCESSORS_ONLN)
|
||||
ynh_hide_warnings ynh_exec_as_app LD_PRELOAD=libjemalloc.so bin/bundle config deployment 'true'
|
||||
ynh_hide_warnings ynh_exec_as_app LD_PRELOAD=libjemalloc.so bin/bundle config without 'development test'
|
||||
ynh_hide_warnings ynh_exec_as_app LD_PRELOAD=libjemalloc.so bin/bundle config set force_ruby_platform true --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app LD_PRELOAD=libjemalloc.so bin/bundle install -j$(getconf _NPROCESSORS_ONLN)
|
||||
|
||||
env corepack enable
|
||||
echo Y | ynh_hide_warnings ynh_exec_as_app yarn workspaces focus --production
|
||||
ynh_hide_warnings ynh_exec_as_app yarn install --immutable
|
||||
echo Y | ynh_exec_as_app yarn workspaces focus --production
|
||||
ynh_exec_as_app yarn install --immutable
|
||||
popd
|
||||
|
||||
chown -R "$app:www-data" "$install_dir/live/public"
|
||||
|
|
@ -119,7 +111,7 @@ if ynh_app_upgrading_from_version_before 4.3.2~ynh1; then
|
|||
pushd "$install_dir/live"
|
||||
|
||||
# Generate active record encryption
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/bundle exec rails db:encryption:init > active_record_encryption.txt
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/bundle exec rails db:encryption:init > active_record_encryption.txt
|
||||
active_record_encryption_deterministic_key=$(grep -oP "ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=\K.+" "$install_dir/live/active_record_encryption.txt")
|
||||
ynh_app_setting_set --key=active_record_encryption_deterministic_key --value="$active_record_encryption_deterministic_key"
|
||||
active_record_encryption_key_derivation_salt=$(grep -oP "ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=\K.+" "$install_dir/live/active_record_encryption.txt")
|
||||
|
|
@ -140,11 +132,11 @@ ynh_config_add --template=".env.production.sample" --destination="$config"
|
|||
ynh_script_progression "Applying migrations..."
|
||||
|
||||
pushd "$install_dir/live"
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/bundle exec rails db:migrate --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production $ld_preload bin/bundle exec rails assets:precompile --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/bundle exec rails db:migrate --quiet
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production LD_PRELOAD=libjemalloc.so bin/bundle exec rails assets:precompile --quiet
|
||||
|
||||
# Apply redis namespace migration (https://github.com/mastodon/redis_namespace_migration)
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production COREPACK_ENABLE_DOWNLOAD_PROMPT=0 $ld_preload bin/rails runner rename.rb
|
||||
ynh_hide_warnings ynh_exec_as_app RAILS_ENV=production COREPACK_ENABLE_DOWNLOAD_PROMPT=0 LD_PRELOAD=libjemalloc.so bin/rails runner rename.rb
|
||||
redis_namespace="$(ynh_app_setting_get --key=redis_namespace)"
|
||||
if [ $redis_namespace ]; then
|
||||
if [ ynh_app_setting_get --key=es_enabled == "true" ] && [ ynh_app_setting_get --key=es_prefix == "" ]; then
|
||||
|
|
|
|||
Loading…
Reference in a new issue