Banalize is a security-focused tool similar to Fail2Ban, designed to monitor logs (including Docker logs and files) and apply IP bans based on regex rules. This monorepo manages its development, packaging, and deployment.
- Regex-based IP banning: Define custom patterns to detect and block malicious activity.
- Log Monitoring: Observe logs from both Docker containers and local files.
- Automated Ban Management: Automatically blocks detected IPs based on predefined rules.
- Performance Optimized: Utilizes efficient logging and processing mechanisms for minimal overhead.
This project uses prototools to manage Node.js and package manager versions.
Clone the repository and install dependencies:
git clone https://github.com/your-username/banalize.git
cd banalizeThen install the correct toolchain and package managers:
proto useNext, install all project dependencies:
pnpm installTo start Banalize with Docker Compose, run:
docker compose up -dRun the following commands:
pnpm build
pnpm docker:mongodb
# Open a new shell
pnpm startCreate .env files from the provided templates:
cp apps/api/.env.template apps/api/.env
cp apps/web/.env.template apps/web/.envEnsure MongoDB is running by executing:
pnpm docker:mongodbTo start both backend and frontend in development mode:
pnpm devRun tests with:
pnpm testTo build the project with Docker Compose:
docker compose buildTo build the project manually:
pnpm buildBanalize is licensed under the MIT License. See the LICENSE file for details.