#!/bin/bash -e . /usr/share/debconf/confmodule DAP_CHAINS_NAME="cellframe" DAP_APP_NAME="$DAP_CHAINS_NAME-node" DAP_PREFIX="/opt/$DAP_APP_NAME" DAP_CFG_TPL="$DAP_PREFIX/share/configs/$DAP_APP_NAME.cfg.tpl" # Store write config to new if present smth DAP_CFG="$DAP_PREFIX/etc/$DAP_APP_NAME.cfg" # Check profile.d symlink [ -e "/etc/profile.d/$DAP_APP_NAME.sh" ] && ln -sf $DAP_PREFIX/share/profile.d/$DAP_APP_NAME.sh /etc/profile.d/$DAP_APP_NAME.sh # Init node config if [ -e "$DAP_CFG" ]; then DAP_CFG="$DAP_PREFIX/etc/$DAP_APP_NAME.cfg.dpkg-new" else DAP_CFG="$DAP_PREFIX/etc/$DAP_APP_NAME.cfg" fi cat $DAP_CFG_TPL > $DAP_CFG || true db_get cellframe-node/debug_mode || true sed -i "s/{DEBUG_MODE}/$RET/" $DAP_CFG || true db_get cellframe-node/auto_online || true sed -i "s/{AUTO_ONLINE}/$RET/" $DAP_CFG || true db_get cellframe-node/debug_stream_headers || true sed -i "s/{DEBUG_STREAM_HEADERS}/$RET/" $DAP_CFG || true db_get cellframe-node/server_enabled || true sed -i "s/{SERVER_ENABLED}/$RET/" $DAP_CFG || true db_get cellframe-node/server_port || true sed -i "s/{SERVER_PORT}/$RET/" $DAP_CFG || true db_get cellframe-node/server_addr || true sed -i "s/{SERVER_ADDR}/$RET/" $DAP_CFG || true # Init kelvin-testnet NET_NAME="kelvin-testnet" db_get cellframe-node/kelvin_testnet_enable || true if [ "$RET"="true" ]; then DAP_CFG_NET="$DAP_PREFIX/etc/network/$NET_NAME.cfg" DAP_CFG_NET_TPL="$DAP_PREFIX/share/configs/network/$NET_NAME.cfg.tpl" DAP_NET_CFG="" if [ -e "$DAP_CFG_NET" ]; then DAP_NET_CFG="$DAP_PREFIX/etc/network/$NET_NAME.cfg.dpkg-new" else DAP_NET_CFG="$DAP_PREFIX/etc/network/$NET_NAME.cfg" fi cat $DAP_CFG_NET_TPL > $DAP_NET_CFG || true db_get cellframe-node/kelvin_testnet_node_type || true NODE_TYPE=$RET sed -i "s/{NODE_TYPE}/$NODE_TYPE/" $DAP_NET_CFG || true fi mkdir -p $DAP_PREFIX/var/log || true cat /etc/passwd| grep cellframe-node || adduser --system --no-create-home --group --home /opt/cellframe-node cellframe-node echo "[*] Check /etc/systemd/system/$DAP_APP_NAME.service file..." if [ -f /etc/systemd/system/$DAP_APP_NAME.service ]; then echo "[*] Restarting $DAP_APP_NAME to implement changes" systemctl --system stop $DAP_APP_NAME >> /dev/null|| true systemctl daemon-reload || true systemctl --system start $DAP_APP_NAME || true else echo "[!] Installing $DAP_APP_NAME as systemd service (haven't found /etc/systemd/system/$DAP_APP_NAME.service)" ln -sf $DAP_PREFIX/share/$DAP_APP_NAME.service /etc/systemd/system/$DAP_APP_NAME.service || true systemctl --system enable $DAP_PREFIX/share/$DAP_APP_NAME.service || true # systemctl --system start $DAP_APP_NAME echo "[ ] Execute 'systemctl start $DAP_APP_NAME' to start $DAP_APP_NAME service" #USERMAN=`users | awk '{print $1}'` adduser --system --no-create-home --group --home /opt/cellframe-node cellframe-node || true #usermod -aG $DAP_CHAINS_NAME `users | awk '{print $1}'` for username in $(cat /etc/passwd | grep "/home" | cut -d ':' -f1); do usermod -aG cellframe-node $username done mkdir -p $DAP_PREFIX/var/{run,lib/ca,lib/wallet,lib/global_db} touch $DAP_PREFIX/var/run/cellframe-node.pid #chown -R $USERMAN:$USERMAN $DAP_PREFIX for filename in $(find $DAP_PREFIX); do if [ -d $filename ]; then chmod 0775 $filename else chmod 0664 $filename fi done chmod 0774 $DAP_PREFIX/bin/* echo "[*] Done" fi