mirror of
https://github.com/YunoHost-Apps/fab-manager_ynh.git
synced 2024-09-03 18:36:16 +02:00
75 lines
2.8 KiB
Bash
75 lines
2.8 KiB
Bash
#!/bin/bash
|
|
|
|
#=================================================
|
|
# COMMON VARIABLES
|
|
#=================================================
|
|
|
|
ruby_version="2.6.10"
|
|
bundler_version=2.1.4
|
|
|
|
nodejs_version="14"
|
|
|
|
# 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
|
|
#=================================================
|
|
|
|
fabmanager_build_ruby() {
|
|
pushd "$install_dir"
|
|
ynh_use_ruby
|
|
ynh_exec_warn_less $ynh_gem install "bundler:$bundler_version"
|
|
ynh_exec_warn_less bin/bundle config --global frozen 1
|
|
ynh_exec_warn_less bin/bundle config set --local without 'development test doc'
|
|
ynh_exec_warn_less bin/bundle install
|
|
ynh_exec_warn_less bin/bundle binstubs --all
|
|
popd
|
|
}
|
|
|
|
fabmanager_seed_db() {
|
|
pushd "$install_dir"
|
|
ynh_replace_string --match_string="DateTime.current" --replace_string="DateTime.current - 1.days" --target_file="$install_dir/db/seeds.rb"
|
|
ynh_exec_warn_less ynh_exec_as "$app" env RAILS_ENV=production "$ynh_ruby_load_path" $ld_preload \
|
|
bin/bundle exec rake db:seed ADMIN_EMAIL="$admin_mail" ADMIN_PASSWORD="$password"
|
|
popd
|
|
}
|
|
|
|
fabmanager_migrate_db() {
|
|
pushd "$install_dir"
|
|
ynh_psql_execute_as_root --database="$db_name" --sql="ALTER USER $db_user WITH SUPERUSER;"
|
|
ynh_exec_warn_less ynh_exec_as "$app" env RAILS_ENV=production "$ynh_ruby_load_path" $ld_preload bin/bundle exec rake db:migrate
|
|
ynh_psql_execute_as_root --database="$db_name" --sql="ALTER USER $db_user WITH NOSUPERUSER;"
|
|
popd
|
|
}
|
|
|
|
fabmanager_build_ui() {
|
|
pushd "$install_dir"
|
|
ynh_use_nodejs
|
|
ynh_exec_warn_less ynh_exec_as "$app" env "$ynh_node_load_PATH" yarn install
|
|
#ynh_exec_warn_less ynh_exec_as "$app" env RAILS_ENV=production "$ynh_ruby_load_path" $ld_preload yarn install
|
|
#ynh_exec_warn_less ynh_exec_as "$app" env RAILS_ENV=production "$ynh_ruby_load_path" $ld_preload bin/webpack
|
|
ynh_exec_warn_less ynh_exec_as "$app" env RAILS_ENV=production "$ynh_ruby_load_path" $ld_preload bin/bundle exec rake assets:precompile
|
|
ynh_exec_warn_less ynh_exec_as "$app" env "$ynh_node_load_PATH" yarn cache clean --all
|
|
popd
|
|
}
|
|
|
|
|
|
#=================================================
|
|
# EXPERIMENTAL HELPERS
|
|
#=================================================
|
|
|
|
#=================================================
|
|
# FUTURE OFFICIAL HELPERS
|
|
#=================================================
|