Nginx Proxy Manager + Husarnet + Ansible
Easy way to share services hosted on your Husarnet devices over proxy server with nice UI.
This repo is powered by GitHub Actions and Ansible, so after providing proper GitHub secrets, everything needed to run the proxy-gui on your own server will be done automatically.
- Click Use this template button and create your own public or private copy of this repo
- Prepare a new server with public IP address with clear installation of Ubuntu 20.04
- Setup SSH key pair (with NO passphrase!!!):
That command will generate 2 files:
ssh-keygen -t ed25519 -C "user@example.com" -f ./ga-ssh-key
File Target location Procedure ga-ssh-key
GitHub Secret (in the GitHub repository) Settings
>Secrets
>New repository secret
and createSSH_PRIVATE_KEY
secret. Copy thega-ssh-key
file content herega-ssh-key.pub
/root/.ssh/authorized_keys
on your VPScat ga-ssh-key.pub >> /root/.ssh/authorized_keys
- Create
PUBLIC_IP
repository secret and place your server's public IPv4 address here - Get your Husarnet Join Code from app.husarnet.com, and create a new GitHub repository secret
HUSARNET_JOINCODE
. - Go to
Actions
tab and trigger theDeploy to server
workflow
Repository Secret | Description |
---|---|
PUBLIC_IP |
Public IP address of your VPS |
SSH_PRIVATE_KEY |
private SSH key (for root at your VPS) |
HUSARNET_JOINCODE |
Join Code from https://app.husarnet.com |
Info on how to setup domains, issue SSL certificates and define proxy rules are in this blog post.
If you want to save / restore settings of your Nginx Proxy Manager, go to Actions
tab and manually trigger Save Backup
or Restore Backup
GitHub workflows. The backup will be stored as .backup.tgz
in your GitHub repository.