bunkerweb is a free, open source cloud infrastructure management project written in Python and released under AGPL-3.0. It has 11,204 GitHub stars, 666 forks and 170 open issues, and was last pushed 3 days ago. On this registry it ranks #20 of 76 tracked projects in Cloud Infrastructure Management, with 5 head-to-head comparisons available. It gained 175 stars over the last 30 tracked days.

What is bunkerweb?

BunkerWeb is a next-generation, open-source, cloud-native Web Application Firewall built as a full-featured web server on top of NGINX, designed to make web services secure by default, and it is aimed at teams running web services on Linux, Docker, Swarm, or Kubernetes who want protection in place as a reverse proxy rather than assembled by hand.

What it is

BunkerWeb is a Web Application Firewall that is also a complete web server. It sits in front of web services as a reverse proxy and applies a set of primary security features as part of its core, based on NGINX. It integrates into existing environments โ€” Linux, Docker, Swarm, Kubernetes โ€” so the deployment shape a team already runs is the shape BunkerWeb runs in. Configuration happens either through the command-line interface or through a web UI for those who prefer not to work at the CLI, and the core can be extended through a plugin system.

The concrete problem it solves is the gap between installing a web server and actually having a hardened one. Instead of an operator wiring TLS, headers, ModSecurity, rule sets, rate limits, and bot handling together by hand, BunkerWeb ships that as default behaviour. It replaces the manual assembly of NGINX plus ModSecurity and the hand-written configuration that usually accompanies it, and it also replaces the work of obtaining and renewing certificates manually. The project is written primarily in Python and is licensed under AGPL-3.0.

Key capabilities

  • HTTPS support with transparent Let's Encrypt automation, so certificate issuance and renewal are handled rather than scripted.
  • Integrated ModSecurity WAF with the OWASP Core Rule Set, giving a request-inspection layer out of the box.
  • HTTP security headers, leak prevention, and TLS hardening applied as part of the default posture.
  • Automatic ban of strange behaviour based on HTTP status codes returned by the protected service.
  • Bot blocking through a challenge mechanism, with cookie, JavaScript, captcha, hCaptcha, or reCAPTCHA options.
  • Connection and request limits applied per client to constrain abusive traffic.
  • Blocking of known bad IPs using external blacklists and DNSBL lookups.
  • A plugin system that extends the core with additional security features for specific use cases.

Who uses it and how

  • DevOps and DevSecOps teams, which the project's own topics call out directly, using it as the security layer in front of services they deploy.
  • Hosting providers and self-hosters running multiple web services behind a single reverse proxy, using the web UI rather than the CLI to manage configuration.
  • Kubernetes operators, who deploy it into an existing cluster integration instead of introducing a separate edge stack.
  • Docker and Swarm users, who add it to the environment they already run rather than rebuilding around a new one.
  • Teams that want to enable, disable, and configure individual features per use case, since the security settings are tunable rather than fixed.

Getting started

Deployment follows the integration for the environment already in use โ€” Linux, Docker, Swarm, or Kubernetes โ€” as documented in the project's integrations section. When CLI configuration is not wanted, the web UI is the supported path to settings and configuration.

How it compares

Among the tools the project itself names, BunkerWeb bundles pieces that are normally separate: NGINX as the web server, ModSecurity with the OWASP Core Rule Set as the request inspection engine, and Let's Encrypt for certificates. An operator assembling those independently gets the same underlying components but owns the integration, the default configuration, and the ongoing maintenance of each part. Compatibility with those components is the point rather than a departure from them, with the difference being what ships pre-configured.

When to use it โ€” and when not to

BunkerWeb suits teams that want a reverse proxy and a WAF in one deployable unit and are willing to adopt its configuration model, including the plugin system, to extend it. Teams that already run a mature NGINX and ModSecurity setup with their own automation may find the added layer redundant. The repository shows a healthy but not idle project โ€” roughly 11,000 stars, 642 forks, and 170 open issues โ€” and the README is promotional in tone, describing features and linking to documentation for specifics rather than laying out the installation commands directly, so the documentation site is the actual source of operational detail.

project readme (upstream, from github) โ€” read inline

BunkerWeb logo




GitRated rating Plumber CI/CD security score
Star History Rank

</a>

๐ŸŒ Website | ๐Ÿค Panel | ๐Ÿ““ Documentation | ๐Ÿ‘จโ€๐Ÿ’ป Demo | ๐Ÿ“ฑ Demo UI | ๐Ÿงฉ Templates | ๐Ÿ›ก๏ธ Examples
๐Ÿ’ฌ Chat | ๐Ÿ“ Forum | ๐Ÿ“ Community | ๐Ÿ—บ๏ธ Threatmap | ๐Ÿ“Š Status | ๐Ÿ”Ž Feedback

๐Ÿ›ก๏ธ Make security by default great again!

BunkerWeb

Overview banner

BunkerWeb is a next-generation, open-source Web Application Firewall (WAF).

Being a full-featured web server (based on NGINX under the hood), it will protect your web services to make them "secure by default." BunkerWeb integrates seamlessly into your existing environments (Linux, Docker, Swarm, Kubernetes, โ€ฆ) as a reverse proxy and is fully configurable (don't panic, there is an awesome web UI if you don't like the CLI) to meet your own use cases. In other words, cybersecurity is no longer a hassle.

BunkerWeb contains primary security features as part of the core but can be easily extended with additional ones thanks to a plugin system.

Why BunkerWeb?

https://github.com/user-attachments/assets/c3fed740-28d8-4335-ab05-113a9e815b4f

  • Easy integration into existing environments: Seamlessly integrate BunkerWeb into various environments such as Linux, Docker, Swarm, Kubernetes, and more. Enjoy a smooth transition and hassle-free implementation.
  • Highly customizable: Tailor BunkerWeb to your specific requirements with ease. Enable, disable, and configure features effortlessly, allowing you to customize the security settings according to your unique use case.
  • Secure by default: BunkerWeb provides out-of-the-box, hassle-free minimal security for your web services. Experience peace of mind and enhanced protection right from the start.
  • Awesome web UI: Take control of BunkerWeb more efficiently with the exceptional web user interface (UI). Navigate settings and configurations effortlessly through a user-friendly graphical interface, eliminating the need for the command-line interface (CLI).
  • Plugin system: Extend the capabilities of BunkerWeb to meet your own use cases. Seamlessly integrate additional security measures and customize the functionality of BunkerWeb according to your specific requirements.
  • Free as in "freedom": BunkerWeb is licensed under the free AGPLv3 license, embracing the principles of freedom and openness. Enjoy the freedom to use, modify, and distribute the software, backed by a supportive community.
  • Professional services: Get technical support, tailored consulting, and custom development directly from the maintainers of BunkerWeb. Visit the Bunker Panel for more information.

Security features

A non-exhaustive list of security features:

  • HTTPS support with transparent Let's Encrypt automation
  • State-of-the-art web security: HTTP security headers, prevent leaks, TLS hardening, ...
  • Integrated ModSecurity WAF with the OWASP Core Rule Set
  • Automatic ban of strange behaviors based on HTTP status codes
  • Apply connection and request limits for clients
  • Block bots by asking them to solve a challenge (e.g., cookie, JavaScript, captcha, hCaptcha, or reCAPTCHA)
  • Block known bad IPs with external blacklists and DNSBL
  • And much more...

Learn more about the core security features in the security tuning section of the documentation.

Demo

https://github.com/user-attachments/assets/6fc0e3c1-d353-4a84-bad0-15bf9b6623a5

A demo website protected with BunkerWeb is available at demo.bunkerweb.io. Feel free to visit it and perform some security tests.

Web UI

https://github.com/user-attachments/assets/a3ed56f8-c124-4ca9-b8b3-4be0913b3078

BunkerWeb offers an optional user interface to manage your instances and their configurations. An online read-only demo is available at demo-ui.bunkerweb.io, feel free to test it yourself.

BunkerWeb Cloud

Don't want to self-host and manage your own BunkerWeb instance(s)? You might be interested in BunkerWeb Cloud, our fully managed SaaS offering for BunkerWeb.

Order your BunkerWeb Cloud instance and get access to:

  • A fully managed BunkerWeb instance hosted in our cloud
  • All BunkerWeb features, including PRO ones
  • A monitoring platform with dashboards and alerts
  • Technical support to assist you with configuration

If you are interested in the BunkerWeb Cloud offering, don't hesitate to contact us so we can discuss your needs.

PRO version

Want to quickly test BunkerWeb PRO for one month? Use the code freetrial when placing your order on the BunkerWeb panel or by clicking here to directly to apply the promo code (will be effective at checkout).

When using BunkerWeb, you have the choice of the version you want to use: open-source or PRO.

Whether it's enhanced security, an enriched user experience, or technical monitoring, the BunkerWeb PRO version allows you to fully benefit from BunkerWeb and meet your professional needs.

In the documentation or the user interface, PRO features are annotated with a crown crown pro icon to distinguish them from those integrated into the open-source version.

You can upgrade from the open-source version to the PRO one easily and at any time. The process is straightforward:

Do not hesitate to visit the BunkerWeb panel or contact us if you have any questions regarding the PRO version.

Professional services

Get the most out of BunkerWeb by getting professional services directly from the maintainers of the project. From technical support to tailored consulting and development, we are here to assist you in the security of your web services.

You will find more information by visiting the BunkerWeb Panel, our dedicated platform for professional services.

Don't hesitate to contact us if you have any questions; we will be more than happy to respond to your needs.

Ecosystem, community, and resources

Official websites, tools, and resources about BunkerWeb:

  • Website: get more information, news, and articles about BunkerWeb
  • Panel: dedicated platform to order and manage professional services (e.g., technical support) around BunkerWeb
  • Documentation: technical documentation of the BunkerWeb solution
  • Demo: demonstration website of BunkerWeb, don't hesitate to attempt attacks to test the robustness of the solution
  • Web UI: online read-only demo of the web UI of BunkerWeb
  • Threatmap: live cyber attack blocked by BunkerWeb instances all around the world

Community and social networks:

Concepts

Concepts banner

You will find more information about the key concepts of BunkerWeb in the documentation.

Integrations

The first concept is the integration of BunkerWeb into the target environment. We prefer to use the word "integration" instead of "installation" because one of the goals of BunkerWeb is to integrate seamlessly into existing environments.

The following integrations are officially supported:

Settings

Once BunkerWeb is integrated into your environment, you will need to configure it to serve and protect your web applications.

The configuration of BunkerWeb is done by using what we call the "settings" or "variables." Each setting is identified by a name such as AUTO_LETS_ENCRYPT or USE_ANTIBOT. You can assign values to the settings to configure BunkerWeb.

Here is a dummy example of a BunkerWeb configuration:

SERVER_NAME=www.example.com
AUTO_LETS_ENCRYPT=yes
USE_ANTIBOT=captcha
REFERRER_POLICY=no-referrer
USE_MODSECURITY=no
USE_GZIP=yes
USE_BROTLI=no

Multisite mode

The multisite mode is a crucial concept to understand when using BunkerWeb. Because the goal is to protect web applications, we intrinsically inherit the concept of "virtual host" or "vhost" (more info here) which makes it possible to serve multiple web applications from a single (or a cluster of) instance.

By default, the multisite mode of BunkerWeb is disabled, which means that only one web application will be served and all the settings will be applied to it. The typical use case is when you have a single application to protect: you don't have to worry about the multisite, and the default behavior should be the right one for you.

When multisite mode is enabled, BunkerWeb will serve and protect multiple web applications. Each web application is identified by a unique server name and has its own set of settings. The typical use case is when you have multiple applications to protect and you want to use a single (or a cluster depending on the integration) instance of BunkerWeb.

Custom configurations

Because meeting all the use cases only using the settings is not an option (even with external plugins), you can use custom configurations to solve your specific challenges.

Under the hood, BunkerWeb uses the notorious NGINX web server, that's why you can leverage its configuration system for your specific needs. Custom NGINX configurations can be included in different contexts like HTTP or server (all servers and/or specific server block).

Another core component of BunkerWeb is the ModSecurity Web Application Firewall: you can also use custom configurations to fix some false positives or add custom rules, for example.

Database

Database model

The state of the current configuration of BunkerWeb is stored in a backend database which contains the following data:

  • Settings defined for all the services
  • Custom configurations
  • BunkerWeb instances
  • Metadata about job execution
  • Cached files

The following backend databases are supported: SQLite, MariaDB, MySQL, and PostgreSQL.

Scheduler

To make things automagically work together, a dedicated service called the scheduler is in charge of:

  • Storing the settings and custom configurations inside the database
  • Executing various tasks (called jobs)
  • Generating a configuration which is understood by BunkerWeb
  • Being the intermediary for other services (like web UI or autoconf)

In other words, the scheduler is the brain of BunkerWeb.

Setup

Linux

Linux banner

List of supported Linux distros:

  • Debian 12 "Bookworm"
  • Debian 13 "Trixie"
  • Ubuntu 22.04 "Jammy"
  • Ubuntu 24.04 "Noble"
  • Ubuntu 26.04 "Resolute Raccoon"
  • Fedora 43
  • Fedora 44
  • RHEL, CentOS, Rocky Linux and AlmaLinux 8, 9 and 10

You will find more information in the Linux section of the documentation.

Docker

Docker banner

We provide ready-to-use prebuilt images for x64, x86, armv7, and arm64 platforms on Docker Hub.

Docker integration key concepts are:

  • Environment variables to configure BunkerWeb
  • Scheduler container to store configuration and execute jobs
  • Networks to expose ports for clients and connect to upstream web services

You will find more information in the Docker integration section of the documentation.

Docker autoconf

Docker autoconf banner

The downside of using environment variables is that the container needs to be recreated each time there is an update, which is not very convenient. To counter that issue, you can use another image called autoconf which will listen for Docker events and automatically reconfigure BunkerWeb in real-time without recreating the container.

Instead of defining environment variables for the BunkerWeb container, you simply add labels to your web applications containers and the autoconf will "automagically" take care of the rest.

You will find more information in the Docker autoconf section of the documentation.

Kubernetes

Kubernetes banner

The autoconf acts as an Ingress controller and will configure the BunkerWeb instances according to the Ingress resources. It also monitors other Kubernetes objects like ConfigMap for custom configurations.

The official Helm chart for BunkerWeb is available in the bunkerity/bunkerweb-helm repository.

You will find more information in the Kubernetes section of the documentation.

Microsoft Azure

Azure banner

BunkerWeb is referenced in the Azure Marketplace and an ARM template is available in the misc folder.

You will find more information in the Microsoft Azure section of the documentation.

Swarm

Swarm banner

To automatically configure BunkerWeb instances, a special service, called autoconf will listen for Docker Swarm events like service creation or deletion and automatically configure the BunkerWeb instances in real-time without downtime.

Like the Docker autoconf integration, configuration for web services is defined using labels starting with the special bunkerweb. prefix.

You will find more information in the Swarm section of the documentation.

Quickstart guide

Once you have set up BunkerWeb with the integration of your choice, you can follow the quickstart guide that will cover the installation and first configuration to protect a web service.

Security tuning

BunkerWeb offers many security features that you can configure with features. Even if the default values of settings ensure a minimal "security by default," we strongly recommend you to tune them. By doing so, you will be able to ensure a security level of your choice but also manage false positives.

You will find more information in the security tuning section of the documentation.

Settings

As a general rule, when multisite mode is enabled, if you want to apply settings with multisite context to a specific server, you will need to add the primary (first) server name as a prefix like www.example.com_USE_ANTIBOT=captcha or myapp.example.com_USE_GZIP=yes, for example.

When settings are considered as "multiple," it means that you can have multiple groups of settings for the same feature by adding numbers as suffixes like REVERSE_PROXY_URL_1=/subdir, REVERSE_PROXY_HOST_1=http://myhost1, REVERSE_PROXY_URL_2=/anotherdir, REVERSE_PROXY_HOST_2=http://myhost2, ... for example.

Check the features section of the documentation to get the full list.

Web UI

https://github.com/user-attachments/assets/a3ed56f8-c124-4ca9-b8b3-4be0913b3078

The "Web UI" is a web application that helps you manage your BunkerWeb instance using a user-friendly interface instead of the command-line one.

Here is the list of features offered by the web UI:

  • Get a comprehensive view of the blocked attacks
  • Start, stop, restart, and reload your BunkerWeb instance
  • Add, edit, and delete settings for your web applications
  • Add, edit, and delete custom configurations for NGINX and ModSecurity
  • Install and uninstall external plugins
  • Explore the cached files
  • Monitor job execution and restart them when needed
  • View the logs and search patterns

You will find more information in the Web UI section of the documentation.

Plugins

BunkerWeb comes with a plugin system to make it possible to easily add new features. Once a plugin is installed, you can manage it using additional settings defined by the plugin.

Here is the list of "official" plugins that we maintain (see the bunkerweb-plugins repository for more information):

Name Version Description Link
ClamAV 1.9 Automatically scans uploaded files with the ClamAV antivirus engine and denies the request when a file is detected as malicious. bunkerweb-plugins/clamav
Coraza 1.9 Inspect requests using the Coraza WAF (alternative of ModSecurity). bunkerweb-plugins/coraza
Discord 1.9 Send security notifications to a Discord channel using a Webhook. bunkerweb-plugins/discord
Slack 1.9 Send security notifications to a Slack channel using a Webhook. bunkerweb-plugins/slack
VirusTotal 1.9 Automatically scans uploaded files with the VirusTotal API and denies the request when a file is detected as malicious. bunkerweb-plugins/virustotal
WebHook 1.9 Send security notifications to a custom HTTP endpoint using a Webhook. bunkerweb-plugins/webhook

You will find more information in the plugins section of the documentation.

Language Support & Localization

BunkerWeb UI supports multiple languages. Translations are managed in the src/ui/app/static/locales directory. The following languages are currently available:

  • Arabic (ar)
  • Bengali (bn)
  • Brazilian Portuguese (br)
  • German (de)
  • English (en)
  • Spanish (es)
  • French (fr)
  • Hindi (hi)
  • Italian (it)
  • Korean (ko)
  • Polish (pl)
  • Portuguese (pt)
  • Russian (ru)
  • Turkish (tr)
  • Traditional Chinese (tw)
  • Urdu (ur)
  • Simplified Chinese (zh)

See the locales/README.md for details on translation provenance and review status.

Contributing Translations

We welcome contributions to improve or add new locale files!

How to contribute a translation:

  1. Edit the src/ui/app/lang_config.py file to add your language (code, name, flag, english_name).
  2. Copy en.json as a template in src/ui/app/static/locales/, rename it to your language code (e.g., de.json for German).
  3. Translate the values in your new file.
  4. Update the table in locales/README.md to add your language and indicate who created/reviewed it.
  5. Submit a pull request.

For updates, edit the relevant file and update the provenance table as needed.

See the locales/README.md for full guidelines.

Support

Professional

Get technical support directly from the BunkerWeb maintainers. You will find more information by visiting the BunkerWeb Panel, our dedicated platform for professional services.

Don't hesitate to contact us if you have any questions; we will be more than happy to respond to your needs.

Community

To get free community support, you can use the following media:

Please don't use GitHub issues to ask for help; use it only for bug reports and feature requests.

License

This project is licensed under the terms of the GNU Affero General Public License (AGPL) version 3.

Contribute

If you would like to contribute to the plugins, you can read the contributing guidelines to get started.

Security policy

We take security bugs as serious issues and encourage responsible disclosure; see our security policy for more information.

Frequently asked questions

Is bunkerweb free to use?

bunkerweb is open source under the AGPL-3.0 licence. There is no licence fee and no seat count โ€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does bunkerweb do?

๐Ÿ›ก๏ธ Open-source and cloud-native Web Application Firewall (WAF)

What is bunkerweb written in?

bunkerweb is primarily written in Python. Its source is publicly available at https://github.com/bunkerity/bunkerweb, and it has 11,204 GitHub stars.