#!/bin/bash # Exit on command errors and treat unset variables as an error set -eu # Retrieve arguments app=$YNH_APP_INSTANCE_NAME domain=$YNH_APP_ARG_DOMAIN path="/" port=10901 admin=$YNH_APP_ARG_ADMIN # Source app helpers and functions source /usr/share/yunohost/helpers source functions.sh # Check domain/path availability sudo yunohost app checkurl "${domain}${path}" -a "$app" \ || ynh_die "Path not available: ${domain}${path}" # Check port availability sudo yunohost app checkport $port if [[ ! $? -eq 0 ]]; then ynh_die "Port not available: ${port}" fi # Check the admin exists in YunoHost users ynh_user_exists $admin # Get CPU architecture and check it arch=$(uname -m) if [ $arch == "x86_64" ]; then arch="x64" fi if [[ $arch != "x64" && $arch != "armv7l" ]]; then ynh_die "$arch is not supported." 2 fi # Store config on YunoHost instance ynh_app_setting_set $app port $port ynh_app_setting_set $app arch $arch ynh_app_setting_set "$app" admin "$admin" # Open port on firewall sudo yunohost firewall allow TCP $port > /dev/null 2>&1 INSTALL_DUNITER_DEBIAN_PACKAGE # Configure Duniter node sudo duniter config --ipv4 127.0.0.1 --port $port --remoteh $domain --remotep 80 --noupnp sudo duniter config --addep "BMAS $domain 443" # Reset Duniter node's existing data (blockchain, not conf) sudo duniter reset data > /dev/null # Launch Duniter node sudo duniter webstart # Add Duniter service to the YunoHost monitoring sudo yunohost service add $app --log /home/admin/.config/$app/"$app"_default/"$app".log CONFIG_SSOWAT CONFIG_NGINX