Add Snikket custom steps
TODO: - Apply patches - Handle the rest of the tasks
This commit is contained in:
parent
28b4676bbf
commit
2464193a1c
4 changed files with 103 additions and 15 deletions
|
@ -36,6 +36,9 @@ ram.runtime = "50M"
|
||||||
[resources.sources.prosody]
|
[resources.sources.prosody]
|
||||||
url = "https://hg.prosody.im/trunk/archive/41a587613a0e.tar.gz"
|
url = "https://hg.prosody.im/trunk/archive/41a587613a0e.tar.gz"
|
||||||
sha256 = "701ce4761b1979614712ac9c9c13cb700415469a8e11ed9e3140fd6795bbcdcd"
|
sha256 = "701ce4761b1979614712ac9c9c13cb700415469a8e11ed9e3140fd6795bbcdcd"
|
||||||
|
[resources.sources.prosody-modules]
|
||||||
|
url = "https://hg.prosody.im/prosody-modules/archive/095030677ae6.tar.gz"
|
||||||
|
sha256 = "8c2a51ef72cbe86a3b2a8e5c4d8656ee1d167f153223b481b5e8c4c5ed85f11d"
|
||||||
|
|
||||||
[resources.system_user]
|
[resources.system_user]
|
||||||
|
|
||||||
|
@ -55,7 +58,7 @@ ram.runtime = "50M"
|
||||||
[resources.permissions]
|
[resources.permissions]
|
||||||
|
|
||||||
[resources.apt]
|
[resources.apt]
|
||||||
packages = "libicu-dev, libidn11-dev, libssl-dev, openssl, txt2man"
|
packages = "libicu-dev, libidn11-dev, libssl-dev, openssl, txt2man, lua-luaossl, lua-readline, dns-root-data, lua-dbi-sqlite3"
|
||||||
packages_from_raw_bash = """
|
packages_from_raw_bash = """
|
||||||
if [[ $YNH_DEBIAN_VERSION == "bullseye" ]]; then
|
if [[ $YNH_DEBIAN_VERSION == "bullseye" ]]; then
|
||||||
echo "lua5.2, lua5.2-expat, lua5.2-socket, lua5.2-sec, lua5.2-unbound, liblua5.2-dev, lua-busted";
|
echo "lua5.2, lua5.2-expat, lua5.2-socket, lua5.2-sec, lua5.2-unbound, liblua5.2-dev, lua-busted";
|
||||||
|
|
|
@ -26,13 +26,14 @@ fi
|
||||||
ynh_script_progression --message="Setting up source files..."
|
ynh_script_progression --message="Setting up source files..."
|
||||||
|
|
||||||
builddir="$(mktemp -d)"
|
builddir="$(mktemp -d)"
|
||||||
# Download, check integrity, uncompress and patch the source from app.src
|
|
||||||
ynh_setup_source --dest_dir="$builddir" --source_id=prosody
|
ynh_setup_source --dest_dir="$builddir" --source_id=prosody
|
||||||
|
|
||||||
snikketdir="$(mktemp -d)"
|
snikketdir="$(mktemp -d)"
|
||||||
# Download, check integrity, uncompress and patch the source from app.src
|
|
||||||
ynh_setup_source --dest_dir="$snikketdir"
|
ynh_setup_source --dest_dir="$snikketdir"
|
||||||
|
|
||||||
|
moddir="$(mktemp -d)"
|
||||||
|
ynh_setup_source --dest_dir="$moddir" --source_id=prosody-modules
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SPECIFIC SETUP
|
# SPECIFIC SETUP
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -43,9 +44,13 @@ ynh_script_progression --message="Building Prosody..."
|
||||||
update-alternatives --set lua-interpreter /usr/bin/lua${luaversion}
|
update-alternatives --set lua-interpreter /usr/bin/lua${luaversion}
|
||||||
|
|
||||||
pushd "$builddir"
|
pushd "$builddir"
|
||||||
./configure --prefix=/usr
|
./configure --sysconfdir="/etc/$app" --datadir="/var/lib/$app"
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
|
# Install Prosody-Migrator
|
||||||
|
pushd "tools/migration"
|
||||||
|
make install
|
||||||
|
popd
|
||||||
popd
|
popd
|
||||||
|
|
||||||
ynh_secure_remove --file="$builddir"
|
ynh_secure_remove --file="$builddir"
|
||||||
|
@ -53,17 +58,18 @@ ynh_secure_remove --file="$builddir"
|
||||||
#=================================================
|
#=================================================
|
||||||
# ADD A CONFIGURATION
|
# ADD A CONFIGURATION
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Adding a configuration file..."
|
ynh_script_progression --message="Adding Prosody configuration..."
|
||||||
|
|
||||||
config_path=/etc/$app
|
config_path=/etc/$app
|
||||||
ynh_app_setting_set --app=$app --key=config_path --value=$config_path
|
ynh_app_setting_set --app=$app --key=config_path --value=$config_path
|
||||||
mkdir -p $config_path
|
mkdir -p $config_path
|
||||||
mkdir -p $config_path/{certs,conf.avail,conf.d}
|
mkdir -p $config_path/{certs,conf.avail,conf.d}
|
||||||
|
mkdir -p $config_path/firewall
|
||||||
|
|
||||||
ynh_add_config --template="../conf/prosody.cfg.lua" --destination="$config_path/prosody.cfg.lua"
|
ynh_add_config --template="$snikketdir/ansible/files/prosody.cfg.lua" --destination="$config_path/prosody.cfg.lua"
|
||||||
ynh_add_config --template="../conf/example.com.cfg.lua" --destination="$config_path/conf.avail/example.com.cfg.lua"
|
ynh_add_config --template="$snikketdir/ansible/files/restricted_users.pfw" --destination="$config_path/restricted_users.pfw"
|
||||||
#ynh_add_config --template="../conf/localhost.cfg.lua" --destination="$config_path/conf.avail/localhost.cfg.lua"
|
# Add Prosody-Migrator config
|
||||||
#ln -s $config_path/conf.avail/localhost.cfg.lua $config_path/conf.d/
|
ynh_add_config --template="$snikketdir/ansible/files/migrator.cfg.lua" --destination="$config_path/migrator.cfg.lua"
|
||||||
|
|
||||||
chown root:root "$config_path"
|
chown root:root "$config_path"
|
||||||
chmod 755 "$config_path"
|
chmod 755 "$config_path"
|
||||||
|
@ -77,6 +83,20 @@ chmod 754 "$config_path/conf.avail"
|
||||||
chown root:$app "$config_path/certs"
|
chown root:$app "$config_path/certs"
|
||||||
chmod 750 "$config_path/certs"
|
chmod 750 "$config_path/certs"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# SETUP MODULES
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Intalling modules..."
|
||||||
|
mkdir -p "/etc/$app/modules"
|
||||||
|
while read module
|
||||||
|
do
|
||||||
|
cp -r "$moddir/$module" "/etc/$app/modules/$module"
|
||||||
|
done < "../sources/prosody-modules.txt"
|
||||||
|
while read module
|
||||||
|
do
|
||||||
|
cp -r "$snikketdir/snikket-modules/$module" "/etc/$app/modules/$module"
|
||||||
|
done < "../sources/snikket-modules.txt"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SETUP SYSTEMD
|
# SETUP SYSTEMD
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
56
sources/prosody-modules.txt
Normal file
56
sources/prosody-modules.txt
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
mod_cloud_notify
|
||||||
|
mod_cloud_notify_extensions
|
||||||
|
mod_cloud_notify_encrypted
|
||||||
|
mod_cloud_notify_priority_tag
|
||||||
|
mod_cloud_notify_filters
|
||||||
|
mod_block_registrations
|
||||||
|
mod_conversejs
|
||||||
|
mod_migrate_http_upload
|
||||||
|
mod_lastlog2
|
||||||
|
mod_limit_auth
|
||||||
|
mod_password_policy
|
||||||
|
mod_vcard_muc
|
||||||
|
mod_email
|
||||||
|
mod_http_altconnect
|
||||||
|
mod_firewall
|
||||||
|
mod_admin_notify
|
||||||
|
mod_http_oauth2
|
||||||
|
mod_http_admin_api
|
||||||
|
mod_rest
|
||||||
|
mod_groups_migration
|
||||||
|
mod_invites_api
|
||||||
|
mod_invites_groups
|
||||||
|
mod_invites_page
|
||||||
|
mod_invites_register_api
|
||||||
|
mod_invites_tracking
|
||||||
|
mod_groups_internal
|
||||||
|
mod_groups_muc_bookmarks
|
||||||
|
mod_muc_defaults
|
||||||
|
mod_muc_local_only
|
||||||
|
mod_muc_offline_delivery
|
||||||
|
mod_http_host_status_check
|
||||||
|
mod_measure_process
|
||||||
|
mod_spam_reporting
|
||||||
|
mod_watch_spam_reports
|
||||||
|
mod_isolate_host
|
||||||
|
mod_muc_auto_reserve_nicks
|
||||||
|
mod_measure_active_users
|
||||||
|
mod_measure_lua
|
||||||
|
mod_measure_malloc
|
||||||
|
mod_http_xep227
|
||||||
|
mod_portcheck
|
||||||
|
mod_sasl2
|
||||||
|
mod_sasl2_bind2
|
||||||
|
mod_sasl2_sm
|
||||||
|
mod_sasl2_fast
|
||||||
|
mod_client_management
|
||||||
|
mod_audit
|
||||||
|
mod_audit_auth
|
||||||
|
mod_audit_status
|
||||||
|
mod_audit_user_accounts
|
||||||
|
mod_password_policy
|
||||||
|
mod_s2s_status
|
||||||
|
mod_sasl_ssdp
|
||||||
|
mod_privilege
|
||||||
|
mod_admin_blocklist
|
||||||
|
mod_muc_moderation
|
9
sources/snikket-modules.txt
Normal file
9
sources/snikket-modules.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
mod_update_check
|
||||||
|
mod_update_notify
|
||||||
|
mod_invites_default_group
|
||||||
|
mod_invites_bootstrap
|
||||||
|
mod_snikket_client_id
|
||||||
|
mod_snikket_ios_preserve_push
|
||||||
|
mod_snikket_restricted_users
|
||||||
|
mod_snikket_deprecate_general_muc
|
||||||
|
mod_migrate_snikket_roles
|
Loading…
Reference in a new issue