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.
Ensure you have pnpm installed:
npm install -g pnpm
Then, clone the repository and install dependencies:
git clone https://github.com/your-username/banalize.git
cd banalize
pnpm install
To start Banalize with Docker Compose, run:
docker compose up -d
Run the following commands:
pnpm build
pnpm docker:mongodb
# Open a new shell
pnpm start
Create .env
files from the provided templates:
cp apps/api/.env.template apps/api/.env
cp apps/web/.env.template apps/web/.env
Ensure MongoDB is running by executing:
pnpm docker:mongodb
To start both backend and frontend in development mode:
pnpm dev
Run tests with:
pnpm test
To build the project with Docker Compose:
docker compose build
To build the project manually:
pnpm build
Banalize is licensed under the MIT License. See the LICENSE
file for details.