diff --git a/README.md b/README.md index 7053d4f..91a5ff9 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,12 @@ The interface runs in docker and requires the host to have installed wireguard, # Dependencies * wireguard-dkms or Linux kernel >= 5.6 -* docker - -# Installation +* python 3.6+ +# Installation (Docker) +1. Enable ip forwarding with `sysctl -w net.ipv4.ip_forward=1` +1.1. To make the forwarding persistent add `net.ipv4.ip_forward = 1` to `/etc/sysctl.d/99-sysctl.conf` +2. It is recommended to have a firewall protecting your services ## Docker ```bash docker run -d \ @@ -50,6 +52,10 @@ perara/wireguard-manager WEB_CONCURRENCY: 1 ``` +# Install (OS) +- [Installation on Debian/Ubuntu](./docs/install_debian.md) + + # Environment variables | Environment | Description | Recommended | |------------------|--------------------------------------------------------------------------|-------------| @@ -88,6 +94,11 @@ Use jwilder/nginx-proxy or similar. ![Illustration](docs/images/8.png) # Roadmap +### Primaries +- Implement multi-server support (setting up site-2-site servers from the GUI) +- Extending multi-server support to enable custom access lists (A peer can be assigned to multiple servers, as part of the ACL) + +### Other * Eventual bugfixes * Improve Auth * Improve everything... diff --git a/docs/install_debian.md b/docs/install_debian.md new file mode 100644 index 0000000..4bd0ba7 --- /dev/null +++ b/docs/install_debian.md @@ -0,0 +1 @@ +# Installing on Debian/Ubuntu diff --git a/docs/install_rpi.md b/docs/install_rpi.md new file mode 100644 index 0000000..93ab2be --- /dev/null +++ b/docs/install_rpi.md @@ -0,0 +1,51 @@ +# Installation for raspberry-pi 4 +These instructions are untested, and should be verified by someone. Please create a ticket :) + +### 1. Install dependencies +``` +sudo apt-get update && sudo apt-get install git python3 python3-pip +``` + +### 2. Setup required environment variables +``` +export +``` + +Make it permanent with putting it in bashrc +Refer to the list in the main readme file. + +### 2. Installing wireguard +``` +# 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. Installing node.js +``` +curl -sL https://deb.nodesource.com/setup_13.x | sudo bash - +``` + +### 3. Installing +``` +# Building frontend +sudo git clone https://github.com/perara/wireguard-manager.git /opt/wireguard-manager +cd /opt/wireguard-manager/wg_dashboard_frontend +sudo npm install > /dev/null || sudo npm install @angular/cli > /dev/null +sudo ng build --configuration="production" > /dev/null + +sudo mv dist ../wg_dashboard_backend/build +cd ../wg_dashboard_backend/ +sudo python3 -m venv venv && source venv/bin/activate +sudo pip install -r requirements.txt +sudo pip install uvicorn +sudo uvicorn main:app +#INFO: Started server process [259296] +#INFO: Waiting for application startup. +#INFO: Application startup complete. +```