mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-10 18:38:22 +00:00
Add Rocky Linux Install Script Draft
This commit is contained in:
parent
4bd5fba0de
commit
45b5406960
1 changed files with 111 additions and 0 deletions
111
install.sh
Normal file
111
install.sh
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
#!/bin/bash
|
||||||
|
echo "Installing nfsense dev env..."
|
||||||
|
cd /root
|
||||||
|
|
||||||
|
echo "Disable firewalld"
|
||||||
|
systemctl stop firewalld
|
||||||
|
|
||||||
|
echo "Disable SE Linux"
|
||||||
|
setenforce 0
|
||||||
|
sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config
|
||||||
|
|
||||||
|
echo "Setup Repos"
|
||||||
|
dnf install epel-release
|
||||||
|
/usr/bin/crb enable
|
||||||
|
dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
|
||||||
|
|
||||||
|
echo "Installing Required Packages from Repos"
|
||||||
|
dnf install wget git systemd-networkd gh tcpdump nodejs dhcp-server
|
||||||
|
|
||||||
|
echo "Installing pnpm"
|
||||||
|
curl -fsSL https://get.pnpm.io/install.sh | sh -
|
||||||
|
|
||||||
|
echo "Installing go"
|
||||||
|
wget "https://go.dev/dl/go1.20.3.linux-amd64.tar.gz"
|
||||||
|
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.3.linux-amd64.tar.gz
|
||||||
|
cat <<EOT >> /etc/profile
|
||||||
|
export PATH=$PATH:/usr/local/go/bin
|
||||||
|
EOT
|
||||||
|
source /etc/profile
|
||||||
|
|
||||||
|
echo "Installing code server"
|
||||||
|
curl -fsSL https://code-server.dev/install.sh | sh
|
||||||
|
mkdir /root/.config/code-server
|
||||||
|
cat <<EOT >> /root/.config/code-server/config.yaml
|
||||||
|
bind-addr: 0.0.0.0:8081
|
||||||
|
auth: password
|
||||||
|
password: nfsense
|
||||||
|
cert: /root/cert.pem
|
||||||
|
cert-key: /root/key.pem
|
||||||
|
EOT
|
||||||
|
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"
|
||||||
|
systemctl enable --now code-server@root
|
||||||
|
|
||||||
|
echo "Clone nfsense Repo"
|
||||||
|
cd /opt
|
||||||
|
git clone "https://github.com/speatzle/nfsense.git"
|
||||||
|
cd nfsense
|
||||||
|
|
||||||
|
echo "build nfsense"
|
||||||
|
go build
|
||||||
|
|
||||||
|
echo "install client deps"
|
||||||
|
cd client
|
||||||
|
pnpm install
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo "setup nfsense systemd services"
|
||||||
|
cat <<EOT >> /etc/systemd/system/nfsense.service
|
||||||
|
[Unit]
|
||||||
|
Description=nfsense api
|
||||||
|
ConditionPathExists=/opt/nfsense
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory=/opt/nfsense
|
||||||
|
ExecStart=/opt/nfsense/nfsense
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOT
|
||||||
|
|
||||||
|
cat <<EOT >> /etc/systemd/system/nfsense-client.service
|
||||||
|
[Unit]
|
||||||
|
Description=nfsense client
|
||||||
|
ConditionPathExists=/opt/nfsense/client
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory=/opt/nfsense/client
|
||||||
|
ExecStart=/root/.local/share/pnpm/pnpm run dev --host 0.0.0.0
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOT
|
||||||
|
|
||||||
|
echo "reload systemd"
|
||||||
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
|
||||||
|
echo "Setup networkd"
|
||||||
|
systemctl disable NetworkManager
|
||||||
|
systemctl stop NetworkManager
|
||||||
|
systemctl enable systemd-networkd
|
||||||
|
systemctl start systemd-networkd
|
||||||
|
|
||||||
|
echo "Default nfsense config"
|
||||||
|
./nfsense -default
|
||||||
|
|
||||||
|
echo "Starting nfsense"
|
||||||
|
systemctl enable nfsense
|
||||||
|
systemctl start nfsense
|
||||||
|
systemctl enable nfsense-client
|
||||||
|
systemctl start nfsense-client
|
||||||
|
|
||||||
|
echo "Done"
|
Loading…
Add table
Reference in a new issue