satnogs-cruft/HOWTO/satnogs-monitor-proxy-howto...

117 lines
3.1 KiB
Plaintext

# Just some notes for now... INCOMPLETE
# See apache configs too
Buster install
apt install apache2 python3-certbot-apache
a2enmod proxy proxy_http ssl
# open ports 80, 443 in firewall
certbot
# add users for satnogs-clients
adduser cruftpi1
adduser cruftpi3
#################################
# On raspberry pi satnogs-client machine:
#git clone https://github.com/yudai/gotty
# Get binary release here XXX from 2017:
# https://github.com/yudai/gotty/releases
# wget https://github.com/yudai/gotty/releases/download/v2.0.0-alpha.3/gotty_2.0.0-alpha.3_linux_amd64.tar.gz
# meh.
#
# Do this instead ?
# on cruftpi1
sudo apt install golang cargo cmake libglib2.0-dev
# install lm-snsors? howto get temp on Pi?
go get github.com/yudai/gotty
mkdir ~/devel
cd ~/devel
git clone https://github.com/cubehub/libgpredict.git
mkdir libgpredict/build
cd libgpredict/build
cmake ../ && make
sudo make install
sudo ldconfig
# MEH, skip this, no need to build it, use package!
######################################
cd ~/devel
git clone https://github.com/wose/satnogs-monitor
cd satnogs-monitor/monitor
mkdir ~/.config/satnogs-monitor
cp examples/config.toml ~/.config/satnogs-monitor/
edit ~/.config/satnogs-monitor/config.toml
# Run it manually to make sure it is good to run.
# The first time takes XXX forever to download and run
#cargo run --release -- --orbits 3 --local 1152 --station 1152
cargo run --release
# If you want to refresh:
cargo clean
######################################
# see https://github.com/wose/satnogs-monitor/releases
cd ~/devel
wget https://github.com/wose/satnogs-monitor/releases/download/0.3.1/satnogs-monitor_0.3.1_armhf.deb
sudo dpkg -i satnogs-monitor_0.3.1_armhf.deb
# If any deps are now needed, this will fix:
sudo apt -f install
# Test if it minimally works
satnogs-monitor --station 1152
# moar
satnogs-monitor --spectrum --waterfall --orbits 3 --local 1152
# Make script:
cat > ~/satnogs-monitor-run <<EOF
#!/bin/bash
satnogs-monitor --spectrum --waterfall --orbits 3 --local 1152
EOF
chmod +x ~/satnogs-monitor-run
# now run it in gotty..
~/go/bin/gotty ~/satnogs-monitor-run
# woo
~/go/bin/gotty --address 127.0.0.1 --port 9091 --width 0 --height 0 ~/satnogs-monitor-run
# If that is all working, set up tunnel.
# create key on cruftpi1
ssh-keygen -t ed25519
# This gets copied over to apache server location:
# /home/cruftpi1/.ssh/authorized_keys
cat .ssh/id_ed25519.pub
# Set up ssh config:
vim .ssh/config
# ala:
Host spacecruft-monitor
Hostname 185.165.171.165
User cruftpi1
Port 22
# On apache server machine as root (crufty way to do this):
sudo su -
mkdir /home/cruftpi1/.ssh
# copy over that key:
echo "ssh-ed25519 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA pi@cruftpi1" >> /home/cruftpi1/.ssh/authorized_keys
chown -R cruftpi1:cruftpi1 /home/cruftpi1/.ssh/
# On cruftpi1
# Run a ssh tunnel to server:
ssh -N -C -R 9091:localhost:9091 spacecruft-monitor
# You can test in on spacecruft-monitor server:
telnet localhost 9091
GET /
# Configure apache proxy on spacecruft-monitor:
a2enmod headers
a2enmod proxy_wstunnel
vim /etc/apache2/sites-enabled/000-default-le-ssl.conf