mirror of
https://github.com/unifi-utilities/unifios-utilities.git
synced 2024-08-30 18:32:21 +00:00
162d4ce478
* Corrected file path by removing /mnt * Update 20-zerotier.sh * Update README.md * removed /mnt directory as evertyhing is done in /data * Corrected URL * Update remote_install.sh * Auto check data dir * fixed adguard installation * More data fixes * Fix dns common data path * fixed haproxy readme
41 lines
2.4 KiB
Markdown
41 lines
2.4 KiB
Markdown
# Run haproxy on your UDM
|
|
|
|
## Features
|
|
|
|
1. Load balance services on your UDM, because why not?.
|
|
2. Persists through reboots and firmware updates.
|
|
|
|
## Requirements
|
|
|
|
1. You have successfully setup the on boot script described [here](https://github.com/unifi-utilities/unifios-utilities/tree/main/on-boot-script)
|
|
2. You have to have services you want to load-balance, an example would be a multi-master k3s cluster.
|
|
|
|
## Steps
|
|
|
|
1. Check if you either have `/mnt/data` or `/data/` and adjust below accordingly
|
|
2. Pull your image with `podman pull docker.io/library/haproxy`.
|
|
3. Copy [50-haproxy.sh](./50-haproxy.sh) to `/data/on_boot.d/50-haproxy.sh`.
|
|
4. Choose network configuration - You can run either on the host network or on a seperate docker network. Running on the host network is easier but does mean you can't clash with the ports already in use on the UDM.
|
|
1. If you want to run on the host network
|
|
1. You don't have to do anything extra to run on the host network all the instructions / scripts assume this setup.
|
|
2. If you want to run on a custom docker network do the following:
|
|
1. Setup the network - there are some instructions in the Customizations setting of the pihole instructions: https://github.com/unifi-utilities/unifios-utilities/tree/main/run-pihole#customizations
|
|
2. Copy [21-haproxy.conflist](./21-haproxy.conflist) to `/data/podman/cni/` and update its values to reflect your environment.
|
|
3. Execute the `/data/on_boot.d/05-install-cni-plugins.sh` script to create the network.
|
|
4. Edit `/data/on_boot.d/50-haproxy.sh` and change `--net=host` to `--network haproxy`
|
|
5. Create a persistant directory and config for haproxy to use:
|
|
|
|
```sh
|
|
mkdir -p /data/haproxy
|
|
touch /data/haproxy/haproxy.cfg
|
|
```
|
|
|
|
6. Add your config to `/data/haproxy/haproxy.cfg`. Each configuration is unique, so check out some resouces like [haproxy.com](https://www.haproxy.com/documentation/hapee/latest/configuration/config-sections/) for basics.
|
|
7. Run `/data/on_boot.d/50-haproxy.sh`
|
|
|
|
## Upgrading Easily (if at all)
|
|
|
|
1. Edit [update-haproxy.sh](./update-haproxy.sh) to use the same command you used at installation (if changed). If you added your own network config ensure you change the `--net=host` to `--network haproxy`
|
|
2. Copy the [update-haproxy.sh](./update-haproxy.sh) to `/data/scripts`
|
|
3. Anytime you want to update your installation, simply run `/data/scripts/update-haproxy.sh`
|