post_install() { username="pleroma" home_dir="/opt/${username}" uploads_dir="/var/lib/${username}/uploads" static_dir="/var/lib/${username}/static" config_dir="/etc/${username}" tmp_psql="/tmp/setup_otp_db.psql" instance_gen_params="instance gen\ --output \"${config_dir}/config.exs\"\ --output-psql \"$tmp_psql\"\ --uploads-dir \"$uploads_dir\"\ --static-dir \"$static_dir\"\ --dbname \"$username\"\ --dbuser \"$username\"\ " printf "\n" printf "A local installation of postgresql is strongly recommended unless you know what you are doing. Use:\n $ sudo pacman -S postgresql\nto install postgresql locally.\n\n" printf "If postgresql is installed locally, the user should run the following commands to initialize pleroma:\n" printf ">>> sudo -Hu $username ${home_dir}/bin/pleroma_ctl ${instance_gen_params}\n" printf ">>> sudo -Hu postgres psql -f \"${tmp_psql}\"\n" printf ">>> sudo -Hu $username ${home_dir}/bin/pleroma_ctl migrate\n\n" printf "If the user is using a remote postgresql instance, they should ensure \"${tmp_psql}\" be executed remotely after the first command:\n" printf ">>> sudo -Hu $username -s /bin/bash ${home_dir}/bin/pleroma_ctl ${instance_gen_params}\n" printf ">>> # Now execute \"$tmp_psql\" remotely.\n" printf ">>> sudo -Hu $username -s /bin/bash ${home_dir}/bin/pleroma_ctl migrate\n\n" printf "After initializing pleroma, you may start it with:\n" printf ">>> sudo systemctl start pleroma\n\n" printf "Check https://docs-develop.pleroma.social/backend/installation/otp_en/#post-installation for post-installation steps.\n" } post_upgrade() { post_install $1 }