diff --git a/apps/fail2ban-linuxserver/1.1.0/.env.sample b/apps/fail2ban-linuxserver/1.1.0/.env.sample new file mode 100644 index 000000000..7dcbfb785 --- /dev/null +++ b/apps/fail2ban-linuxserver/1.1.0/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +CONFIG_PATH=./data/config +HOST_LOG_PATH=/var/log +VERBOSITY=-vv +TIME_ZONE=Asia/Shanghai diff --git a/apps/fail2ban-linuxserver/1.1.0/data.yml b/apps/fail2ban-linuxserver/1.1.0/data.yml new file mode 100644 index 000000000..df7db9b8e --- /dev/null +++ b/apps/fail2ban-linuxserver/1.1.0/data.yml @@ -0,0 +1,75 @@ +additionalProperties: + formFields: + - default: ./data/config + edit: true + envKey: CONFIG_PATH + labelEn: Config folder path + labelZh: 配置文件路径 + label: + en: Config folder path + zh: 配置文件路径 + zh-Hant: 設定檔資料夾路徑 + ja: 設定フォルダーのパス + ko: 설정 폴더 경로 + ru: Путь к папке конфигурации + ms: Laluan folder konfigurasi + pt-br: Caminho da pasta de configuração + required: true + type: text + - default: /var/log + edit: true + envKey: HOST_LOG_PATH + labelEn: Host log path + labelZh: 主机日志路径 + label: + en: Host log path + zh: 主机日志路径 + zh-Hant: 主機日誌路徑 + ja: ホストログパス + ko: 호스트 로그 경로 + ru: Путь журналов хоста + ms: Laluan log hos + pt-br: Caminho de logs do host + required: true + type: text + - default: "-vv" + edit: true + envKey: VERBOSITY + labelEn: Log verbosity + labelZh: 日志详细级别 + label: + en: Log verbosity + zh: 日志详细级别 + zh-Hant: 日誌詳細層級 + ja: ログ詳細レベル + ko: 로그 상세 수준 + ru: Подробность журнала + ms: Tahap keterperincian log + pt-br: Nivel de detalhamento do log + required: true + type: select + values: + - label: "-v" + value: "-v" + - label: "-vv" + value: "-vv" + - label: "-vvv" + value: "-vvv" + - label: "-vvvv" + value: "-vvvv" + - default: Asia/Shanghai + edit: true + envKey: TIME_ZONE + labelEn: Time zone + labelZh: 时区 + label: + en: Time zone + zh: 时区 + zh-Hant: 時區 + ja: タイムゾーン + ko: 시간대 + ru: Часовой пояс + ms: Zon waktu + pt-br: Fuso horário + required: true + type: text diff --git a/apps/fail2ban-linuxserver/1.1.0/data/.gitkeep b/apps/fail2ban-linuxserver/1.1.0/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/fail2ban-linuxserver/1.1.0/docker-compose.yml b/apps/fail2ban-linuxserver/1.1.0/docker-compose.yml new file mode 100644 index 000000000..b56dfb66b --- /dev/null +++ b/apps/fail2ban-linuxserver/1.1.0/docker-compose.yml @@ -0,0 +1,19 @@ +services: + fail2ban: + image: "linuxserver/fail2ban:1.1.0" + container_name: ${CONTAINER_NAME} + restart: always + network_mode: host + cap_add: + - NET_ADMIN + - NET_RAW + volumes: + - "${CONFIG_PATH}:/config" + - "${HOST_LOG_PATH}:/var/log:ro" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + - VERBOSITY=${VERBOSITY} + labels: + createdBy: "Apps" diff --git a/apps/fail2ban-linuxserver/1.1.0/scripts/init.sh b/apps/fail2ban-linuxserver/1.1.0/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/fail2ban-linuxserver/1.1.0/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/fail2ban-linuxserver/1.1.0/scripts/uninstall.sh b/apps/fail2ban-linuxserver/1.1.0/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/fail2ban-linuxserver/1.1.0/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/fail2ban-linuxserver/1.1.0/scripts/upgrade.sh b/apps/fail2ban-linuxserver/1.1.0/scripts/upgrade.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/fail2ban-linuxserver/1.1.0/scripts/upgrade.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/fail2ban-linuxserver/README.md b/apps/fail2ban-linuxserver/README.md new file mode 100644 index 000000000..983a7bde4 --- /dev/null +++ b/apps/fail2ban-linuxserver/README.md @@ -0,0 +1,44 @@ +# Fail2ban LinuxServer + +## 产品介绍 + +Fail2ban LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/fail2ban` 镜像,提供 Fail2ban 主机入侵防护服务 能力。 + +## 主要功能 + +- 提供 日志监控和封禁规则 能力 +- 持久化保存配置和业务数据 +- 使用安装表单配置数据路径、主机日志路径和日志级别 +- 支持自定义时区 + +## 访问说明 + +Fail2ban 没有 Web 界面。安装完成后,在配置目录中编辑 jail 配置并查看 `/config/log/fail2ban/fail2ban.log`。 + +## 运行说明 + +该应用使用 host network,并需要 `NET_ADMIN`、`NET_RAW` 权限读取日志并管理封禁规则。默认 LinuxServer 配置中的 jail 处于禁用状态,请仅在确认日志路径和封禁规则后启用需要的 jail。 + +## Introduction + +Fail2ban LinuxServer uses the LinuxServer.io maintained `linuxserver/fail2ban` image for log monitoring and ban rules. + +## Features + +- Provide log monitoring and ban rules +- Persist configuration and application data +- Configure data paths, host log path, and log verbosity from the install form +- Configure the container time zone + +## Access + +Fail2ban does not provide a web interface. After installation, edit jail files in the config directory and check `/config/log/fail2ban/fail2ban.log`. + +## Runtime Notes + +This app uses host networking and requires `NET_ADMIN` and `NET_RAW` so it can read logs and manage ban rules. LinuxServer's default jail configuration is disabled; enable only the jails whose log paths and ban actions you have reviewed. + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/fail2ban-linuxserver/data.yml b/apps/fail2ban-linuxserver/data.yml new file mode 100644 index 000000000..a091eb433 --- /dev/null +++ b/apps/fail2ban-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: Fail2ban LinuxServer +tags: +- Security +title: Fail2ban 主机入侵防护服务 +description: Fail2ban 主机入侵防护服务 +additionalProperties: + key: fail2ban-linuxserver + name: Fail2ban LinuxServer + tags: + - Security + shortDescZh: Fail2ban 主机入侵防护服务 + shortDescEn: Host intrusion prevention service maintained by LinuxServer.io + description: + en: Host intrusion prevention service maintained by LinuxServer.io + zh: Fail2ban 主机入侵防护服务 + zh-Hant: Fail2ban 主機入侵防護服務 + ja: LinuxServer.io が保守するホスト侵入防止サービス + ko: LinuxServer.io에서 유지 관리하는 호스트 침입 방지 서비스 + ru: Служба предотвращения вторжений на хост, поддерживаемая LinuxServer.io + ms: Perkhidmatan pencegahan pencerobohan hos yang diselenggara oleh LinuxServer.io + pt-br: Servico de prevencao de intrusao no host mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: http://www.fail2ban.org/ + github: https://github.com/linuxserver/docker-fail2ban + document: https://docs.linuxserver.io/images/docker-fail2ban/ + architectures: + - amd64 + - arm64 diff --git a/apps/fail2ban-linuxserver/latest/.env.sample b/apps/fail2ban-linuxserver/latest/.env.sample new file mode 100644 index 000000000..7dcbfb785 --- /dev/null +++ b/apps/fail2ban-linuxserver/latest/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +CONFIG_PATH=./data/config +HOST_LOG_PATH=/var/log +VERBOSITY=-vv +TIME_ZONE=Asia/Shanghai diff --git a/apps/fail2ban-linuxserver/latest/data.yml b/apps/fail2ban-linuxserver/latest/data.yml new file mode 100644 index 000000000..df7db9b8e --- /dev/null +++ b/apps/fail2ban-linuxserver/latest/data.yml @@ -0,0 +1,75 @@ +additionalProperties: + formFields: + - default: ./data/config + edit: true + envKey: CONFIG_PATH + labelEn: Config folder path + labelZh: 配置文件路径 + label: + en: Config folder path + zh: 配置文件路径 + zh-Hant: 設定檔資料夾路徑 + ja: 設定フォルダーのパス + ko: 설정 폴더 경로 + ru: Путь к папке конфигурации + ms: Laluan folder konfigurasi + pt-br: Caminho da pasta de configuração + required: true + type: text + - default: /var/log + edit: true + envKey: HOST_LOG_PATH + labelEn: Host log path + labelZh: 主机日志路径 + label: + en: Host log path + zh: 主机日志路径 + zh-Hant: 主機日誌路徑 + ja: ホストログパス + ko: 호스트 로그 경로 + ru: Путь журналов хоста + ms: Laluan log hos + pt-br: Caminho de logs do host + required: true + type: text + - default: "-vv" + edit: true + envKey: VERBOSITY + labelEn: Log verbosity + labelZh: 日志详细级别 + label: + en: Log verbosity + zh: 日志详细级别 + zh-Hant: 日誌詳細層級 + ja: ログ詳細レベル + ko: 로그 상세 수준 + ru: Подробность журнала + ms: Tahap keterperincian log + pt-br: Nivel de detalhamento do log + required: true + type: select + values: + - label: "-v" + value: "-v" + - label: "-vv" + value: "-vv" + - label: "-vvv" + value: "-vvv" + - label: "-vvvv" + value: "-vvvv" + - default: Asia/Shanghai + edit: true + envKey: TIME_ZONE + labelEn: Time zone + labelZh: 时区 + label: + en: Time zone + zh: 时区 + zh-Hant: 時區 + ja: タイムゾーン + ko: 시간대 + ru: Часовой пояс + ms: Zon waktu + pt-br: Fuso horário + required: true + type: text diff --git a/apps/fail2ban-linuxserver/latest/data/.gitkeep b/apps/fail2ban-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/fail2ban-linuxserver/latest/docker-compose.yml b/apps/fail2ban-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..104b389f7 --- /dev/null +++ b/apps/fail2ban-linuxserver/latest/docker-compose.yml @@ -0,0 +1,19 @@ +services: + fail2ban: + image: "linuxserver/fail2ban:latest" + container_name: ${CONTAINER_NAME} + restart: always + network_mode: host + cap_add: + - NET_ADMIN + - NET_RAW + volumes: + - "${CONFIG_PATH}:/config" + - "${HOST_LOG_PATH}:/var/log:ro" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + - VERBOSITY=${VERBOSITY} + labels: + createdBy: "Apps" diff --git a/apps/fail2ban-linuxserver/latest/scripts/init.sh b/apps/fail2ban-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/fail2ban-linuxserver/latest/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/fail2ban-linuxserver/latest/scripts/uninstall.sh b/apps/fail2ban-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/fail2ban-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/fail2ban-linuxserver/latest/scripts/upgrade.sh b/apps/fail2ban-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/fail2ban-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/fail2ban-linuxserver/logo.png b/apps/fail2ban-linuxserver/logo.png new file mode 100644 index 000000000..d61a28a88 Binary files /dev/null and b/apps/fail2ban-linuxserver/logo.png differ