Install scuttlebot on mesh
This should better enable nat traversal between the internet and the mesh
This commit is contained in:
parent
278bffa7ee
commit
073ad0f888
|
@ -197,6 +197,46 @@ function remove_scuttlebot {
|
|||
sed -i '/scuttlebot /d' $COMPLETION_FILE
|
||||
}
|
||||
|
||||
function mesh_install_scuttlebot {
|
||||
cat <<EOF > $rootdir/usr/bin/install_scuttlebot
|
||||
#!/bin/bash
|
||||
npm install -g scuttlebot@${SCUTTLEBOT_VERSION}
|
||||
EOF
|
||||
chroot "$rootdir" /bin/chmod +x /usr/bin/install_scuttlebot
|
||||
chroot "$rootdir" /usr/bin/install_scuttlebot
|
||||
rm $rootdir/usr/bin/install_scuttlebot
|
||||
|
||||
if [ ! -f $rootdir/usr/local/bin/sbot ]; then
|
||||
echo $'Scuttlebot was not installed'
|
||||
exit 528253
|
||||
fi
|
||||
|
||||
if [ ! -d $rootdir/etc/scuttlebot ]; then
|
||||
mkdir -p $rootdir/etc/scuttlebot
|
||||
fi
|
||||
|
||||
# an unprivileged user to run as
|
||||
chroot "$rootdir" useradd -d /etc/scuttlebot/ scuttlebot
|
||||
|
||||
# daemon
|
||||
echo '[Unit]' > $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'Description=Scuttlebot (messaging system)' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'After=syslog.target' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'After=network.target' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo '' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo '[Service]' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'Type=simple' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'User=scuttlebot' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'Group=scuttlebot' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo "WorkingDirectory=/etc/scuttlebot" >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'ExecStart=/usr/local/bin/sbot server' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'Restart=always' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'Environment="USER=scuttlebot"' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo '' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo '[Install]' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
echo 'WantedBy=multi-user.target' >> $rootdir/etc/systemd/system/scuttlebot.service
|
||||
}
|
||||
|
||||
function install_scuttlebot {
|
||||
function_check install_nodejs
|
||||
install_nodejs scuttlebot
|
||||
|
|
|
@ -701,6 +701,7 @@ initialise_mesh() {
|
|||
#install_tahoelafs
|
||||
#install_librevault
|
||||
install_patchwork
|
||||
mesh_install_scuttlebot
|
||||
install_ferment
|
||||
install_ipfs
|
||||
install_tox
|
||||
|
|
|
@ -756,6 +756,41 @@ function mesh_setup_vpn {
|
|||
systemctl restart openvpn
|
||||
}
|
||||
|
||||
function initialise_scuttlebot_pub {
|
||||
chown -R scuttlebot:scuttlebot /etc/scuttlebot
|
||||
|
||||
systemctl enable scuttlebot.service
|
||||
systemctl daemon-reload
|
||||
systemctl start scuttlebot.service
|
||||
|
||||
sleep 3
|
||||
|
||||
if [ ! -d /etc/scuttlebot/.ssb ]; then
|
||||
echo $'Scuttlebot config not generated' >> /var/log/${PROJECT_NAME}.log
|
||||
exit 73528
|
||||
fi
|
||||
|
||||
echo '{' > /etc/scuttlebot/.ssb/config
|
||||
echo " \"host\": \"${HOSTNAME}\"," >> /etc/scuttlebot/.ssb/config
|
||||
echo " \"port\": 8008," >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "timeout": 30000,' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "pub": true,' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "local": true,' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "friends": {' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "dunbar": 150,' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "hops": 3' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' },' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "gossip": {' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "connections": 2' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' },' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "master": [],' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "logging": {' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' "level": "error"' >> /etc/scuttlebot/.ssb/config
|
||||
echo ' }' >> /etc/scuttlebot/.ssb/config
|
||||
echo '}' >> /etc/scuttlebot/.ssb/config
|
||||
chown scuttlebot:scuttlebot /etc/scuttlebot/.ssb/config
|
||||
systemctl restart scuttlebot.service
|
||||
}
|
||||
|
||||
# whether to reset the identity
|
||||
set_new_identity=
|
||||
|
@ -819,6 +854,7 @@ if [ -f $MESH_INSTALL_SETUP ]; then
|
|||
create_tox_user
|
||||
#setup_tahoelafs
|
||||
mesh_setup_vpn
|
||||
initialise_scuttlebot_pub
|
||||
setup_ipfs
|
||||
mesh_amnesic
|
||||
make_root_read_only
|
||||
|
|
|
@ -155,7 +155,7 @@ function stop {
|
|||
iptables -D INPUT -p tcp --dport $LIBREVAULT_PORT -j ACCEPT
|
||||
iptables -D INPUT -p udp --dport $LIBREVAULT_PORT -j ACCEPT
|
||||
iptables -D INPUT -p tcp --dport $TAHOELAFS_PORT -j ACCEPT
|
||||
# SSB/Patchwork
|
||||
# SSB/Scuttlebot/Patchwork
|
||||
iptables -D INPUT -p udp --dport 8008 -j ACCEPT
|
||||
iptables -D INPUT -p tcp --dport 8008 -j ACCEPT
|
||||
# vpn over the internet
|
||||
|
@ -325,7 +325,7 @@ function start {
|
|||
iptables -A INPUT -p tcp --dport $LIBREVAULT_PORT -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport $LIBREVAULT_PORT -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport $TAHOELAFS_PORT -j ACCEPT
|
||||
# SSB/Patchwork
|
||||
# SSB/Scuttlebot/Patchwork
|
||||
iptables -A INPUT -p udp --dport 8008 -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 8008 -j ACCEPT
|
||||
# vpn over the internet
|
||||
|
|
Loading…
Reference in New Issue