You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
2.3 KiB

# Installation for raspberry-pi 4
These instructions are untested, and should be verified by someone. Please create a ticket :)
## 1. Setup required environment variables
```
export <ENV> <VALUE>
```
Make it permanent with putting it in bashrc
Refer to the list in the main readme file.
## 2. Install Depedencies
```
sudo apt-get update && sudo apt-get install git python3 python3-pip python3-venv -y
```
### Node.JS
```
curl -sL https://deb.nodesource.com/setup_13.x | sudo bash -
sudo apt-get install -y nodejs
```
### WireGuard: Ubuntu
```
sudo add-apt-repository ppa:wireguard/wireguard -y
sudo apt install wireguard wireguard-tools -y
```
### WireGuard: Debian/RPI
```
# Get signing keys to verify the new packages, otherwise they will not install
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138
# Add the Buster backport repository to apt sources.list
echo 'deb http://httpredir.debian.org/debian buster-backports main contrib non-free' | sudo tee -a /etc/apt/sources.list.d/debian-backports.list
sudo apt update
sudo apt install wireguard wireguard-tools -y
```
## 3. Building front-end
```
# Building frontend
sudo git clone https://github.com/perara/wg-manager.git /opt/wg-manager
cd /opt/wg-manager/wg_dashboard_frontend
sudo npm install > /dev/null && sudo npm install @angular/cli > /dev/null
sudo node_modules/@angular/cli/bin/ng build --configuration="production" > /dev/null
```
## 4. Setup back-end
```
sudo mv dist ../wg_dashboard_backend/build
cd ../wg_dashboard_backend/
sudo python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
pip install uvicorn
uvicorn main:app --host=0.0.0.0
```
## 5. Complete
You should now see the following
```
#INFO: Started server process [259296]
#INFO: Waiting for application startup.
#INFO: Application startup complete.
#INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
```
## 6. Default routing not working?
Try these.
PostUp `iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i %i -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE`
PostDown `iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i %i -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE`