mirror of
https://github.com/unifi-utilities/unifios-utilities.git
synced 2024-08-30 18:32:21 +00:00
Auto set correct data path (#491)
* 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
This commit is contained in:
@ -1,14 +1,41 @@
|
||||
#!/bin/sh
|
||||
CONTAINER=haproxy
|
||||
# Get DataDir location
|
||||
DATA_DIR="/data"
|
||||
case "$(ubnt-device-info firmware || true)" in
|
||||
1*)
|
||||
DATA_DIR="/mnt/data"
|
||||
;;
|
||||
2*)
|
||||
DATA_DIR="/data"
|
||||
;;
|
||||
3*)
|
||||
DATA_DIR="/data"
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: No persistent storage found." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Check if the directory exists
|
||||
if [ ! -d "${DATA_DIR}/haproxy" ]; then
|
||||
# If it does not exist, create the directory
|
||||
mkdir -p "${DATA_DIR}/haproxy"
|
||||
echo "Directory '${DATA_DIR}/haproxy' created."
|
||||
else
|
||||
# If it already exists, print a message
|
||||
echo "Directory '${DATA_DIR}/haproxy' already exists. Moving on."
|
||||
fi
|
||||
|
||||
# Starts an haproxy container that is deleted after it is stopped.
|
||||
# All configs stored in /mnt/data/haproxy
|
||||
# All configs stored in /data/haproxy
|
||||
if podman container exists "$CONTAINER"; then
|
||||
podman start "$CONTAINER"
|
||||
else
|
||||
podman run -d --net=host --restart always \
|
||||
--name haproxy \
|
||||
--hostname ha.proxy \
|
||||
-v "/mnt/data/haproxy/:/usr/local/etc/haproxy/" \
|
||||
-v "${DATA_DIR}/haproxy/:/usr/local/etc/haproxy/" \
|
||||
haproxy:latest
|
||||
fi
|
||||
|
@ -12,30 +12,29 @@
|
||||
|
||||
## Steps
|
||||
|
||||
1. Pull your image with `podman pull docker.io/library/haproxy`.
|
||||
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:
|
||||
|
||||
1. Copy [50-haproxy.sh](./50-haproxy.sh) to `/mnt/data/on_boot.d/50-haproxy.sh`.
|
||||
```sh
|
||||
mkdir -p /data/haproxy
|
||||
touch /data/haproxy/haproxy.cfg
|
||||
```
|
||||
|
||||
1. 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.
|
||||
1. 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
|
||||
1. Copy [21-haproxy.conflist](./21-haproxy.conflist) to `/mnt/data/podman/cni/` and update its values to reflect your environment.
|
||||
1. Execute the `/mnt/data/on_boot.d/05-install-cni-plugins.sh` script to create the network.
|
||||
1. Edit `/mnt/data/on_boot.d/50-haproxy.sh` and change `--net=host` to `--network haproxy`
|
||||
1. Create a persistant directory and config for haproxy to use:
|
||||
|
||||
```sh
|
||||
mkdir -p /mnt/data/haproxy
|
||||
touch /mnt/data/haproxy/haproxy.cfg
|
||||
```
|
||||
|
||||
1. Add your config to `/mnt/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.
|
||||
1. Run `/mnt/data/on_boot.d/50-haproxy.sh`
|
||||
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 `/mnt/data/scripts`
|
||||
3. Anytime you want to update your installation, simply run `/mnt/data/scripts/update-haproxy.sh`
|
||||
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`
|
||||
|
@ -1,4 +1,21 @@
|
||||
IMAGE=haproxy:latest
|
||||
# Get DataDir location
|
||||
DATA_DIR="/data"
|
||||
case "$(ubnt-device-info firmware || true)" in
|
||||
1*)
|
||||
DATA_DIR="/mnt/data"
|
||||
;;
|
||||
2*)
|
||||
DATA_DIR="/data"
|
||||
;;
|
||||
3*)
|
||||
DATA_DIR="/data"
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: No persistent storage found." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
podman pull $IMAGE
|
||||
podman stop haproxy
|
||||
@ -6,5 +23,5 @@ podman rm haproxy
|
||||
podman run -d --net=host --restart always \
|
||||
--name haproxy \
|
||||
--hostname ha.proxy \
|
||||
-v "/mnt/data/haproxy/:/usr/local/etc/haproxy/" \
|
||||
-v "${DATA_DIR}/haproxy/:/usr/local/etc/haproxy/" \
|
||||
$IMAGE
|
||||
|
Reference in New Issue
Block a user