mirror of
https://github.com/swissmakers/fail2ban-ui.git
synced 2026-04-05 09:27:00 +02:00
84 lines
2.2 KiB
Markdown
84 lines
2.2 KiB
Markdown
|
|
# Installation
|
||
|
|
|
||
|
|
This document provides a short installation path and points to the full deployment guides in the repository.
|
||
|
|
|
||
|
|
Spoiler: They need to be reworked as well we already did with the main files here..
|
||
|
|
|
||
|
|
## Supported platforms
|
||
|
|
|
||
|
|
Fail2Ban UI targets Linux hosts. Typical environments include RHEL/Rocky/Alma, Debian/Ubuntu, and container environments in general.
|
||
|
|
|
||
|
|
## Container deployment
|
||
|
|
|
||
|
|
Additional resources:
|
||
|
|
- Full guide: `deployment/container/README.md`
|
||
|
|
- SELinux policies: `deployment/container/SELinux/`
|
||
|
|
|
||
|
|
### Option A: Pre-built image
|
||
|
|
|
||
|
|
Local connector example (Fail2Ban runs on the same host):
|
||
|
|
```bash
|
||
|
|
podman pull swissmakers/fail2ban-ui:latest
|
||
|
|
|
||
|
|
podman run -d --name fail2ban-ui --network=host \
|
||
|
|
-v /opt/fail2ban-ui:/config:Z \
|
||
|
|
-v /etc/fail2ban:/etc/fail2ban:Z \
|
||
|
|
-v /var/run/fail2ban:/var/run/fail2ban \
|
||
|
|
-v /var/log:/var/log:ro \
|
||
|
|
swissmakers/fail2ban-ui:latest
|
||
|
|
````
|
||
|
|
|
||
|
|
Notes:
|
||
|
|
|
||
|
|
* `/config` stores the SQLite DB, settings, and SSH keys used by the UI.
|
||
|
|
* `/var/log` is used for log path tests and should be mounted read-only to the container.
|
||
|
|
|
||
|
|
### Option B: Docker Compose
|
||
|
|
|
||
|
|
Use one of the examples and adapt to your environment:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cp docker-compose.example.yml docker-compose.yml
|
||
|
|
# or
|
||
|
|
cp docker-compose-allinone.example.yml docker-compose.yml
|
||
|
|
|
||
|
|
podman compose up -d
|
||
|
|
```
|
||
|
|
You can also start and test the full dev-stacks from the development folders, it you only want to try it out.
|
||
|
|
|
||
|
|
### Option C: Build the image yourself
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git clone https://github.com/swissmakers/fail2ban-ui.git
|
||
|
|
cd fail2ban-ui
|
||
|
|
podman build -t fail2ban-ui:dev .
|
||
|
|
podman run -d --name fail2ban-ui --network=host \
|
||
|
|
-v /opt/fail2ban-ui:/config:Z \
|
||
|
|
-v /etc/fail2ban:/etc/fail2ban:Z \
|
||
|
|
-v /var/run/fail2ban:/var/run/fail2ban \
|
||
|
|
-v /var/log:/var/log:ro \
|
||
|
|
localhost/fail2ban-ui:dev
|
||
|
|
```
|
||
|
|
|
||
|
|
## systemd deployment (standalone)
|
||
|
|
|
||
|
|
Additional resources:
|
||
|
|
|
||
|
|
* Full guide: `deployment/systemd/README.md`
|
||
|
|
|
||
|
|
High-level procedure:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git clone https://github.com/swissmakers/fail2ban-ui.git /opt/fail2ban-ui
|
||
|
|
cd /opt/fail2ban-ui
|
||
|
|
|
||
|
|
# Build static CSS assets
|
||
|
|
./build-tailwind.sh
|
||
|
|
|
||
|
|
# Build the go-binery
|
||
|
|
go build -o fail2ban-ui ./cmd/server/main.go
|
||
|
|
```
|
||
|
|
|
||
|
|
Then follow `deployment/systemd/README.md` to install the unit file and configure permissions.
|
||
|
|
|