perara / wg-manager

A easy to use WireGuard dashboard and management tool
MIT License
594 stars 74 forks source link

steps for bare metal install #31

Closed barryboom closed 3 years ago

barryboom commented 3 years ago

forgive me if this is wrong but been trying to use the instructions for a bare metal install which i am assuming is meant for installing directly on a server and not running in docker?

However seems to fail to install and around the backend and frontend sections

can you verify this should work and give a presistent server even if rebooted on Ubuntu 20.04.1 without havng to use docker?

Lombra commented 3 years ago

I made a few changes in order to get it working on Debian 10.

Install Node 12 instead of 13. (which is unsupported) 12 is long term supported. Did not try 14.

curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -

Add --unsafe-perm to fix Node modules permission error.

sudo npm install --unsafe-perm > /dev/null && sudo npm install @angular/cli > /dev/null

Install pip modules using sudo and pip3.

sudo pip3 install -r requirements.txt
sudo pip3 install uvicorn

Run uvicorn using sudo. By now you need to have set the admin username and password environment variables. For my initial test I just set them when starting the server.

sudo ADMIN_USERNAME=admin ADMIN_PASSWORD=admin uvicorn main:app --host=0.0.0.0
sudo uvicorn main:app --host=0.0.0.0
perara commented 3 years ago

Thanks! I'll update the documentation !

pw44 commented 3 years ago

For bare metal installation, may i ask for some help?

how to make use of a server digital certficate? how to start by boot time? how to change login and password, i.e, make use of linux authentication?

Thx!

outbackdingo commented 3 years ago

Id also like to know the answers to below

how to make use of a server digital certficate? how to start by boot time? how to change login and password, i.e, make use of linux authentication?

perara commented 3 years ago
  1. I would think this is possible with gunicorn/uvicorn https://docs.gunicorn.org/en/0.17.0/news.html

  2. Systemd script. Can probably create something for this

  3. Currently not supported, but certainly a sensible thing to add

On Tue, Mar 30, 2021, 06:06 outbackdingo @.***> wrote:

Id also like to know the answers to below

how to make use of a server digital certficate? how to start by boot time? how to change login and password, i.e, make use of linux authentication?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/perara/wg-manager/issues/31#issuecomment-809890634, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA4ZS7X34XZ6CL3MBHYY3HLTGFE3TANCNFSM4PZFVP5Q .

outbackdingo commented 3 years ago
  1. Thanks ill follow up on it
  2. yeah dont quite follow the gunicorn stuff, i did mine based on bare metal without the virtual environment, so tried to fiogure out a superviser systemd file and failed miserably.
  3. the only application ove ever seen with a non-changeable easy to use login, anyone who finds the site can login and create a vpn tunnel.. this is what i call a security risk. be very nice to have it resolved.
perara commented 3 years ago

I fully understand your concern regarding the auth system. Generally speaking, i recommmend keeping the dashboard well hidden behind firewalls. But ill investigate if itz feasable to extend the to support auth0 and pam auth

On Tue, Mar 30, 2021, 12:27 outbackdingo @.***> wrote:

  1. Thanks ill follow up on it
  2. yeah dont quite follow the gunicorn stuff, i did mine based on bare metal without the virtual environment, so tried to fiogure out a superviser systemd file and failed miserably.
  3. the only application ove ever seen with a non-changeable easy to use login, anyone who finds the site can login and create a vpn tunnel.. this is what i call a security risk. be very nice to have it resolved.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/perara/wg-manager/issues/31#issuecomment-810107408, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA4ZS7REH2MJWQMH2Y7DIWLTGGRPTANCNFSM4PZFVP5Q .

Lombra commented 3 years ago

Here's what I did for a unit: (Debian)

/etc/systemd/system/wg-manager.service

[Unit]
Description=wg-manager
After=network.target

[Service]
User=root
WorkingDirectory=/opt/wg-manager/wg_dashboard_backend
ExecStart=uvicorn main:app --host=0.0.0.0 --port=80
Restart=always

[Install]
WantedBy=multi-user.target

And then an override file containing the environment variables. /etc/systemd/system/wg-manager.service.d/override.conf

[Service]
Environment=ADMIN_USERNAME=myusername
Environment=ADMIN_PASSWORD=mypassword
outbackdingo commented 3 years ago

yes, this worked nicely, it should be added to the documents.

On Wed, Mar 31, 2021 at 12:16 AM Lombra @.***> wrote:

Here's what I did for a unit: (Debian)

/etc/systemd/system/wg-manager.service

[Unit] Description=wg-manager After=network.target

[Service] User=root WorkingDirectory=/opt/wg-manager/wg_dashboard_backend ExecStart=uvicorn main:app --host=0.0.0.0 --port=80 Restart=always

[Install] WantedBy=multi-user.target

And then an override file containing the environment variables. /etc/systemd/system/wg-manager.service.d/override.conf

[Service] Environment=ADMIN_USERNAME=myusername Environment=ADMIN_PASSWORD=mypassword

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/perara/wg-manager/issues/31#issuecomment-810435191, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMPRU4RNOS753BQQMQA2DBDTGIBQPANCNFSM4PZFVP5Q .