diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index ff02e90d8..459df0aec 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -47,7 +47,7 @@ body: label: BunkerWeb version description: What version of BunkerWeb are you running? placeholder: Version - value: 1.5.3 + value: 1.5.4 validations: required: true - type: dropdown diff --git a/README.md b/README.md index fe5c38e1f..2d70d4715 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- BunkerWeb logo + BunkerWeb logo

@@ -24,7 +24,7 @@ | 👨‍💻 Demo | - 🛡️ Examples + 🛡️ Examples | 💬 Chat | @@ -40,14 +40,14 @@ # BunkerWeb

- Overview banner + Overview banner

BunkerWeb is a next-generation and open-source Web Application Firewall (WAF). -Being a full-featured web server (based on [NGINX](https://nginx.org/) under the hood), it will protect your web services to make them "secure by default". BunkerWeb integrates seamlessly into your existing environments ([Linux](https://docs.bunkerweb.io/1.5.3/integrations/#linux), [Docker](https://docs.bunkerweb.io/1.5.3/integrations/#docker), [Swarm](https://docs.bunkerweb.io/1.5.3/integrations/#swarm), [Kubernetes](https://docs.bunkerweb.io/1.5.3/integrations/#kubernetes), …) and is fully configurable (don't panic, there is an [awesome web UI](https://docs.bunkerweb.io/1.5.3/web-ui/) if you don't like the CLI) to meet your own use-cases . In other words, cybersecurity is no more a hassle. +Being a full-featured web server (based on [NGINX](https://nginx.org/) under the hood), it will protect your web services to make them "secure by default". BunkerWeb integrates seamlessly into your existing environments ([Linux](https://docs.bunkerweb.io/1.5.4/integrations/#linux), [Docker](https://docs.bunkerweb.io/1.5.4/integrations/#docker), [Swarm](https://docs.bunkerweb.io/1.5.4/integrations/#swarm), [Kubernetes](https://docs.bunkerweb.io/1.5.4/integrations/#kubernetes), …) and is fully configurable (don't panic, there is an [awesome web UI](https://docs.bunkerweb.io/1.5.4/web-ui/) if you don't like the CLI) to meet your own use-cases . In other words, cybersecurity is no more a hassle. -BunkerWeb contains primary [security features](https://docs.bunkerweb.io/1.5.3/security-tuning/) as part of the core but can be easily extended with additional ones thanks to a [plugin system](https://docs.bunkerweb.io/1.5.3/plugins/). +BunkerWeb contains primary [security features](https://docs.bunkerweb.io/1.5.4/security-tuning/) as part of the core but can be easily extended with additional ones thanks to a [plugin system](https://docs.bunkerweb.io/1.5.4/plugins/). ## Why BunkerWeb ? @@ -71,7 +71,7 @@ A non-exhaustive list of security features : - **Block known bad IPs** with external blacklists and DNSBL - And much more ... -Learn more about the core security features in the [security tuning](https://docs.bunkerweb.io/1.5.3/security-tuning/) section of the documentation. +Learn more about the core security features in the [security tuning](https://docs.bunkerweb.io/1.5.4/security-tuning/) section of the documentation. ## Demo @@ -84,10 +84,10 @@ A demo website protected with BunkerWeb is available at [demo.bunkerweb.io](http # Concepts

- Concepts banner + Concepts banner

-You will find more information about the key concepts of BunkerWeb in the [documentation](https://docs.bunkerweb.io/1.5.3/concepts). +You will find more information about the key concepts of BunkerWeb in the [documentation](https://docs.bunkerweb.io/1.5.4/concepts). ## Integrations @@ -95,13 +95,13 @@ The first concept is the integration of BunkerWeb into the target environment. W The following integrations are officially supported : -- [Docker](https://docs.bunkerweb.io/1.5.3/integrations/#docker) -- [Docker autoconf](https://docs.bunkerweb.io/1.5.3/integrations/#docker-autoconf) -- [Swarm](https://docs.bunkerweb.io/1.5.3/integrations/#swarm) -- [Kubernetes](https://docs.bunkerweb.io/1.5.3/integrations/#kubernetes) -- [Linux](https://docs.bunkerweb.io/1.5.3/integrations/#linux) -- [Ansible](https://docs.bunkerweb.io/1.5.3/integrations/#ansible) -- [Vagrant](https://docs.bunkerweb.io/1.5.3/integrations/#vagrant) +- [Docker](https://docs.bunkerweb.io/1.5.4/integrations/#docker) +- [Docker autoconf](https://docs.bunkerweb.io/1.5.4/integrations/#docker-autoconf) +- [Swarm](https://docs.bunkerweb.io/1.5.4/integrations/#swarm) +- [Kubernetes](https://docs.bunkerweb.io/1.5.4/integrations/#kubernetes) +- [Linux](https://docs.bunkerweb.io/1.5.4/integrations/#linux) +- [Ansible](https://docs.bunkerweb.io/1.5.4/integrations/#ansible) +- [Vagrant](https://docs.bunkerweb.io/1.5.4/integrations/#vagrant) ## Settings @@ -133,7 +133,7 @@ When multisite mode is enabled, BunkerWeb will serve and protect multiple web ap ## Custom configurations -Because meeting all the use cases only using the settings is not an option (even with [external plugins](https://docs.bunkerweb.io/1.5.3/plugins)), you can use custom configurations to solve your specific challenges. +Because meeting all the use cases only using the settings is not an option (even with [external plugins](https://docs.bunkerweb.io/1.5.4/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](https://docs.nginx.com/nginx/admin-guide/basic-functionality/managing-configuration-files/#contexts) like HTTP or server (all servers and/or specific server block). @@ -167,7 +167,7 @@ In other words, the scheduler is the brain of BunkerWeb. ## Docker

- Docker banner + Docker banner

We provide ready to use prebuilt images for x64, x86, armv7 and arm64 platforms on [Docker Hub](https://hub.docker.com/u/bunkerity). @@ -178,46 +178,46 @@ Docker integration key concepts are : - **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](https://docs.bunkerweb.io/1.5.3/integrations/#docker) of the documentation. +You will find more information in the [Docker integration section](https://docs.bunkerweb.io/1.5.4/integrations/#docker) of the documentation. ## Docker autoconf

- Docker autoconf banner + 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](https://docs.bunkerweb.io/1.5.3/integrations/#docker-autoconf) of the documentation. +You will find more information in the [Docker autoconf section](https://docs.bunkerweb.io/1.5.4/integrations/#docker-autoconf) of the documentation. ## Swarm

- Swarm banner + 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](https://docs.bunkerweb.io/1.5.3/integrations/#docker-autoconf), configuration for web services is defined using labels starting with the special **bunkerweb.** prefix. +Like the [Docker autoconf integration](https://docs.bunkerweb.io/1.5.4/integrations/#docker-autoconf), configuration for web services is defined using labels starting with the special **bunkerweb.** prefix. -You will find more information in the [Swarm section](https://docs.bunkerweb.io/1.5.3/integrations/#swarm) of the documentation. +You will find more information in the [Swarm section](https://docs.bunkerweb.io/1.5.4/integrations/#swarm) of the documentation. ## Kubernetes

- Kubernetes banner + Kubernetes banner

The autoconf acts as an [Ingress controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/) and will configure the BunkerWeb instances according to the [Ingress resources](https://kubernetes.io/docs/concepts/services-networking/ingress/). It also monitors other Kubernetes objects like [ConfigMap](https://kubernetes.io/docs/concepts/configuration/configmap/) for custom configurations. -You will find more information in the [Kubernetes section](https://docs.bunkerweb.io/1.5.3/integrations/#kubernetes) of the documentation. +You will find more information in the [Kubernetes section](https://docs.bunkerweb.io/1.5.4/integrations/#kubernetes) of the documentation. ## Linux

- Linux banner + Linux banner

List of supported Linux distros : @@ -229,12 +229,12 @@ List of supported Linux distros : Repositories of Linux packages for BunkerWeb are available on [PackageCloud](https://packagecloud.io/bunkerity/bunkerweb), they provide a bash script to automatically add and trust the repository (but you can also follow the [manual installation](https://packagecloud.io/bunkerity/bunkerweb/install) instructions if you prefer). -You will find more information in the [Linux section](https://docs.bunkerweb.io/1.5.3/integrations/#linux) of the documentation. +You will find more information in the [Linux section](https://docs.bunkerweb.io/1.5.4/integrations/#linux) of the documentation. ## Ansible

- Ansible banner + Ansible banner

List of supported Linux distros : @@ -248,7 +248,7 @@ List of supported Linux distros : A specific BunkerWeb Ansible role is available on [Ansible Galaxy](https://galaxy.ansible.com/bunkerity/bunkerweb) (source code is available [here](https://github.com/bunkerity/bunkerweb-ansible)). -You will find more information in the [Ansible section](https://docs.bunkerweb.io/1.5.3/integrations/#ansible) of the documentation. +You will find more information in the [Ansible section](https://docs.bunkerweb.io/1.5.4/integrations/#ansible) of the documentation. ## Vagrant @@ -257,11 +257,11 @@ We maintain ready to use Vagrant boxes hosted on Vagrant cloud for the following - virtualbox - libvirt -You will find more information in the [Vagrant section](https://docs.bunkerweb.io/1.5.3/integrations/#vagrant) of the documentation. +You will find more information in the [Vagrant section](https://docs.bunkerweb.io/1.5.4/integrations/#vagrant) of the documentation. # Quickstart guide -Once you have setup BunkerWeb with the integration of your choice, you can follow the [quickstart guide](https://docs.bunkerweb.io/1.5.3/quickstart-guide/) that will cover the following common use cases : +Once you have setup BunkerWeb with the integration of your choice, you can follow the [quickstart guide](https://docs.bunkerweb.io/1.5.4/quickstart-guide/) that will cover the following common use cases : - Protecting a single HTTP application - Protecting multiple HTTP application @@ -272,9 +272,9 @@ Once you have setup BunkerWeb with the integration of your choice, you can follo # Security tuning -BunkerWeb offers many security features that you can configure with [settings](https://docs.bunkerweb.io/1.5.3/settings). 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. +BunkerWeb offers many security features that you can configure with [settings](https://docs.bunkerweb.io/1.5.4/settings). 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](https://docs.bunkerweb.io/1.5.3/security-tuning) of the documentation. +You will find more information in the [security tuning section](https://docs.bunkerweb.io/1.5.4/security-tuning) of the documentation. # Settings @@ -284,13 +284,13 @@ As a general rule when multisite mode is enabled, if you want to apply settings When settings are considered as "multiple", it means that you can have multiple groups of settings for the same feature by adding numbers as suffix 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 [settings section](https://docs.bunkerweb.io/1.5.3/settings) of the documentation to get the full list. +Check the [settings section](https://docs.bunkerweb.io/1.5.4/settings) of the documentation to get the full list. # Web UI

- +

@@ -304,7 +304,7 @@ The "Web UI" is a web application that helps you manage your BunkerWeb instance - Monitor jobs execution - View the logs and search pattern -You will find more information in the [Web UI section](https://docs.bunkerweb.io/1.5.3/web-ui) of the documentation. +You will find more information in the [Web UI section](https://docs.bunkerweb.io/1.5.4/web-ui) of the documentation. # Plugins @@ -322,7 +322,7 @@ Here is the list of "official" plugins that we maintain (see the [bunkerweb-plug | **VirusTotal** | 1.2 | Automatically scans uploaded files with the VirusTotal API and denies the request when a file is detected as malicious. | [bunkerweb-plugins/virustotal](https://github.com/bunkerity/bunkerweb-plugins/tree/main/virustotal) | | **WebHook** | 1.2 | Send security notifications to a custom HTTP endpoint using a Webhook. | [bunkerweb-plugins/slack](https://github.com/bunkerity/bunkerweb-plugins/tree/main/webhook) | -You will find more information in the [plugins section](https://docs.bunkerweb.io/1.5.3/plugins) of the documentation. +You will find more information in the [plugins section](https://docs.bunkerweb.io/1.5.4/plugins) of the documentation. # Support @@ -350,15 +350,15 @@ Please don't use [GitHub issues](https://github.com/bunkerity/bunkerweb/issues) # License -This project is licensed under the terms of the [GNU Affero General Public License (AGPL) version 3](https://github.com/bunkerity/bunkerweb/raw/v1.5.3/LICENSE.md). +This project is licensed under the terms of the [GNU Affero General Public License (AGPL) version 3](https://github.com/bunkerity/bunkerweb/raw/v1.5.4/LICENSE.md). # Contribute -If you would like to contribute to the plugins you can read the [contributing guidelines](https://github.com/bunkerity/bunkerweb/raw/v1.5.3/CONTRIBUTING.md) to get started. +If you would like to contribute to the plugins you can read the [contributing guidelines](https://github.com/bunkerity/bunkerweb/raw/v1.5.4/CONTRIBUTING.md) to get started. # Security policy -We take security bugs as serious issues and encourage responsible disclosure, see our [security policy](https://github.com/bunkerity/bunkerweb/raw/v1.5.3/SECURITY.md) for more information. +We take security bugs as serious issues and encourage responsible disclosure, see our [security policy](https://github.com/bunkerity/bunkerweb/raw/v1.5.4/SECURITY.md) for more information. # Stargazers over time diff --git a/docs/assets/img/core-order.svg b/docs/assets/img/core-order.svg old mode 100755 new mode 100644 diff --git a/docs/assets/img/ui-wizard-account.png b/docs/assets/img/ui-wizard-account.png new file mode 100644 index 000000000..8337f91a6 Binary files /dev/null and b/docs/assets/img/ui-wizard-account.png differ diff --git a/docs/assets/img/ui-wizard-settings.png b/docs/assets/img/ui-wizard-settings.png new file mode 100644 index 000000000..e7d37b289 Binary files /dev/null and b/docs/assets/img/ui-wizard-settings.png differ diff --git a/docs/concepts.md b/docs/concepts.md index 51267535e..d2ee98d4e 100644 --- a/docs/concepts.md +++ b/docs/concepts.md @@ -81,7 +81,7 @@ app3.example.com_USE_BAD_BEHAVIOR=no !!! info "Going further" - You will find concrete examples of multisite mode in the [quickstart guide](quickstart-guide.md) of the documentation and the [examples](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/examples) directory of the repository. + You will find concrete examples of multisite mode in the [quickstart guide](quickstart-guide.md) of the documentation and the [examples](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/examples) directory of the repository. ## Custom configurations @@ -95,7 +95,7 @@ By leveraging custom configurations, you unlock a world of possibilities to tail !!! info "Going further" - You will find concrete examples of custom configurations in the [quickstart guide](quickstart-guide.md) of the documentation and the [examples](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/examples) directory of the repository. + You will find concrete examples of custom configurations in the [quickstart guide](quickstart-guide.md) of the documentation and the [examples](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/examples) directory of the repository. ## Database diff --git a/docs/integrations.md b/docs/integrations.md index 95c5b1299..b2463c095 100644 --- a/docs/integrations.md +++ b/docs/integrations.md @@ -21,13 +21,13 @@ By accessing these prebuilt images from Docker Hub, you can quickly pull and run Whether you're conducting tests, developing applications, or deploying BunkerWeb in production, the Docker containerization option provides flexibility and ease of use. Embracing this method empowers you to take full advantage of BunkerWeb's features while leveraging the benefits of Docker technology. ```shell -docker pull bunkerity/bunkerweb:1.5.3 +docker pull bunkerity/bunkerweb:1.5.4 ``` Docker images are also available on [GitHub packages](https://github.com/orgs/bunkerity/packages?repo_name=bunkerweb) and can be downloaded using the `ghcr.io` repository address : ```shell -docker pull ghcr.io/bunkerity/bunkerweb:1.5.3 +docker pull ghcr.io/bunkerity/bunkerweb:1.5.4 ``` Alternatively, if you prefer a more hands-on approach, you have the option to build the Docker image directly from the [source](https://github.com/bunkerity/bunkerweb). Building the image from source gives you greater control and customization over the deployment process. However, please note that this method may take some time to complete, depending on your hardware configuration. @@ -57,7 +57,7 @@ When integrating BunkerWeb with Docker, there are key concepts to keep in mind, - **Networks**: Docker networks play a vital role in the integration of BunkerWeb. These networks serve two main purposes: exposing ports to clients and connecting to upstream web services. By exposing ports, BunkerWeb can accept incoming requests from clients, allowing them to access the protected web services. Additionally, by connecting to upstream web services, BunkerWeb can efficiently route and manage the traffic, providing enhanced security and performance. !!! info "Database backend" - Please be aware that our instructions assume you are using SQLite as the default database backend, as configured by the `DATABASE_URI` setting. However, we understand that you may prefer to utilize alternative backends for your Docker integration. If that is the case, rest assured that other database backends are still possible. See docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/misc/integrations) folder of the repository for more information. + Please be aware that our instructions assume you are using SQLite as the default database backend, as configured by the `DATABASE_URI` setting. However, we understand that you may prefer to utilize alternative backends for your Docker integration. If that is the case, rest assured that other database backends are still possible. See docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/misc/integrations) folder of the repository for more information. ### Environment variables @@ -67,7 +67,7 @@ Settings are passed to BunkerWeb using Docker environment variables : ... services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 labels: - "bunkerweb.INSTANCE=yes" environment: @@ -86,7 +86,7 @@ Please note that the `bunkerweb.INSTANCE` is mandatory to make sure the schedule The [scheduler](concepts.md#scheduler) is executed in its own container which is also available on Docker Hub : ```shell -docker pull bunkerity/bunkerweb-scheduler:1.5.3 +docker pull bunkerity/bunkerweb-scheduler:1.5.4 ``` Alternatively, you can build the Docker image directly from the [source](https://github.com/bunkerity/bunkerweb) (less coffee ☕ needed than BunkerWeb image) : @@ -103,7 +103,7 @@ A volume is needed to store the SQLite database that will be used by the schedul ... services: bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 volumes: - bw-data:/data ... @@ -165,7 +165,7 @@ You will need to create the Docker API proxy container, mount the socket and set ... services: bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 env: - DOCKER_HOST=tcp://bw-docker:2375 ... @@ -213,7 +213,7 @@ To secure the communication between the scheduler and BunkerWeb API, it is impor ... services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -222,7 +222,7 @@ services: - bw-universe ... bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 networks: - bw-universe - bw-docker @@ -252,7 +252,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -266,7 +266,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -326,7 +326,7 @@ By adopting this approach, you can enjoy real-time reconfiguration of BunkerWeb The Docker autoconf integration implies the use of **multisite mode**. Please refer to the [multisite section](concepts.md#multisite-mode) of the documentation for more information. !!! info "Database backend" - Please be aware that our instructions assume you are using MariaDB as the default database backend, as configured by the `DATABASE_URI` setting. However, we understand that you may prefer to utilize alternative backends for your Docker integration. If that is the case, rest assured that other database backends are still possible. See docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/misc/integrations) folder of the repository for more information. + Please be aware that our instructions assume you are using MariaDB as the default database backend, as configured by the `DATABASE_URI` setting. However, we understand that you may prefer to utilize alternative backends for your Docker integration. If that is the case, rest assured that other database backends are still possible. See docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/misc/integrations) folder of the repository for more information. To enable automated configuration updates, include an additional container called `bw-autoconf` in the stack. This container hosts the autoconf service, which manages dynamic configuration changes for BunkerWeb. To support this functionality, use a dedicated "real" database backend (e.g., MariaDB, MySQL, or PostgreSQL) for synchronized configuration storage. By integrating `bw-autoconf` and a suitable database backend, you establish the infrastructure for seamless automated configuration management in BunkerWeb. @@ -335,7 +335,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -352,7 +352,7 @@ services: - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker @@ -365,7 +365,7 @@ services: - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -464,7 +464,7 @@ Since multiple instances of BunkerWeb are running, a shared data store implement As for the database volume, the documentation does not specify a specific approach. Choosing either a shared folder or a specific driver for the database volume is dependent on your unique use-case and is left as an exercise for the reader. !!! info "Database backend" - Please be aware that our instructions assume you are using MariaDB as the default database backend, as configured by the `DATABASE_URI` setting. However, we understand that you may prefer to utilize alternative backends for your Docker integration. If that is the case, rest assured that other database backends are still possible. See docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/misc/integrations) folder of the repository for more information. + Please be aware that our instructions assume you are using MariaDB as the default database backend, as configured by the `DATABASE_URI` setting. However, we understand that you may prefer to utilize alternative backends for your Docker integration. If that is the case, rest assured that other database backends are still possible. See docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/misc/integrations) folder of the repository for more information. Clustered database backends setup are out-of-the-scope of this documentation. @@ -475,7 +475,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - published: 80 target: 8080 @@ -505,7 +505,7 @@ services: - "bunkerweb.INSTANCE=yes" bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -537,7 +537,7 @@ services: - "node.role == manager" bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -637,7 +637,7 @@ For an optimal setup, it is recommended to define BunkerWeb as a **[DaemonSet](h Given the presence of multiple BunkerWeb instances, it is necessary to establish a shared data store implemented as a [Redis](https://redis.io/) service. This Redis service will be utilized by the instances to cache and share data among themselves. Further information about the Redis settings can be found [here](settings.md#redis). !!! info "Database backend" - Please be aware that our instructions assume you are using MariaDB as the default database backend, as configured by the `DATABASE_URI` setting. However, we understand that you may prefer to utilize alternative backends for your Docker integration. If that is the case, rest assured that other database backends are still possible. See docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/misc/integrations) folder of the repository for more information. + Please be aware that our instructions assume you are using MariaDB as the default database backend, as configured by the `DATABASE_URI` setting. However, we understand that you may prefer to utilize alternative backends for your Docker integration. If that is the case, rest assured that other database backends are still possible. See docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/misc/integrations) folder of the repository for more information. Clustered database backends setup are out-of-the-scope of this documentation. @@ -698,7 +698,7 @@ spec: containers: # using bunkerweb as name is mandatory - name: bunkerweb - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 imagePullPolicy: Always securityContext: runAsUser: 101 @@ -768,7 +768,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -795,7 +795,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-scheduler - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -978,12 +978,12 @@ To simplify the installation process, Linux package repositories for BunkerWeb a !!! warning "Testing version" If you use the `testing` version, you will need to add the `force-bad-version` directive to your `/etc/dpkg/dpkg.cfg` file before installing BunkerWeb. - And finally install BunkerWeb 1.5.3 : + And finally install BunkerWeb 1.5.4 : ```shell curl -s https://packagecloud.io/install/repositories/bunkerity/bunkerweb/script.deb.sh | sudo bash && \ sudo apt update && \ - sudo apt install -y bunkerweb=1.5.3 + sudo apt install -y bunkerweb=1.5.4 ``` To prevent upgrading NGINX and/or BunkerWeb packages when executing `apt upgrade`, you can use the following command : @@ -1015,12 +1015,12 @@ To simplify the installation process, Linux package repositories for BunkerWeb a !!! warning "Testing version" If you use the `testing` version, you will need to add the `force-bad-version` directive to your `/etc/dpkg/dpkg.cfg` file before installing BunkerWeb. - And finally install BunkerWeb 1.5.3 : + And finally install BunkerWeb 1.5.4 : ```shell curl -s https://packagecloud.io/install/repositories/bunkerity/bunkerweb/script.deb.sh | sudo bash && \ sudo apt update && \ - sudo apt install -y bunkerweb=1.5.3 + sudo apt install -y bunkerweb=1.5.4 ``` To prevent upgrading NGINX and/or BunkerWeb packages when executing `apt upgrade`, you can use the following command : @@ -1037,14 +1037,14 @@ To simplify the installation process, Linux package repositories for BunkerWeb a sudo dnf install -y nginx-1.24.0 ``` - And finally install BunkerWeb 1.5.3 : + And finally install BunkerWeb 1.5.4 : ```shell curl -s https://packagecloud.io/install/repositories/bunkerity/bunkerweb/script.rpm.sh | \ sed 's/yum install -y pygpgme --disablerepo='\''bunkerity_bunkerweb'\''/yum install -y python-gnupg/g' | \ sed 's/pypgpme_check=`rpm -qa | grep -qw pygpgme`/python-gnupg_check=`rpm -qa | grep -qw python-gnupg`/g' | sudo bash && \ sudo dnf makecache && \ - sudo dnf install -y bunkerweb-1.5.3 + sudo dnf install -y bunkerweb-1.5.4 ``` To prevent upgrading NGINX and/or BunkerWeb packages when executing `dnf upgrade`, you can use the following command : @@ -1081,13 +1081,13 @@ To simplify the installation process, Linux package repositories for BunkerWeb a ```shell sudo dnf install nginx-1.24.0 ``` - And finally install BunkerWeb 1.5.3 : + And finally install BunkerWeb 1.5.4 : ```shell dnf install -y epel-release && \ curl -s https://packagecloud.io/install/repositories/bunkerity/bunkerweb/script.rpm.sh | sudo bash && \ sudo dnf check-update && \ - sudo dnf install -y bunkerweb-1.5.3 + sudo dnf install -y bunkerweb-1.5.4 ``` To prevent upgrading NGINX and/or BunkerWeb packages when executing `dnf upgrade`, you can use the following command : @@ -1165,7 +1165,7 @@ the configuration of BunkerWeb is done by using specific role variables : | Name | Type | Description | Default value | | :-------------------: | :--------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | -| `bunkerweb_version` | string | Version of BunkerWeb to install. | `1.5.3` | +| `bunkerweb_version` | string | Version of BunkerWeb to install. | `1.5.4` | | `nginx_version` | string | Version of NGINX to install. | `1.24.0` | | `freeze_versions` | boolean | Prevent upgrade of BunkerWeb and NGINX when performing packages upgrades. | `true` | | `variables_env` | string | Path of the variables.env file to configure BunkerWeb. | `files/variables.env` | diff --git a/docs/migrating.md b/docs/migrating.md index 00ae5d0d5..ecd8d5a1b 100644 --- a/docs/migrating.md +++ b/docs/migrating.md @@ -2,7 +2,7 @@ !!! warning "Read this if you were a 1.4.X user" - A lot of things changed since the 1.4.X releases. Container-based integrations stacks contain more services but, trust us, fundamental principles of BunkerWeb are still there. You will find ready to use boilerplates for various integrations in the [misc/integrations](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/misc/integrations) folder of the repository. + A lot of things changed since the 1.4.X releases. Container-based integrations stacks contain more services but, trust us, fundamental principles of BunkerWeb are still there. You will find ready to use boilerplates for various integrations in the [misc/integrations](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/misc/integrations) folder of the repository. ## Scheduler diff --git a/docs/plugins.md b/docs/plugins.md index 7604d3c3e..f99613c3c 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -58,7 +58,7 @@ The first step is to install the plugin by putting the plugin files inside the c services: ... bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 volumes: - ./bw-data:/data ... @@ -95,7 +95,7 @@ The first step is to install the plugin by putting the plugin files inside the c services: ... bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 volumes: - ./bw-data:/data ... @@ -134,7 +134,7 @@ The first step is to install the plugin by putting the plugin files inside the c services: ... bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 volumes: - /shared/bw-plugins:/data/plugins ... @@ -181,7 +181,7 @@ The first step is to install the plugin by putting the plugin files inside the c serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-scheduler - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -262,7 +262,7 @@ The first step is to install the plugin by putting the plugin files inside the c !!! tip "Existing plugins" - If the documentation is not enough, you can have a look at the existing source code of [official plugins](https://github.com/bunkerity/bunkerweb-plugins) and the [core plugins](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/src/common/core) (already included in BunkerWeb but they are plugins, technically speaking). + If the documentation is not enough, you can have a look at the existing source code of [official plugins](https://github.com/bunkerity/bunkerweb-plugins) and the [core plugins](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/src/common/core) (already included in BunkerWeb but they are plugins, technically speaking). The first step is to create a folder that will contain the plugin : @@ -507,7 +507,7 @@ end !!! tip "More examples" - If you want to see the full list of available functions, you can have a look at the files present in the [lua directory](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/src/bw/lua/bunkerweb) of the repository. + If you want to see the full list of available functions, you can have a look at the files present in the [lua directory](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/src/bw/lua/bunkerweb) of the repository. ### Jobs diff --git a/docs/quickstart-guide.md b/docs/quickstart-guide.md index 41ac6424d..488f110ee 100644 --- a/docs/quickstart-guide.md +++ b/docs/quickstart-guide.md @@ -4,7 +4,7 @@ We assume that you're already familiar with the [core concepts](concepts.md) and you have followed the [integrations instructions](integrations.md) for your environment. !!! tip "Going further" - To demonstrate the use of BunkerWeb, we will deploy a dummy "Hello World" web application as an example. See the [examples folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/examples) of the repository to get real-world examples. + To demonstrate the use of BunkerWeb, we will deploy a dummy "Hello World" web application as an example. See the [examples folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/examples) of the repository to get real-world examples. ## Protect HTTP applications @@ -35,7 +35,7 @@ You will find more settings about reverse proxy in the [settings section](settin - bw-services bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -52,7 +52,7 @@ You will find more settings about reverse proxy in the [settings section](settin - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -389,7 +389,7 @@ You will find more settings about reverse proxy in the [settings section](settin - bw-services bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -409,7 +409,7 @@ You will find more settings about reverse proxy in the [settings section](settin - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -828,7 +828,7 @@ REAL_IP_HEADER=X-Forwarded-For ```yaml mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ... environment: - USE_REAL_IP=yes @@ -843,7 +843,7 @@ REAL_IP_HEADER=X-Forwarded-For ```yaml mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ... environment: - USE_REAL_IP=yes @@ -858,7 +858,7 @@ REAL_IP_HEADER=X-Forwarded-For ```yaml mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ... environment: - USE_REAL_IP=yes @@ -978,7 +978,7 @@ REAL_IP_HEADER=proxy_protocol ```yaml mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ... environment: - USE_REAL_IP=yes @@ -994,7 +994,7 @@ REAL_IP_HEADER=proxy_protocol ```yaml mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ... environment: - USE_REAL_IP=yes @@ -1010,7 +1010,7 @@ REAL_IP_HEADER=proxy_protocol ```yaml mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ... environment: - USE_REAL_IP=yes @@ -1156,7 +1156,7 @@ For complete list of settings regarding `stream` mode, please refer to the [sett - bw-services bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 # Keep it if you want to use Let's Encrypt automation - 10000:10000 # app1 @@ -1178,7 +1178,7 @@ For complete list of settings regarding `stream` mode, please refer to the [sett - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -1227,7 +1227,7 @@ For complete list of settings regarding `stream` mode, please refer to the [sett services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 # Keep it if you want to use Let's Encrypt automation - 10000:10000 # app1 @@ -1285,7 +1285,7 @@ For complete list of settings regarding `stream` mode, please refer to the [sett services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: # Keep it if you want to use Let's Encrypt automation - published: 80 @@ -1473,7 +1473,7 @@ Some integrations provide more convenient ways to apply configurations, such as ```yaml ... mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 environment: - | CUSTOM_CONF_SERVER_HTTP_hello-world= @@ -1516,7 +1516,7 @@ Some integrations provide more convenient ways to apply configurations, such as ```yaml bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 volumes: - ./bw-data:/data ... @@ -1586,7 +1586,7 @@ Some integrations provide more convenient ways to apply configurations, such as ```yaml bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 volumes: - ./bw-data:/data ... @@ -1819,7 +1819,7 @@ BunkerWeb supports PHP using external or remote [PHP-FPM](https://www.php.net/ma - bw-services bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 volumes: - ./www:/var/www/html ports: @@ -1842,7 +1842,7 @@ BunkerWeb supports PHP using external or remote [PHP-FPM](https://www.php.net/ma - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -1920,7 +1920,7 @@ BunkerWeb supports PHP using external or remote [PHP-FPM](https://www.php.net/ma services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 volumes: - ./www:/var/www/html labels: @@ -1934,7 +1934,7 @@ BunkerWeb supports PHP using external or remote [PHP-FPM](https://www.php.net/ma - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -2078,7 +2078,7 @@ BunkerWeb supports PHP using external or remote [PHP-FPM](https://www.php.net/ma services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 volumes: - /shared/www:/var/www/html ... @@ -2360,7 +2360,7 @@ By default, BunkerWeb will only listen on IPv4 addresses and won't use IPv6 for services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 environment: - USE_IPv6=yes @@ -2405,7 +2405,7 @@ By default, BunkerWeb will only listen on IPv4 addresses and won't use IPv6 for services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 environment: - USE_IPv6=yes diff --git a/docs/security-tuning.md b/docs/security-tuning.md index ab243a1dd..57e1ebb67 100644 --- a/docs/security-tuning.md +++ b/docs/security-tuning.md @@ -484,7 +484,7 @@ You can quickly protect sensitive resources like the admin area for example, by ### Auth request -You can deploy complex authentication (e.g. SSO), by using the auth request settings (see [here](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-subrequest-authentication/) for more information on the feature). Please note that you will find [Authelia](https://www.authelia.com/) and [Authentik](https://goauthentik.io/) examples in the [repository](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/examples). +You can deploy complex authentication (e.g. SSO), by using the auth request settings (see [here](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-subrequest-authentication/) for more information on the feature). Please note that you will find [Authelia](https://www.authelia.com/) and [Authentik](https://goauthentik.io/) examples in the [repository](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/examples). **Auth request settings are related to reverse proxy rules.** diff --git a/docs/settings.md b/docs/settings.md index e08aedd91..95693794d 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -540,3 +540,4 @@ Allow access based on internal and external IP/network/rDNS/ASN whitelists. |`WHITELIST_USER_AGENT_URLS`| |global |no |List of URLs, separated with spaces, containing good User-Agent to whitelist. | |`WHITELIST_URI` | |multisite|no |List of URI (PCRE regex), separated with spaces, to whitelist. | |`WHITELIST_URI_URLS` | |global |no |List of URLs, separated with spaces, containing bad URI to whitelist. | + diff --git a/docs/web-ui.md b/docs/web-ui.md index d6c8abfb7..1e2ddcf3a 100644 --- a/docs/web-ui.md +++ b/docs/web-ui.md @@ -18,7 +18,7 @@ The "Web UI" is a web application that helps you manage your BunkerWeb instance - Monitor jobs execution - View the logs and search pattern -## Installation +## Prerequisites Because the web UI is a web application, the recommended installation procedure is to use BunkerWeb in front of it as a reverse proxy. @@ -35,32 +35,36 @@ Because the web UI is a web application, the recommended installation procedure The usage of the web UI implies enabling the [multisite mode](concepts.md#multisite-mode). +## Setup wizard + +The setup wizard is a feature that helps you to **configure** and **install the web UI** using a **user-friendly interface**. You will need to set the `UI_HOST` setting (`http://hostname-of-web-ui:7000`) and browse the `/setup` URI of your server to access the setup wizard. + +
+ ![Overview](assets/img/ui-wizard-account.png){ align=center, width="600" } +
Account section of the setup wizard
+
+ +Choose your administator username and password. Please note that password must have at least 8 chars with 1 lower case letter, 1 upper case letter, 1 digit and 1 special char. + +
+ ![Overview](assets/img/ui-wizard-settings.png){ align=center, width="600" } +
Settings section of the setup wizard
+
+ +Configure the following settings : + +- `UI Host` : internal http endpoint of your web UI +- `UI URL` : the public path where your web UI will be accessible +- `Server name` : the public server name where your web UI will be accessible +- `Auto let's encrypt` : enable/disable HTTPS using automated let's encrypt + +Please note that your server name must have a valid DNS entry pointing to your BunkerWeb instance (or load balancer if you use Swarm/Kubernetes). You can check the DNS validity by clicking the `Check` button. + +Review your final BunkerWeb UI URL and then click on the `Setup` button. Once the setup is finished, you will be redirected to your web UI login page. + === "Docker" - The web UI can be deployed using a dedicated container which is available on [Docker Hub](https://hub.docker.com/r/bunkerity/bunkerweb-ui) : - - ```shell - docker pull bunkerity/bunkerweb-ui - ``` - - Alternatively, you can also build it yourself : - - ```shell - git clone https://github.com/bunkerity/bunkerweb.git && \ - cd bunkerweb && \ - docker build -t my-bunkerweb-ui -f src/ui/Dockerfile . - ``` - - The following environment variables are used to configure the web UI container : - - - `ADMIN_USERNAME` : username to access the web UI - - `ADMIN_PASSWORD` : password to access the web UI - - Accessing the web UI through BunkerWeb is a classical [reverse proxy setup](quickstart-guide.md#protect-http-applications). We recommend you to connect BunkerWeb and web UI using a dedicated network (like `bw-universe` also used by the scheduler) so it won't be on the same network of your web services for obvious security reasons. Please note that the web UI container is listening on the `7000` port. - - !!! info "Database backend" - - If you want another Database backend than MariaDB please refer to the docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/misc/integrations) of the repository. + If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the HTTP endpoint of your web UI container. For example, if your web UI container is named `bw-ui` and is listening on the `7000` port, you will need to set the `UI_HOST` setting to `http://bw-ui:7000`. Here is the docker-compose boilerplate that you can use (don't forget to edit the `changeme` data) : @@ -69,31 +73,23 @@ Because the web UI is a web application, the recommended installation procedure services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 labels: - "bunkerweb.INSTANCE=yes" environment: - - SERVER_NAME=www.example.com + - SERVER_NAME= - MULTISITE=yes - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 - - DISABLE_DEFAULT_SERVER=yes - - USE_CLIENT_CACHE=yes - - USE_GZIP=yes - - www.example.com_USE_UI=yes - - www.example.com_USE_REVERSE_PROXY=yes - - www.example.com_REVERSE_PROXY_URL=/changeme - - www.example.com_REVERSE_PROXY_HOST=http://bw-ui:7000 - - www.example.com_INTERCEPTED_ERROR_CODES=400 404 405 413 429 500 501 502 503 504 + - UI_HOST=http://bw-ui:7000 # Change it if needed networks: - bw-universe - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -115,14 +111,12 @@ Because the web UI is a web application, the recommended installation procedure - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 depends_on: - bw-docker environment: - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database - DOCKER_HOST=tcp://bw-docker:2375 - - ADMIN_USERNAME=changeme - - ADMIN_PASSWORD=changeme # Remember to set a stronger password for the changeme user networks: - bw-universe - bw-docker @@ -157,30 +151,7 @@ Because the web UI is a web application, the recommended installation procedure === "Docker autoconf" - The web UI can be deployed using a dedicated container which is available on [Docker Hub](https://hub.docker.com/r/bunkerity/bunkerweb-ui) : - - ```shell - docker pull bunkerity/bunkerweb-ui - ``` - - Alternatively, you can also build it yourself : - - ```shell - git clone https://github.com/bunkerity/bunkerweb.git && \ - cd bunkerweb && \ - docker build -t my-bunkerweb-ui -f src/ui/Dockerfile . - ``` - - The following environment variables are used to configure the web UI container : - - - `ADMIN_USERNAME` : username to access the web UI - - `ADMIN_PASSWORD` : password to access the web UI - - Accessing the web UI through BunkerWeb is a classical [reverse proxy setup](quickstart-guide.md#protect-http-applications). We recommend you to connect BunkerWeb and web UI using a dedicated network (like `bw-universe` also used by the scheduler and autoconf) so it won't be on the same network of your web services for obvious security reasons. Please note that the web UI container is listening on the `7000` port. - - !!! info "Database backend" - - If you want another Database backend than MariaDB please refer to the docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/misc/integrations) of the repository. + If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the HTTP endpoint of your web UI container. For example, if your web UI container is named `bw-ui` and is listening on the `7000` port, you will need to set the `UI_HOST` setting to `http://bw-ui:7000`. Here is the docker-compose boilerplate that you can use (don't forget to edit the `changeme` data) : @@ -189,7 +160,7 @@ Because the web UI is a web application, the recommended installation procedure services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -197,36 +168,36 @@ Because the web UI is a web application, the recommended installation procedure - "bunkerweb.INSTANCE=yes" environment: - SERVER_NAME= - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - AUTOCONF_MODE=yes - MULTISITE=yes - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 + - UI_HOST=http://bw-ui:7000 # Change it if needed networks: - bw-universe - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker environment: - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - AUTOCONF_MODE=yes + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database - DOCKER_HOST=tcp://bw-docker:2375 networks: - bw-universe - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker environment: - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - - DOCKER_HOST=tcp://bw-docker:2375 - AUTOCONF_MODE=yes + - DOCKER_HOST=tcp://bw-docker:2375 + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database networks: - bw-universe - bw-docker @@ -247,32 +218,23 @@ Because the web UI is a web application, the recommended installation procedure - MYSQL_RANDOM_ROOT_PASSWORD=yes - MYSQL_DATABASE=db - MYSQL_USER=bunkerweb - - MYSQL_PASSWORD=changeme + - MYSQL_PASSWORD=changeme # Remember to set a stronger password for the database volumes: - bw-data:/var/lib/mysql networks: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 networks: bw-docker: bw-universe: aliases: - bw-ui environment: - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - - DOCKER_HOST=tcp://bw-docker:2375 - AUTOCONF_MODE=yes - - ADMIN_USERNAME=admin - - ADMIN_PASSWORD=changeme - labels: - - "bunkerweb.SERVER_NAME=www.example.com" - - "bunkerweb.USE_UI=yes" - - "bunkerweb.USE_REVERSE_PROXY=yes" - - "bunkerweb.REVERSE_PROXY_URL=/changeme" - - "bunkerweb.REVERSE_PROXY_HOST=http://bw-ui:7000" - - "bunkerweb.INTERCEPTED_ERROR_CODES=400 404 405 413 429 500 501 502 503 504" + - DOCKER_HOST=tcp://bw-docker:2375 + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database volumes: bw-data: @@ -292,30 +254,7 @@ Because the web UI is a web application, the recommended installation procedure === "Swarm" - The web UI can be deployed using a dedicated container which is available on [Docker Hub](https://hub.docker.com/r/bunkerity/bunkerweb-ui) : - - ```shell - docker pull bunkerity/bunkerweb-ui - ``` - - Alternatively, you can also build it yourself : - - ```shell - git clone https://github.com/bunkerity/bunkerweb.git && \ - cd bunkerweb && \ - docker build -t my-bunkerweb-ui -f src/ui/Dockerfile . - ``` - - The following environment variables are used to configure the web UI container : - - - `ADMIN_USERNAME` : username to access the web UI - - `ADMIN_PASSWORD` : password to access the web UI - - Accessing the web UI through BunkerWeb is a classical [reverse proxy setup](quickstart-guide.md#protect-http-applications). We recommend you to connect BunkerWeb and web UI using a dedicated network (like `bw-universe` also used by the scheduler and autoconf) so it won't be on the same network of your web services for obvious security reasons. Please note that the web UI container is listening on the `7000` port. - - !!! info "Database backend" - - If you want another Database backend than MariaDB please refer to the stack files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/misc/integrations) of the repository. + If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the HTTP endpoint of your web UI container. For example, if your web UI container is named `bw-ui` and is listening on the `7000` port, you will need to set the `UI_HOST` setting to `http://bw-ui:7000`. Here is the stack boilerplate that you can use (don't forget to edit the `changeme` data) : @@ -324,7 +263,7 @@ Because the web UI is a web application, the recommended installation procedure services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - published: 80 target: 8080 @@ -336,12 +275,12 @@ Because the web UI is a web application, the recommended installation procedure protocol: tcp environment: - SERVER_NAME= - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - SWARM_MODE=yes - MULTISITE=yes - USE_REDIS=yes - REDIS_HOST=bw-redis - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 + - UI_HOST=http://bw-ui:7000 # Change it if needed networks: - bw-universe - bw-services @@ -354,11 +293,11 @@ Because the web UI is a web application, the recommended installation procedure - "bunkerweb.INSTANCE=yes" bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database networks: - bw-universe - bw-docker @@ -382,11 +321,11 @@ Because the web UI is a web application, the recommended installation procedure - "node.role == manager" bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database networks: - bw-universe - bw-docker @@ -409,25 +348,14 @@ Because the web UI is a web application, the recommended installation procedure - bw-universe bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 environment: - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database - - DOCKER_HOST=tcp://bw-docker:2375 - SWARM_MODE=yes - - ADMIN_USERNAME=changeme - - ADMIN_PASSWORD=changeme # Remember to set a stronger password for the changeme user + - DOCKER_HOST=tcp://bw-docker:2375 + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database networks: - bw-universe - bw-docker - deploy: - labels: - - "bunkerweb.SERVER_NAME=www.example.com" - - "bunkerweb.USE_UI=yes" - - "bunkerweb.USE_REVERSE_PROXY=yes" - - "bunkerweb.REVERSE_PROXY_URL=/changeme" - - "bunkerweb.REVERSE_PROXY_HOST=http://bw-ui:7000" - - "bunkerweb.REVERSE_PROXY_INTERCEPT_ERRORS=no" - - "bunkerweb.INTERCEPTED_ERROR_CODES=400 404 405 413 429 500 501 502 503 504" volumes: bw-data: @@ -452,18 +380,7 @@ Because the web UI is a web application, the recommended installation procedure === "Kubernetes" - The web UI can be deployed using a dedicated container which is available on [Docker Hub](https://hub.docker.com/r/bunkerity/bunkerweb-ui) as a standard [Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/). - - The following environment variables are used to configure the web UI container : - - - `ADMIN_USERNAME` : username to access the web UI - - `ADMIN_PASSWORD` : password to access the web UI - - Accessing the web UI through BunkerWeb is a classical [reverse proxy setup](quickstart-guide.md#protect-http-applications). Network segmentation between web UI and web services is not covered in this documentation. Please note that the web UI container is listening on the `7000` port. - - !!! info "Database backend" - - If you want another Database backend than MariaDB please refer to the yaml files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.3/misc/integrations) of the repository. + If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the HTTP endpoint of your web UI SERVICE. For example, if your web UI service is named `svc-bunkerweb-ui` and is listening on the `7000` port, you will need to set the `UI_HOST` setting to `http://svc-bunkerweb-ui:7000`. Here is the yaml boilerplate that you can use (don't forget to edit the `changeme` data) : @@ -518,7 +435,7 @@ Because the web UI is a web application, the recommended installation procedure containers: # using bunkerweb as name is mandatory - name: bunkerweb - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 imagePullPolicy: Always securityContext: runAsUser: 101 @@ -552,6 +469,9 @@ Because the web UI is a web application, the recommended installation procedure value: "yes" - name: REDIS_HOST value: "svc-bunkerweb-redis.default.svc.cluster.local" + # Change it if needed + - name: UI_HOST + value: "http://svc-bunkerweb-ui:7000" livenessProbe: exec: command: @@ -588,7 +508,7 @@ Because the web UI is a web application, the recommended installation procedure serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -615,7 +535,7 @@ Because the web UI is a web application, the recommended installation procedure serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-scheduler - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -699,7 +619,781 @@ Because the web UI is a web application, the recommended installation procedure spec: containers: - name: bunkerweb-ui - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 + imagePullPolicy: Always + env: + - name: KUBERNETES_MODE + value: "YES" + - name: "DATABASE_URI" + value: "mariadb+pymysql://bunkerweb:testor@svc-bunkerweb-db:3306/db" + --- + apiVersion: v1 + kind: Service + metadata: + name: svc-bunkerweb + spec: + clusterIP: None + selector: + app: bunkerweb + --- + apiVersion: v1 + kind: Service + metadata: + name: svc-bunkerweb-db + spec: + type: ClusterIP + selector: + app: bunkerweb-db + ports: + - name: sql + protocol: TCP + port: 3306 + targetPort: 3306 + --- + apiVersion: v1 + kind: Service + metadata: + name: svc-bunkerweb-redis + spec: + type: ClusterIP + selector: + app: bunkerweb-redis + ports: + - name: redis + protocol: TCP + port: 6379 + targetPort: 6379 + --- + apiVersion: v1 + kind: Service + metadata: + name: svc-bunkerweb-ui + spec: + type: ClusterIP + selector: + app: bunkerweb-ui + ports: + - name: http + protocol: TCP + port: 7000 + targetPort: 7000 + --- + apiVersion: v1 + kind: PersistentVolumeClaim + metadata: + name: pvc-bunkerweb + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + volumeName: pv-bunkerweb + ``` + +=== "Linux" + + If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the HTTP endpoint of your web UI SERVICE. Since the web UI is listening on the same machine as BunkerWeb, you will need to set the `UI_HOST` setting `http://127.0.0.1:7000`. + + Here is the `/etc/bunkerweb/variables.env` boilerplate you can use : + + ```conf + HTTP_PORT=80 + HTTPS_PORT=443 + DNS_RESOLVERS=9.9.9.9 8.8.8.8 8.8.4.4 + API_LISTEN_IP=127.0.0.1 + SERVER_NAME= + MULTISITE=yes + UI_HOST=http://127.0.0.1:7000 + ``` + + The web UI comes as systemd service named `bunkerweb-ui` which is not enabled by default. If you want to start the web UI when on startup you can run the following command : + + ```shell + systemctl enable bunkerweb-ui + ``` + + Create an empty configuration file for the web UI : + + ```shell + echo "" > /etc/bunkerweb/ui.env + chown nginx:nginx /etc/bunkerweb/ui.env + ``` + + Don't forget to restart the `bunkerweb` and `bunkerweb-ui` services : + + ```shell + systemctl restart bunkerweb + systemctl restart bunkerweb-ui + ``` + +## Advanced installation + +=== "Docker" + + The web UI can be deployed using a dedicated container which is available on [Docker Hub](https://hub.docker.com/r/bunkerity/bunkerweb-ui) : + + ```shell + docker pull bunkerity/bunkerweb-ui + ``` + + Alternatively, you can also build it yourself : + + ```shell + git clone https://github.com/bunkerity/bunkerweb.git && \ + cd bunkerweb && \ + docker build -t my-bunkerweb-ui -f src/ui/Dockerfile . + ``` + + The following environment variables are used to configure the web UI container : + + - `ADMIN_USERNAME` : username to access the web UI + - `ADMIN_PASSWORD` : password to access the web UI + + Accessing the web UI through BunkerWeb is a classical [reverse proxy setup](quickstart-guide.md#protect-http-applications). We recommend you to connect BunkerWeb and web UI using a dedicated network (like `bw-universe` also used by the scheduler) so it won't be on the same network of your web services for obvious security reasons. Please note that the web UI container is listening on the `7000` port. + + !!! info "Database backend" + + If you want another Database backend than MariaDB please refer to the docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/misc/integrations) of the repository. + + Here is the docker-compose boilerplate that you can use (don't forget to edit the `changeme` data) : + + ```yaml + version: "3.5" + + services: + bunkerweb: + image: bunkerity/bunkerweb:1.5.4 + ports: + - 80:8080 + - 443:8443 + labels: + - "bunkerweb.INSTANCE=yes" + environment: + - SERVER_NAME=www.example.com + - MULTISITE=yes + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database + - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 + - DISABLE_DEFAULT_SERVER=yes + - USE_CLIENT_CACHE=yes + - USE_GZIP=yes + - www.example.com_USE_UI=yes + - www.example.com_USE_REVERSE_PROXY=yes + - www.example.com_REVERSE_PROXY_URL=/changeme + - www.example.com_REVERSE_PROXY_HOST=http://bw-ui:7000 + - www.example.com_INTERCEPTED_ERROR_CODES=400 404 405 413 429 500 501 502 503 504 + networks: + - bw-universe + - bw-services + + bw-scheduler: + image: bunkerity/bunkerweb-scheduler:1.5.4 + depends_on: + - bunkerweb + - bw-docker + environment: + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database + - DOCKER_HOST=tcp://bw-docker:2375 + networks: + - bw-universe + - bw-docker + + bw-docker: + image: tecnativa/docker-socket-proxy:nightly + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + environment: + - CONTAINERS=1 + - LOG_LEVEL=warning + networks: + - bw-docker + + bw-ui: + image: bunkerity/bunkerweb-ui:1.5.4 + depends_on: + - bw-docker + environment: + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database + - DOCKER_HOST=tcp://bw-docker:2375 + - ADMIN_USERNAME=changeme + - ADMIN_PASSWORD=changeme # Remember to set a stronger password for the changeme user + networks: + - bw-universe + - bw-docker + + bw-db: + image: mariadb:10.10 + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=yes + - MYSQL_DATABASE=db + - MYSQL_USER=bunkerweb + - MYSQL_PASSWORD=changeme # Remember to set a stronger password for the database + volumes: + - bw-data:/var/lib/mysql + networks: + - bw-docker + + volumes: + bw-data: + + networks: + bw-universe: + name: bw-universe + ipam: + driver: default + config: + - subnet: 10.20.30.0/24 + bw-services: + name: bw-services + bw-docker: + name: bw-docker + ``` + +=== "Docker autoconf" + + The web UI can be deployed using a dedicated container which is available on [Docker Hub](https://hub.docker.com/r/bunkerity/bunkerweb-ui) : + + ```shell + docker pull bunkerity/bunkerweb-ui + ``` + + Alternatively, you can also build it yourself : + + ```shell + git clone https://github.com/bunkerity/bunkerweb.git && \ + cd bunkerweb && \ + docker build -t my-bunkerweb-ui -f src/ui/Dockerfile . + ``` + + The following environment variables are used to configure the web UI container : + + - `ADMIN_USERNAME` : username to access the web UI + - `ADMIN_PASSWORD` : password to access the web UI + + Accessing the web UI through BunkerWeb is a classical [reverse proxy setup](quickstart-guide.md#protect-http-applications). We recommend you to connect BunkerWeb and web UI using a dedicated network (like `bw-universe` also used by the scheduler and autoconf) so it won't be on the same network of your web services for obvious security reasons. Please note that the web UI container is listening on the `7000` port. + + !!! info "Database backend" + + If you want another Database backend than MariaDB please refer to the docker-compose files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/misc/integrations) of the repository. + + Here is the docker-compose boilerplate that you can use (don't forget to edit the `changeme` data) : + + ```yaml + version: "3.5" + + services: + bunkerweb: + image: bunkerity/bunkerweb:1.5.4 + ports: + - 80:8080 + - 443:8443 + labels: + - "bunkerweb.INSTANCE=yes" + environment: + - SERVER_NAME= + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db + - AUTOCONF_MODE=yes + - MULTISITE=yes + - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 + networks: + - bw-universe + - bw-services + + bw-autoconf: + image: bunkerity/bunkerweb-autoconf:1.5.4 + depends_on: + - bunkerweb + - bw-docker + environment: + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db + - AUTOCONF_MODE=yes + - DOCKER_HOST=tcp://bw-docker:2375 + networks: + - bw-universe + - bw-docker + + bw-scheduler: + image: bunkerity/bunkerweb-scheduler:1.5.4 + depends_on: + - bunkerweb + - bw-docker + environment: + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db + - DOCKER_HOST=tcp://bw-docker:2375 + - AUTOCONF_MODE=yes + networks: + - bw-universe + - bw-docker + + bw-docker: + image: tecnativa/docker-socket-proxy:nightly + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + environment: + - CONTAINERS=1 + - LOG_LEVEL=warning + networks: + - bw-docker + + bw-db: + image: mariadb:10.10 + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=yes + - MYSQL_DATABASE=db + - MYSQL_USER=bunkerweb + - MYSQL_PASSWORD=changeme + volumes: + - bw-data:/var/lib/mysql + networks: + - bw-docker + + bw-ui: + image: bunkerity/bunkerweb-ui:1.5.4 + networks: + bw-docker: + bw-universe: + aliases: + - bw-ui + environment: + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db + - DOCKER_HOST=tcp://bw-docker:2375 + - AUTOCONF_MODE=yes + - ADMIN_USERNAME=admin + - ADMIN_PASSWORD=changeme + labels: + - "bunkerweb.SERVER_NAME=www.example.com" + - "bunkerweb.USE_UI=yes" + - "bunkerweb.USE_REVERSE_PROXY=yes" + - "bunkerweb.REVERSE_PROXY_URL=/changeme" + - "bunkerweb.REVERSE_PROXY_HOST=http://bw-ui:7000" + - "bunkerweb.INTERCEPTED_ERROR_CODES=400 404 405 413 429 500 501 502 503 504" + + volumes: + bw-data: + + networks: + bw-universe: + name: bw-universe + ipam: + driver: default + config: + - subnet: 10.20.30.0/24 + bw-services: + name: bw-services + bw-docker: + name: bw-docker + ``` + +=== "Swarm" + + The web UI can be deployed using a dedicated container which is available on [Docker Hub](https://hub.docker.com/r/bunkerity/bunkerweb-ui) : + + ```shell + docker pull bunkerity/bunkerweb-ui + ``` + + Alternatively, you can also build it yourself : + + ```shell + git clone https://github.com/bunkerity/bunkerweb.git && \ + cd bunkerweb && \ + docker build -t my-bunkerweb-ui -f src/ui/Dockerfile . + ``` + + The following environment variables are used to configure the web UI container : + + - `ADMIN_USERNAME` : username to access the web UI + - `ADMIN_PASSWORD` : password to access the web UI + + Accessing the web UI through BunkerWeb is a classical [reverse proxy setup](quickstart-guide.md#protect-http-applications). We recommend you to connect BunkerWeb and web UI using a dedicated network (like `bw-universe` also used by the scheduler and autoconf) so it won't be on the same network of your web services for obvious security reasons. Please note that the web UI container is listening on the `7000` port. + + !!! info "Database backend" + + If you want another Database backend than MariaDB please refer to the stack files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/misc/integrations) of the repository. + + Here is the stack boilerplate that you can use (don't forget to edit the `changeme` data) : + + ```yaml + version: "3.5" + + services: + bunkerweb: + image: bunkerity/bunkerweb:1.5.4 + ports: + - published: 80 + target: 8080 + mode: host + protocol: tcp + - published: 443 + target: 8443 + mode: host + protocol: tcp + environment: + - SERVER_NAME= + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db + - SWARM_MODE=yes + - MULTISITE=yes + - USE_REDIS=yes + - REDIS_HOST=bw-redis + - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 + networks: + - bw-universe + - bw-services + deploy: + mode: global + placement: + constraints: + - "node.role == worker" + labels: + - "bunkerweb.INSTANCE=yes" + + bw-autoconf: + image: bunkerity/bunkerweb-autoconf:1.5.4 + environment: + - SWARM_MODE=yes + - DOCKER_HOST=tcp://bw-docker:2375 + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db + networks: + - bw-universe + - bw-docker + + bw-docker: + image: tecnativa/docker-socket-proxy:nightly + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + environment: + - CONFIGS=1 + - CONTAINERS=1 + - SERVICES=1 + - SWARM=1 + - TASKS=1 + - LOG_LEVEL=warning + networks: + - bw-docker + deploy: + placement: + constraints: + - "node.role == manager" + + bw-scheduler: + image: bunkerity/bunkerweb-scheduler:1.5.4 + environment: + - SWARM_MODE=yes + - DOCKER_HOST=tcp://bw-docker:2375 + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db + networks: + - bw-universe + - bw-docker + + bw-db: + image: mariadb:10.10 + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=yes + - MYSQL_DATABASE=db + - MYSQL_USER=bunkerweb + - MYSQL_PASSWORD=changeme + volumes: + - bw-data:/var/lib/mysql + networks: + - bw-docker + + bw-redis: + image: redis:7-alpine + networks: + - bw-universe + + bw-ui: + image: bunkerity/bunkerweb-ui:1.5.4 + environment: + - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database + - DOCKER_HOST=tcp://bw-docker:2375 + - SWARM_MODE=yes + - ADMIN_USERNAME=changeme + - ADMIN_PASSWORD=changeme # Remember to set a stronger password for the changeme user + networks: + - bw-universe + - bw-docker + deploy: + labels: + - "bunkerweb.SERVER_NAME=www.example.com" + - "bunkerweb.USE_UI=yes" + - "bunkerweb.USE_REVERSE_PROXY=yes" + - "bunkerweb.REVERSE_PROXY_URL=/changeme" + - "bunkerweb.REVERSE_PROXY_HOST=http://bw-ui:7000" + - "bunkerweb.REVERSE_PROXY_INTERCEPT_ERRORS=no" + - "bunkerweb.INTERCEPTED_ERROR_CODES=400 404 405 413 429 500 501 502 503 504" + + volumes: + bw-data: + + networks: + bw-universe: + name: bw-universe + driver: overlay + attachable: true + ipam: + config: + - subnet: 10.20.30.0/24 + bw-services: + name: bw-services + driver: overlay + attachable: true + bw-docker: + name: bw-docker + driver: overlay + attachable: true + ``` + +=== "Kubernetes" + + The web UI can be deployed using a dedicated container which is available on [Docker Hub](https://hub.docker.com/r/bunkerity/bunkerweb-ui) as a standard [Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/). + + The following environment variables are used to configure the web UI container : + + - `ADMIN_USERNAME` : username to access the web UI + - `ADMIN_PASSWORD` : password to access the web UI + + Accessing the web UI through BunkerWeb is a classical [reverse proxy setup](quickstart-guide.md#protect-http-applications). Network segmentation between web UI and web services is not covered in this documentation. Please note that the web UI container is listening on the `7000` port. + + !!! info "Database backend" + + If you want another Database backend than MariaDB please refer to the yaml files in the [misc/integrations folder](https://github.com/bunkerity/bunkerweb/tree/v1.5.4/misc/integrations) of the repository. + + Here is the yaml boilerplate that you can use (don't forget to edit the `changeme` data) : + + ```yaml + apiVersion: rbac.authorization.k8s.io/v1 + kind: ClusterRole + metadata: + name: cr-bunkerweb + rules: + - apiGroups: [""] + resources: ["services", "pods", "configmaps"] + verbs: ["get", "watch", "list"] + - apiGroups: ["networking.k8s.io"] + resources: ["ingresses"] + verbs: ["get", "watch", "list"] + --- + apiVersion: v1 + kind: ServiceAccount + metadata: + name: sa-bunkerweb + --- + apiVersion: rbac.authorization.k8s.io/v1 + kind: ClusterRoleBinding + metadata: + name: crb-bunkerweb + subjects: + - kind: ServiceAccount + name: sa-bunkerweb + namespace: default + apiGroup: "" + roleRef: + kind: ClusterRole + name: cr-bunkerweb + apiGroup: rbac.authorization.k8s.io + --- + apiVersion: apps/v1 + kind: DaemonSet + metadata: + name: bunkerweb + spec: + selector: + matchLabels: + app: bunkerweb + template: + metadata: + labels: + app: bunkerweb + # mandatory annotation + annotations: + bunkerweb.io/INSTANCE: "yes" + spec: + containers: + # using bunkerweb as name is mandatory + - name: bunkerweb + image: bunkerity/bunkerweb:1.5.4 + imagePullPolicy: Always + securityContext: + runAsUser: 101 + runAsGroup: 101 + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + ports: + - containerPort: 8080 + hostPort: 80 + - containerPort: 8443 + hostPort: 443 + env: + - name: KUBERNETES_MODE + value: "yes" + # replace with your DNS resolvers + # e.g. : kube-dns.kube-system.svc.cluster.local + - name: DNS_RESOLVERS + value: "coredns.kube-system.svc.cluster.local" + - name: USE_API + value: "yes" + # 10.0.0.0/8 is the cluster internal subnet + - name: API_WHITELIST_IP + value: "127.0.0.0/8 10.0.0.0/8" + - name: SERVER_NAME + value: "" + - name: MULTISITE + value: "yes" + - name: USE_REDIS + value: "yes" + - name: REDIS_HOST + value: "svc-bunkerweb-redis.default.svc.cluster.local" + livenessProbe: + exec: + command: + - /usr/share/bunkerweb/helpers/healthcheck.sh + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 1 + failureThreshold: 3 + readinessProbe: + exec: + command: + - /usr/share/bunkerweb/helpers/healthcheck.sh + initialDelaySeconds: 30 + periodSeconds: 1 + timeoutSeconds: 1 + failureThreshold: 3 + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + name: bunkerweb-controller + spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: bunkerweb-controller + template: + metadata: + labels: + app: bunkerweb-controller + spec: + serviceAccountName: sa-bunkerweb + containers: + - name: bunkerweb-controller + image: bunkerity/bunkerweb-autoconf:1.5.4 + imagePullPolicy: Always + env: + - name: KUBERNETES_MODE + value: "yes" + - name: "DATABASE_URI" + value: "mariadb+pymysql://bunkerweb:changeme@svc-bunkerweb-db:3306/db" + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + name: bunkerweb-scheduler + spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: bunkerweb-scheduler + template: + metadata: + labels: + app: bunkerweb-scheduler + spec: + serviceAccountName: sa-bunkerweb + containers: + - name: bunkerweb-scheduler + image: bunkerity/bunkerweb-scheduler:1.5.4 + imagePullPolicy: Always + env: + - name: KUBERNETES_MODE + value: "yes" + - name: "DATABASE_URI" + value: "mariadb+pymysql://bunkerweb:changeme@svc-bunkerweb-db:3306/db" + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + name: bunkerweb-redis + spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: bunkerweb-redis + template: + metadata: + labels: + app: bunkerweb-redis + spec: + containers: + - name: bunkerweb-redis + image: redis:7-alpine + imagePullPolicy: Always + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + name: bunkerweb-db + spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: bunkerweb-db + template: + metadata: + labels: + app: bunkerweb-db + spec: + containers: + - name: bunkerweb-db + image: mariadb:10.10 + imagePullPolicy: Always + env: + - name: MYSQL_RANDOM_ROOT_PASSWORD + value: "yes" + - name: "MYSQL_DATABASE" + value: "db" + - name: "MYSQL_USER" + value: "bunkerweb" + - name: "MYSQL_PASSWORD" + value: "changeme" + volumeMounts: + - mountPath: "/var/lib/mysql" + name: vol-db + volumes: + - name: vol-db + persistentVolumeClaim: + claimName: pvc-bunkerweb + --- + apiVersion: apps/v1 + kind: Deployment + metadata: + name: bunkerweb-ui + spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: bunkerweb-ui + template: + metadata: + labels: + app: bunkerweb-ui + spec: + containers: + - name: bunkerweb-ui + image: bunkerity/bunkerweb-ui:1.5.4 imagePullPolicy: Always env: - name: ADMIN_USERNAME @@ -802,7 +1496,7 @@ Because the web UI is a web application, the recommended installation procedure The web UI comes as systemd service named `bunkerweb-ui` which is not enabled by default. If you want to start the web UI when on startup you can run the following command : ```shell - systemctl enable bunkerweb + systemctl enable bunkerweb-ui ``` A dedicated environment file located at `/etc/bunkerweb/ui.env` is used to configure the web UI : @@ -909,7 +1603,7 @@ Because the web UI is a web application, the recommended installation procedure The web UI comes as systemd service named `bunkerweb-ui` which is not enabled by default. If you want to start the web UI when on startup you can run the following command : ```shell - systemctl enable bunkerweb + systemctl enable bunkerweb-ui ``` A dedicated environment file located at `/etc/bunkerweb/ui.env` is used to configure the web UI : @@ -947,678 +1641,4 @@ Because the web UI is a web application, the recommended installation procedure ```shell systemctl restart bunkerweb - ``` - -## Setup Wizard - -!!! info "Information" - - The setup wizard will only be available if the `UI_HOST` setting is set. - -The setup wizard is a web UI feature that helps you to configure your **web UI reverse proxy** settings but also the **admin credentials**. It is available at the `/setup` URI of your web UI. - -=== "Docker" - - Follow the Installation section of the documentation to setup the web UI. If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the hostname of your web UI container. For example, if your web UI container is named `bw-ui` and is listening on the `7000` port, you will need to set the `UI_HOST` setting to `http://bw-ui:7000`. - - Here is the docker-compose boilerplate that you can use (don't forget to edit the `changeme` data) : - - ```yaml - version: "3.5" - - services: - bunkerweb: - image: bunkerity/bunkerweb:1.5.3 - ports: - - 80:8080 - - 443:8443 - labels: - - "bunkerweb.INSTANCE=yes" - environment: - - SERVER_NAME= - - MULTISITE=yes - - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 - - SERVE_FILES=no - - DISABLE_DEFAULT_SERVER=yes - - USE_CLIENT_CACHE=yes - - USE_GZIP=yes - - UI_HOST=http://bw-ui:7000 # Remember to set the UI_HOST setting - networks: - - bw-universe - - bw-services - - bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 - depends_on: - - bunkerweb - - bw-docker - environment: - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database - - DOCKER_HOST=tcp://bw-docker:2375 - networks: - - bw-universe - - bw-docker - - bw-docker: - image: tecnativa/docker-socket-proxy:nightly - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro - environment: - - CONTAINERS=1 - - LOG_LEVEL=warning - networks: - - bw-docker - - bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 - depends_on: - - bw-docker - environment: - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database - - DOCKER_HOST=tcp://bw-docker:2375 - networks: - - bw-universe - - bw-docker - - bw-db: - image: mariadb:10.10 - environment: - - MYSQL_RANDOM_ROOT_PASSWORD=yes - - MYSQL_DATABASE=db - - MYSQL_USER=bunkerweb - - MYSQL_PASSWORD=changeme # Remember to set a stronger password for the database - volumes: - - bw-data:/var/lib/mysql - networks: - - bw-docker - - volumes: - bw-data: - - networks: - bw-universe: - name: bw-universe - ipam: - driver: default - config: - - subnet: 10.20.30.0/24 - bw-services: - name: bw-services - bw-docker: - name: bw-docker - ``` - -=== "Docker autoconf" - - Follow the Installation section of the documentation to setup the web UI. If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the hostname of your web UI container. For example, if your web UI container is named `bw-ui` and is listening on the `7000` port, you will need to set the `UI_HOST` setting to `http://bw-ui:7000`. - - Here is the docker-compose boilerplate that you can use (don't forget to edit the `changeme` data) : - - ```yaml - version: "3.5" - - services: - bunkerweb: - image: bunkerity/bunkerweb:1.5.3 - ports: - - 80:8080 - - 443:8443 - labels: - - "bunkerweb.INSTANCE=yes" - environment: - - SERVER_NAME= - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - - AUTOCONF_MODE=yes - - MULTISITE=yes - - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 - - UI_HOST=http://bw-ui:7000 # Remember to set the UI_HOST setting - networks: - - bw-universe - - bw-services - - bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 - depends_on: - - bunkerweb - - bw-docker - environment: - - AUTOCONF_MODE=yes - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - - DOCKER_HOST=tcp://bw-docker:2375 - networks: - - bw-universe - - bw-docker - - bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 - depends_on: - - bunkerweb - - bw-docker - environment: - - AUTOCONF_MODE=yes - - DOCKER_HOST=tcp://bw-docker:2375 - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - networks: - - bw-universe - - bw-docker - - bw-docker: - image: tecnativa/docker-socket-proxy:nightly - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro - environment: - - CONTAINERS=1 - - LOG_LEVEL=warning - networks: - - bw-docker - - bw-db: - image: mariadb:10.10 - environment: - - MYSQL_RANDOM_ROOT_PASSWORD=yes - - MYSQL_DATABASE=db - - MYSQL_USER=bunkerweb - - MYSQL_PASSWORD=changeme - volumes: - - bw-data:/var/lib/mysql - networks: - - bw-docker - - bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 - networks: - bw-docker: - bw-universe: - aliases: - - bw-ui - environment: - - AUTOCONF_MODE=yes - - DOCKER_HOST=tcp://bw-docker:2375 - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - - volumes: - bw-data: - - networks: - bw-universe: - name: bw-universe - ipam: - driver: default - config: - - subnet: 10.20.30.0/24 - bw-services: - name: bw-services - bw-docker: - name: bw-docker - ``` - -=== "Swarm" - - Follow the Installation section of the documentation to setup the web UI. If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the hostname of your web UI container. For example, if your web UI container is named `bw-ui` and is listening on the `7000` port, you will need to set the `UI_HOST` setting to `http://bw-ui:7000`. - - Here is the stack boilerplate that you can use (don't forget to edit the `changeme` data) : - - ```yaml - version: "3.5" - - services: - bunkerweb: - image: bunkerity/bunkerweb:1.5.3 - ports: - - published: 80 - target: 8080 - mode: host - protocol: tcp - - published: 443 - target: 8443 - mode: host - protocol: tcp - environment: - - SERVER_NAME= - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - - SWARM_MODE=yes - - MULTISITE=yes - - USE_REDIS=yes - - REDIS_HOST=bw-redis - - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 - - UI_HOST=http://bw-ui:7000 # Remember to set the UI_HOST setting - networks: - - bw-universe - - bw-services - deploy: - mode: global - placement: - constraints: - - "node.role == worker" - labels: - - "bunkerweb.INSTANCE=yes" - - bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 - environment: - - SWARM_MODE=yes - - DOCKER_HOST=tcp://bw-docker:2375 - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - networks: - - bw-universe - - bw-docker - - bw-docker: - image: tecnativa/docker-socket-proxy:nightly - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro - environment: - - CONFIGS=1 - - CONTAINERS=1 - - SERVICES=1 - - SWARM=1 - - TASKS=1 - - LOG_LEVEL=warning - networks: - - bw-docker - deploy: - placement: - constraints: - - "node.role == manager" - - bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 - environment: - - SWARM_MODE=yes - - DOCKER_HOST=tcp://bw-docker:2375 - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db - networks: - - bw-universe - - bw-docker - - bw-db: - image: mariadb:10.10 - environment: - - MYSQL_RANDOM_ROOT_PASSWORD=yes - - MYSQL_DATABASE=db - - MYSQL_USER=bunkerweb - - MYSQL_PASSWORD=changeme - volumes: - - bw-data:/var/lib/mysql - networks: - - bw-docker - - bw-redis: - image: redis:7-alpine - networks: - - bw-universe - - bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 - environment: - - SWARM_MODE=yes - - DOCKER_HOST=tcp://bw-docker:2375 - - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database - networks: - - bw-universe - - bw-docker - - volumes: - bw-data: - - networks: - bw-universe: - name: bw-universe - driver: overlay - attachable: true - ipam: - config: - - subnet: 10.20.30.0/24 - bw-services: - name: bw-services - driver: overlay - attachable: true - bw-docker: - name: bw-docker - driver: overlay - attachable: true - ``` - -=== "Kubernetes" - - Follow the Installation section of the documentation to setup the web UI. If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the hostname of your web UI container. For example, if your web UI container is named `bunkerweb-ui` and is listening on the `7000` port, you will need to set the `UI_HOST` setting to `http://svc-bunkerweb-ui:7000`. - - Here is the yaml boilerplate that you can use (don't forget to edit the `changeme` data) : - - ```yaml - apiVersion: rbac.authorization.k8s.io/v1 - kind: ClusterRole - metadata: - name: cr-bunkerweb - rules: - - apiGroups: [""] - resources: ["services", "pods", "configmaps"] - verbs: ["get", "watch", "list"] - - apiGroups: ["networking.k8s.io"] - resources: ["ingresses"] - verbs: ["get", "watch", "list"] - --- - apiVersion: v1 - kind: ServiceAccount - metadata: - name: sa-bunkerweb - --- - apiVersion: rbac.authorization.k8s.io/v1 - kind: ClusterRoleBinding - metadata: - name: crb-bunkerweb - subjects: - - kind: ServiceAccount - name: sa-bunkerweb - namespace: default - apiGroup: "" - roleRef: - kind: ClusterRole - name: cr-bunkerweb - apiGroup: rbac.authorization.k8s.io - --- - apiVersion: apps/v1 - kind: DaemonSet - metadata: - name: bunkerweb - spec: - selector: - matchLabels: - app: bunkerweb - template: - metadata: - labels: - app: bunkerweb - # mandatory annotation - annotations: - bunkerweb.io/INSTANCE: "yes" - spec: - containers: - # using bunkerweb as name is mandatory - - name: bunkerweb - image: bunkerity/bunkerweb:1.5.3 - imagePullPolicy: Always - securityContext: - runAsUser: 101 - runAsGroup: 101 - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - ports: - - containerPort: 8080 - hostPort: 80 - - containerPort: 8443 - hostPort: 443 - env: - - name: KUBERNETES_MODE - value: "yes" - # replace with your DNS resolvers - # e.g. : kube-dns.kube-system.svc.cluster.local - - name: DNS_RESOLVERS - value: "coredns.kube-system.svc.cluster.local" - - name: USE_API - value: "yes" - # 10.0.0.0/8 is the cluster internal subnet - - name: API_WHITELIST_IP - value: "127.0.0.0/8 10.0.0.0/8" - - name: SERVER_NAME - value: "" - - name: MULTISITE - value: "yes" - - name: USE_REDIS - value: "yes" - - name: REDIS_HOST - value: "svc-bunkerweb-redis.default.svc.cluster.local" - # Remember to set the UI_HOST setting - - name: UI_HOST - value: "http://svc-bunkerweb-ui:7000" - livenessProbe: - exec: - command: - - /usr/share/bunkerweb/helpers/healthcheck.sh - initialDelaySeconds: 30 - periodSeconds: 5 - timeoutSeconds: 1 - failureThreshold: 3 - readinessProbe: - exec: - command: - - /usr/share/bunkerweb/helpers/healthcheck.sh - initialDelaySeconds: 30 - periodSeconds: 1 - timeoutSeconds: 1 - failureThreshold: 3 - --- - apiVersion: apps/v1 - kind: Deployment - metadata: - name: bunkerweb-controller - spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: bunkerweb-controller - template: - metadata: - labels: - app: bunkerweb-controller - spec: - serviceAccountName: sa-bunkerweb - containers: - - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 - imagePullPolicy: Always - env: - - name: KUBERNETES_MODE - value: "yes" - - name: "DATABASE_URI" - value: "mariadb+pymysql://bunkerweb:changeme@svc-bunkerweb-db:3306/db" - --- - apiVersion: apps/v1 - kind: Deployment - metadata: - name: bunkerweb-scheduler - spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: bunkerweb-scheduler - template: - metadata: - labels: - app: bunkerweb-scheduler - spec: - serviceAccountName: sa-bunkerweb - containers: - - name: bunkerweb-scheduler - image: bunkerity/bunkerweb-scheduler:1.5.3 - imagePullPolicy: Always - env: - - name: KUBERNETES_MODE - value: "yes" - - name: "DATABASE_URI" - value: "mariadb+pymysql://bunkerweb:changeme@svc-bunkerweb-db:3306/db" - --- - apiVersion: apps/v1 - kind: Deployment - metadata: - name: bunkerweb-redis - spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: bunkerweb-redis - template: - metadata: - labels: - app: bunkerweb-redis - spec: - containers: - - name: bunkerweb-redis - image: redis:7-alpine - imagePullPolicy: Always - --- - apiVersion: apps/v1 - kind: Deployment - metadata: - name: bunkerweb-db - spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: bunkerweb-db - template: - metadata: - labels: - app: bunkerweb-db - spec: - containers: - - name: bunkerweb-db - image: mariadb:10.10 - imagePullPolicy: Always - env: - - name: MYSQL_RANDOM_ROOT_PASSWORD - value: "yes" - - name: "MYSQL_DATABASE" - value: "db" - - name: "MYSQL_USER" - value: "bunkerweb" - - name: "MYSQL_PASSWORD" - value: "changeme" - volumeMounts: - - mountPath: "/var/lib/mysql" - name: vol-db - volumes: - - name: vol-db - persistentVolumeClaim: - claimName: pvc-bunkerweb - --- - apiVersion: apps/v1 - kind: Deployment - metadata: - name: bunkerweb-ui - spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app: bunkerweb-ui - template: - metadata: - labels: - app: bunkerweb-ui - spec: - containers: - - name: bunkerweb-ui - image: bunkerity/bunkerweb-ui:1.5.3 - imagePullPolicy: Always - env: - - name: KUBERNETES_MODE - value: "YES" - - name: "DATABASE_URI" - value: "mariadb+pymysql://bunkerweb:testor@svc-bunkerweb-db:3306/db" - --- - apiVersion: v1 - kind: Service - metadata: - name: svc-bunkerweb - spec: - clusterIP: None - selector: - app: bunkerweb - --- - apiVersion: v1 - kind: Service - metadata: - name: svc-bunkerweb-db - spec: - type: ClusterIP - selector: - app: bunkerweb-db - ports: - - name: sql - protocol: TCP - port: 3306 - targetPort: 3306 - --- - apiVersion: v1 - kind: Service - metadata: - name: svc-bunkerweb-redis - spec: - type: ClusterIP - selector: - app: bunkerweb-redis - ports: - - name: redis - protocol: TCP - port: 6379 - targetPort: 6379 - --- - apiVersion: v1 - kind: Service - metadata: - name: svc-bunkerweb-ui - spec: - type: ClusterIP - selector: - app: bunkerweb-ui - ports: - - name: http - protocol: TCP - port: 7000 - targetPort: 7000 - --- - apiVersion: v1 - kind: PersistentVolumeClaim - metadata: - name: pvc-bunkerweb - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 5Gi - volumeName: pv-bunkerweb - ``` - -=== "Linux - Ansible - Vagrant" - - Follow the Installation section of the documentation to setup the web UI. If you want to use the setup wizard, you will need to set the `UI_HOST` setting to the hostname of your web UI. In this case, you will need to set the `UI_HOST` setting to `http://127.0.0.1:7000`. - - Here is the `/etc/bunkerweb/variables.env` boilerplate you can use : - - ```conf - HTTP_PORT=80 - HTTPS_PORT=443 - DNS_RESOLVERS=9.9.9.9 8.8.8.8 8.8.4.4 - API_LISTEN_IP=127.0.0.1 - SERVER_NAME= - MULTISITE=yes - UI_HOST=http://127.0.0.1:7000 # Remember to set the UI_HOST setting - ``` - - As for the wizard to be available, the web UI needs to not have an `ADMIN_USERNAME` or an `ADMIN_PASSWORD` set. If you have already set those variables, you will need to unset them : - - ```shell - truncate -s 0 /etc/bunkerweb/ui.env - ``` - - Remember to restart the `bunkerweb` and `bunkerweb-ui` services : - - ```shell - systemctl restart bunkerweb - systemctl restart bunkerweb-ui - ``` - - You can now access the setup wizard at the URL `http://127.0.0.1/setup`. + ``` \ No newline at end of file diff --git a/examples/authelia/docker-compose.yml b/examples/authelia/docker-compose.yml index 4ac86c77f..0df8be2b4 100644 --- a/examples/authelia/docker-compose.yml +++ b/examples/authelia/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.4" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -44,7 +44,7 @@ services: - app2.example.com_REVERSE_PROXY_HEADERS=Remote-User $$user;Remote-Groups $$groups;Remote-Name $$name;Remote-Email $$email bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/authentik/docker-compose.yml b/examples/authentik/docker-compose.yml index 4cdaf8c62..533f354b7 100644 --- a/examples/authentik/docker-compose.yml +++ b/examples/authentik/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.4" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -53,7 +53,7 @@ services: - app2.example.com_REVERSE_PROXY_HEADERS=X-authentik-username $$authentik_username;X-authentik-groups $$authentik_groups;X-authentik-email $$authentik_email;X-authentik-name $$authentik_name;X-authentik-uid $$authentik_uid bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/behind-reverse-proxy/docker-compose.yml b/examples/behind-reverse-proxy/docker-compose.yml index 7ccac9f85..0dd8a7d5f 100644 --- a/examples/behind-reverse-proxy/docker-compose.yml +++ b/examples/behind-reverse-proxy/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 environment: - SERVER_NAME=www.example.com # replace with your domains - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 @@ -24,7 +24,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/bigbluebutton/docker-compose.yml b/examples/bigbluebutton/docker-compose.yml index 0714f731c..24114e2de 100644 --- a/examples/bigbluebutton/docker-compose.yml +++ b/examples/bigbluebutton/docker-compose.yml @@ -27,7 +27,7 @@ services: ... mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -50,7 +50,7 @@ services: bw-universe: bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/certbot-dns-cloudflare/docker-compose.yml b/examples/certbot-dns-cloudflare/docker-compose.yml index 5adb7b7b4..009d69bc9 100644 --- a/examples/certbot-dns-cloudflare/docker-compose.yml +++ b/examples/certbot-dns-cloudflare/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -33,7 +33,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/certbot-dns-digitalocean/docker-compose.yml b/examples/certbot-dns-digitalocean/docker-compose.yml index 2d420c230..be5c1052b 100644 --- a/examples/certbot-dns-digitalocean/docker-compose.yml +++ b/examples/certbot-dns-digitalocean/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -33,7 +33,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/certbot-dns-google/docker-compose.yml b/examples/certbot-dns-google/docker-compose.yml index 48c260159..bdee54a0e 100644 --- a/examples/certbot-dns-google/docker-compose.yml +++ b/examples/certbot-dns-google/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -33,7 +33,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/certbot-dns-ovh/docker-compose.yml b/examples/certbot-dns-ovh/docker-compose.yml index fbaf105cd..f8af2e65b 100644 --- a/examples/certbot-dns-ovh/docker-compose.yml +++ b/examples/certbot-dns-ovh/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -33,7 +33,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/certbot-dns-route53/docker-compose.yml b/examples/certbot-dns-route53/docker-compose.yml index 7cab61142..a93ee061a 100644 --- a/examples/certbot-dns-route53/docker-compose.yml +++ b/examples/certbot-dns-route53/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -33,7 +33,7 @@ services: - bw-services bbw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/cors/docker-compose.yml b/examples/cors/docker-compose.yml index 1e7240f2c..e7273fd42 100644 --- a/examples/cors/docker-compose.yml +++ b/examples/cors/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -38,7 +38,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/docker-configs/docker-compose.yml b/examples/docker-configs/docker-compose.yml index d6e9f7969..01cc9fbd1 100644 --- a/examples/docker-configs/docker-compose.yml +++ b/examples/docker-configs/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -53,7 +53,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/drupal/docker-compose.yml b/examples/drupal/docker-compose.yml index 648558e8d..63be86cc5 100644 --- a/examples/drupal/docker-compose.yml +++ b/examples/drupal/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -28,7 +28,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/ghost/docker-compose.yml b/examples/ghost/docker-compose.yml index f4d7de48c..605762d10 100644 --- a/examples/ghost/docker-compose.yml +++ b/examples/ghost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -24,7 +24,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/gogs/docker-compose.yml b/examples/gogs/docker-compose.yml index 2ce4b7b19..03a4f2c6f 100644 --- a/examples/gogs/docker-compose.yml +++ b/examples/gogs/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -28,7 +28,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/hardened/docker-compose.yml b/examples/hardened/docker-compose.yml index ad7655917..4e6e5f61b 100644 --- a/examples/hardened/docker-compose.yml +++ b/examples/hardened/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 # dropping all capabilities cap_drop: - ALL @@ -39,7 +39,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/joomla/docker-compose.yml b/examples/joomla/docker-compose.yml index cfbdaa6b7..91ec4429b 100644 --- a/examples/joomla/docker-compose.yml +++ b/examples/joomla/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -28,7 +28,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/load-balancer/docker-compose.yml b/examples/load-balancer/docker-compose.yml index 163bf17ae..ed28df749 100644 --- a/examples/load-balancer/docker-compose.yml +++ b/examples/load-balancer/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -31,7 +31,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/magento/docker-compose.yml b/examples/magento/docker-compose.yml index 77bf23a63..73a0eb873 100644 --- a/examples/magento/docker-compose.yml +++ b/examples/magento/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -29,7 +29,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/mattermost/docker-compose.yml b/examples/mattermost/docker-compose.yml index 82f94d64b..832a3514e 100644 --- a/examples/mattermost/docker-compose.yml +++ b/examples/mattermost/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -44,7 +44,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/mongo-express/docker-compose.yml b/examples/mongo-express/docker-compose.yml index 95978ea19..cb5c1b099 100644 --- a/examples/mongo-express/docker-compose.yml +++ b/examples/mongo-express/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -27,7 +27,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/moodle/docker-compose.yml b/examples/moodle/docker-compose.yml index ffd9d8096..7c1de8d6d 100644 --- a/examples/moodle/docker-compose.yml +++ b/examples/moodle/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -25,7 +25,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/nextcloud/docker-compose.yml b/examples/nextcloud/docker-compose.yml index b433d3329..1f994ff57 100644 --- a/examples/nextcloud/docker-compose.yml +++ b/examples/nextcloud/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -54,7 +54,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/passbolt/docker-compose.yml b/examples/passbolt/docker-compose.yml index de8668046..dd1d4f8b0 100644 --- a/examples/passbolt/docker-compose.yml +++ b/examples/passbolt/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -26,7 +26,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/php-cookie-flags/docker-compose.yml b/examples/php-cookie-flags/docker-compose.yml index ba83e9d82..707fb57ae 100644 --- a/examples/php-cookie-flags/docker-compose.yml +++ b/examples/php-cookie-flags/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -31,7 +31,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/php-multisite/docker-compose.yml b/examples/php-multisite/docker-compose.yml index 9c407ec21..6a6fb38f5 100644 --- a/examples/php-multisite/docker-compose.yml +++ b/examples/php-multisite/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -34,7 +34,7 @@ services: - net-app2 bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/php-singlesite/docker-compose.yml b/examples/php-singlesite/docker-compose.yml index a3bc9f232..8056a499b 100644 --- a/examples/php-singlesite/docker-compose.yml +++ b/examples/php-singlesite/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -30,7 +30,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/prestashop/docker-compose.yml b/examples/prestashop/docker-compose.yml index 9dd14aeea..8cdab700f 100644 --- a/examples/prestashop/docker-compose.yml +++ b/examples/prestashop/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -28,7 +28,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/proxy-protocol/docker-compose.yml b/examples/proxy-protocol/docker-compose.yml index fa3f62c1b..3e3a08daa 100644 --- a/examples/proxy-protocol/docker-compose.yml +++ b/examples/proxy-protocol/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 environment: - SERVER_NAME=www.example.com # replace with your domains - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 @@ -27,7 +27,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/radarr/docker-compose.yml b/examples/radarr/docker-compose.yml index 39c556366..8f1f8824a 100644 --- a/examples/radarr/docker-compose.yml +++ b/examples/radarr/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.5" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -34,7 +34,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/redmine/docker-compose.yml b/examples/redmine/docker-compose.yml index 9bfd406b3..2d73e8c3f 100644 --- a/examples/redmine/docker-compose.yml +++ b/examples/redmine/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -24,7 +24,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/reverse-proxy-multisite/docker-compose.yml b/examples/reverse-proxy-multisite/docker-compose.yml index 0c38af13d..b749dcfc1 100644 --- a/examples/reverse-proxy-multisite/docker-compose.yml +++ b/examples/reverse-proxy-multisite/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -27,7 +27,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/reverse-proxy-singlesite/docker-compose.yml b/examples/reverse-proxy-singlesite/docker-compose.yml index 9bc6028e8..92d717867 100644 --- a/examples/reverse-proxy-singlesite/docker-compose.yml +++ b/examples/reverse-proxy-singlesite/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -32,7 +32,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/reverse-proxy-websocket/docker-compose.yml b/examples/reverse-proxy-websocket/docker-compose.yml index 1e65e5d3d..42955a53a 100644 --- a/examples/reverse-proxy-websocket/docker-compose.yml +++ b/examples/reverse-proxy-websocket/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -25,7 +25,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/stream-multisite/docker-compose.yml b/examples/stream-multisite/docker-compose.yml index 09104c5e0..909fbc298 100644 --- a/examples/stream-multisite/docker-compose.yml +++ b/examples/stream-multisite/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 # required to resolve let's encrypt challenges - 10000:10000 # app1 without SSL/TLS @@ -33,7 +33,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/syslog/docker-compose.yml b/examples/syslog/docker-compose.yml index a773e427a..02a57b19a 100644 --- a/examples/syslog/docker-compose.yml +++ b/examples/syslog/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 logging: driver: syslog options: @@ -28,7 +28,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 logging: driver: syslog options: diff --git a/examples/tomcat/docker-compose.yml b/examples/tomcat/docker-compose.yml index aad61dcd6..663c1c7b8 100644 --- a/examples/tomcat/docker-compose.yml +++ b/examples/tomcat/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -23,7 +23,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/tor-hidden-service/docker-compose.yml b/examples/tor-hidden-service/docker-compose.yml index 0483ec9fa..747691aaf 100644 --- a/examples/tor-hidden-service/docker-compose.yml +++ b/examples/tor-hidden-service/docker-compose.yml @@ -12,7 +12,7 @@ services: - bw-universe mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 environment: - API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24 # disable common security measures based on IP @@ -34,7 +34,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/examples/web-ui/docker-compose.wizard.yml b/examples/web-ui/docker-compose.wizard.yml index aa59c1e4b..be275cdaa 100644 --- a/examples/web-ui/docker-compose.wizard.yml +++ b/examples/web-ui/docker-compose.wizard.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -23,7 +23,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -45,7 +45,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 depends_on: - bw-docker environment: diff --git a/examples/web-ui/docker-compose.yml b/examples/web-ui/docker-compose.yml index 2d8aabcbb..92d2a6420 100644 --- a/examples/web-ui/docker-compose.yml +++ b/examples/web-ui/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -27,7 +27,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -49,7 +49,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 depends_on: - bw-docker environment: diff --git a/examples/wordpress/docker-compose.yml b/examples/wordpress/docker-compose.yml index f249da4f4..0d1245448 100644 --- a/examples/wordpress/docker-compose.yml +++ b/examples/wordpress/docker-compose.yml @@ -2,7 +2,7 @@ version: "3" services: mybunker: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -25,7 +25,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - mybunker environment: diff --git a/misc/integrations/autoconf.mariadb.ui.yml b/misc/integrations/autoconf.mariadb.ui.yml index c3b7f1bcd..5335b37e1 100644 --- a/misc/integrations/autoconf.mariadb.ui.yml +++ b/misc/integrations/autoconf.mariadb.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -19,7 +19,7 @@ services: - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker @@ -32,7 +32,7 @@ services: - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -67,7 +67,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 networks: bw-docker: bw-universe: diff --git a/misc/integrations/autoconf.mariadb.yml b/misc/integrations/autoconf.mariadb.yml index 28f89b9f8..9e0c33c8d 100644 --- a/misc/integrations/autoconf.mariadb.yml +++ b/misc/integrations/autoconf.mariadb.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -19,7 +19,7 @@ services: - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker @@ -32,7 +32,7 @@ services: - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker diff --git a/misc/integrations/autoconf.mysql.ui.yml b/misc/integrations/autoconf.mysql.ui.yml index 7f4de67d6..d6cc02163 100644 --- a/misc/integrations/autoconf.mysql.ui.yml +++ b/misc/integrations/autoconf.mysql.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -19,7 +19,7 @@ services: - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker @@ -32,7 +32,7 @@ services: - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -67,7 +67,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 networks: bw-docker: bw-universe: diff --git a/misc/integrations/autoconf.mysql.yml b/misc/integrations/autoconf.mysql.yml index 30f4d9f3a..55be5cfe3 100644 --- a/misc/integrations/autoconf.mysql.yml +++ b/misc/integrations/autoconf.mysql.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -19,7 +19,7 @@ services: - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker @@ -32,7 +32,7 @@ services: - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker diff --git a/misc/integrations/autoconf.postgres.ui.yml b/misc/integrations/autoconf.postgres.ui.yml index d75b0ee62..dcc2df54e 100644 --- a/misc/integrations/autoconf.postgres.ui.yml +++ b/misc/integrations/autoconf.postgres.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -19,7 +19,7 @@ services: - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker @@ -32,7 +32,7 @@ services: - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -66,7 +66,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 networks: bw-docker: bw-universe: diff --git a/misc/integrations/autoconf.postgres.yml b/misc/integrations/autoconf.postgres.yml index 0759cd74d..a549e4b7d 100644 --- a/misc/integrations/autoconf.postgres.yml +++ b/misc/integrations/autoconf.postgres.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -19,7 +19,7 @@ services: - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker @@ -32,7 +32,7 @@ services: - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker diff --git a/misc/integrations/autoconf.ui.yml b/misc/integrations/autoconf.ui.yml index c6efd62b7..93c50cd4c 100644 --- a/misc/integrations/autoconf.ui.yml +++ b/misc/integrations/autoconf.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -18,7 +18,7 @@ services: - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker @@ -32,7 +32,7 @@ services: - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -56,7 +56,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 networks: bw-docker: bw-universe: diff --git a/misc/integrations/autoconf.yml b/misc/integrations/autoconf.yml index 529036579..ae808ac24 100644 --- a/misc/integrations/autoconf.yml +++ b/misc/integrations/autoconf.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -18,7 +18,7 @@ services: - bw-services bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 depends_on: - bunkerweb - bw-docker @@ -32,7 +32,7 @@ services: - bw-docker bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker diff --git a/misc/integrations/docker.mariadb.ui.yml b/misc/integrations/docker.mariadb.ui.yml index d157ed820..1861e829f 100644 --- a/misc/integrations/docker.mariadb.ui.yml +++ b/misc/integrations/docker.mariadb.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -26,7 +26,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -48,7 +48,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 depends_on: - bw-docker environment: diff --git a/misc/integrations/docker.mariadb.yml b/misc/integrations/docker.mariadb.yml index 89150cbca..3f6187736 100644 --- a/misc/integrations/docker.mariadb.yml +++ b/misc/integrations/docker.mariadb.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -17,7 +17,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker diff --git a/misc/integrations/docker.mysql.ui.yml b/misc/integrations/docker.mysql.ui.yml index 0c8f33709..7ceedab05 100644 --- a/misc/integrations/docker.mysql.ui.yml +++ b/misc/integrations/docker.mysql.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -26,7 +26,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -48,7 +48,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 depends_on: - bw-docker environment: diff --git a/misc/integrations/docker.mysql.yml b/misc/integrations/docker.mysql.yml index 191f273c8..7e2559f60 100644 --- a/misc/integrations/docker.mysql.yml +++ b/misc/integrations/docker.mysql.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -17,7 +17,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker diff --git a/misc/integrations/docker.postgres.ui.yml b/misc/integrations/docker.postgres.ui.yml index a05c64c06..444b5310c 100644 --- a/misc/integrations/docker.postgres.ui.yml +++ b/misc/integrations/docker.postgres.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -27,7 +27,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -49,7 +49,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 depends_on: - bw-docker environment: diff --git a/misc/integrations/docker.postgres.yml b/misc/integrations/docker.postgres.yml index 8105806c4..6c720abf7 100644 --- a/misc/integrations/docker.postgres.yml +++ b/misc/integrations/docker.postgres.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -17,7 +17,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker diff --git a/misc/integrations/docker.ui.yml b/misc/integrations/docker.ui.yml index a9b4f2848..900457ce1 100644 --- a/misc/integrations/docker.ui.yml +++ b/misc/integrations/docker.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -22,7 +22,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker @@ -45,7 +45,7 @@ services: - bw-docker bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 depends_on: - bw-docker volumes: diff --git a/misc/integrations/docker.yml b/misc/integrations/docker.yml index 8f2e36ee3..230e5f453 100644 --- a/misc/integrations/docker.yml +++ b/misc/integrations/docker.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - 80:8080 - 443:8443 @@ -16,7 +16,7 @@ services: - bw-services bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 depends_on: - bunkerweb - bw-docker diff --git a/misc/integrations/k8s.mariadb.ui.yml b/misc/integrations/k8s.mariadb.ui.yml index db93d6f97..54622931a 100644 --- a/misc/integrations/k8s.mariadb.ui.yml +++ b/misc/integrations/k8s.mariadb.ui.yml @@ -48,7 +48,7 @@ spec: containers: # using bunkerweb as name is mandatory - name: bunkerweb - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 imagePullPolicy: Always securityContext: runAsUser: 101 @@ -118,7 +118,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -145,7 +145,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-scheduler - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -230,7 +230,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-ui - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 imagePullPolicy: Always env: - name: ADMIN_USERNAME diff --git a/misc/integrations/k8s.mariadb.yml b/misc/integrations/k8s.mariadb.yml index a9ab3fa77..7d5f4c1c2 100644 --- a/misc/integrations/k8s.mariadb.yml +++ b/misc/integrations/k8s.mariadb.yml @@ -48,7 +48,7 @@ spec: containers: # using bunkerweb as name is mandatory - name: bunkerweb - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 imagePullPolicy: Always securityContext: runAsUser: 101 @@ -118,7 +118,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -145,7 +145,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-scheduler - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE diff --git a/misc/integrations/k8s.mysql.ui.yml b/misc/integrations/k8s.mysql.ui.yml index 4d0fc3c0a..8b2ec3222 100644 --- a/misc/integrations/k8s.mysql.ui.yml +++ b/misc/integrations/k8s.mysql.ui.yml @@ -48,7 +48,7 @@ spec: containers: # using bunkerweb as name is mandatory - name: bunkerweb - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 imagePullPolicy: Always securityContext: runAsUser: 101 @@ -118,7 +118,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -145,7 +145,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-scheduler - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -230,7 +230,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-ui - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 imagePullPolicy: Always env: - name: ADMIN_USERNAME diff --git a/misc/integrations/k8s.mysql.yml b/misc/integrations/k8s.mysql.yml index 2fbc5b1f5..7c01dc5d9 100644 --- a/misc/integrations/k8s.mysql.yml +++ b/misc/integrations/k8s.mysql.yml @@ -48,7 +48,7 @@ spec: containers: # using bunkerweb as name is mandatory - name: bunkerweb - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 imagePullPolicy: Always securityContext: runAsUser: 101 @@ -118,7 +118,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -144,7 +144,7 @@ spec: spec: containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE diff --git a/misc/integrations/k8s.postgres.ui.yml b/misc/integrations/k8s.postgres.ui.yml index 2b7cc9177..cb165bb00 100644 --- a/misc/integrations/k8s.postgres.ui.yml +++ b/misc/integrations/k8s.postgres.ui.yml @@ -48,7 +48,7 @@ spec: containers: # using bunkerweb as name is mandatory - name: bunkerweb - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 imagePullPolicy: Always securityContext: runAsUser: 101 @@ -118,7 +118,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -145,7 +145,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-scheduler - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -230,7 +230,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-ui - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 imagePullPolicy: Always env: - name: ADMIN_USERNAME diff --git a/misc/integrations/k8s.postgres.yml b/misc/integrations/k8s.postgres.yml index 49efc2726..69df9178d 100644 --- a/misc/integrations/k8s.postgres.yml +++ b/misc/integrations/k8s.postgres.yml @@ -48,7 +48,7 @@ spec: containers: # using bunkerweb as name is mandatory - name: bunkerweb - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 imagePullPolicy: Always securityContext: runAsUser: 101 @@ -118,7 +118,7 @@ spec: serviceAccountName: sa-bunkerweb containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE @@ -144,7 +144,7 @@ spec: spec: containers: - name: bunkerweb-controller - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 imagePullPolicy: Always env: - name: KUBERNETES_MODE diff --git a/misc/integrations/swarm.mariadb.ui.yml b/misc/integrations/swarm.mariadb.ui.yml index 4621d3967..7125aca65 100644 --- a/misc/integrations/swarm.mariadb.ui.yml +++ b/misc/integrations/swarm.mariadb.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - published: 80 target: 8080 @@ -32,7 +32,7 @@ services: - "bunkerweb.INSTANCE=yes" bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -60,7 +60,7 @@ services: - "node.role == manager" bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -87,7 +87,7 @@ services: - bw-universe bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 environment: - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database - DOCKER_HOST=tcp://bw-docker:2375 diff --git a/misc/integrations/swarm.mariadb.yml b/misc/integrations/swarm.mariadb.yml index d05a713ac..4077453e9 100644 --- a/misc/integrations/swarm.mariadb.yml +++ b/misc/integrations/swarm.mariadb.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - published: 80 target: 8080 @@ -32,7 +32,7 @@ services: - "bunkerweb.INSTANCE=yes" bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -64,7 +64,7 @@ services: - "node.role == manager" bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 diff --git a/misc/integrations/swarm.mysql.ui.yml b/misc/integrations/swarm.mysql.ui.yml index 4482b13d5..a806ca77c 100644 --- a/misc/integrations/swarm.mysql.ui.yml +++ b/misc/integrations/swarm.mysql.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - published: 80 target: 8080 @@ -32,7 +32,7 @@ services: - "bunkerweb.INSTANCE=yes" bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -60,7 +60,7 @@ services: - "node.role == manager" bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -87,7 +87,7 @@ services: - bw-universe bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 environment: - DATABASE_URI=mariadb+pymysql://bunkerweb:changeme@bw-db:3306/db # Remember to set a stronger password for the database - DOCKER_HOST=tcp://bw-docker:2375 diff --git a/misc/integrations/swarm.mysql.yml b/misc/integrations/swarm.mysql.yml index 6bcf88233..68cef9d81 100644 --- a/misc/integrations/swarm.mysql.yml +++ b/misc/integrations/swarm.mysql.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - published: 80 target: 8080 @@ -32,7 +32,7 @@ services: - "bunkerweb.INSTANCE=yes" bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -60,7 +60,7 @@ services: - "node.role == manager" bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 diff --git a/misc/integrations/swarm.postgres.ui.yml b/misc/integrations/swarm.postgres.ui.yml index 4aec4bf55..959217606 100644 --- a/misc/integrations/swarm.postgres.ui.yml +++ b/misc/integrations/swarm.postgres.ui.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - published: 80 target: 8080 @@ -32,7 +32,7 @@ services: - "bunkerweb.INSTANCE=yes" bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -60,7 +60,7 @@ services: - "node.role == manager" bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -86,7 +86,7 @@ services: - bw-universe bw-ui: - image: bunkerity/bunkerweb-ui:1.5.3 + image: bunkerity/bunkerweb-ui:1.5.4 environment: - DATABASE_URI=postgresql://bunkerweb:changeme@bw-db:5432/db - DOCKER_HOST=tcp://bw-docker:2375 diff --git a/misc/integrations/swarm.postgres.yml b/misc/integrations/swarm.postgres.yml index 866be65f9..f244d0fac 100644 --- a/misc/integrations/swarm.postgres.yml +++ b/misc/integrations/swarm.postgres.yml @@ -2,7 +2,7 @@ version: "3.5" services: bunkerweb: - image: bunkerity/bunkerweb:1.5.3 + image: bunkerity/bunkerweb:1.5.4 ports: - published: 80 target: 8080 @@ -32,7 +32,7 @@ services: - "bunkerweb.INSTANCE=yes" bw-autoconf: - image: bunkerity/bunkerweb-autoconf:1.5.3 + image: bunkerity/bunkerweb-autoconf:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 @@ -60,7 +60,7 @@ services: - "node.role == manager" bw-scheduler: - image: bunkerity/bunkerweb-scheduler:1.5.3 + image: bunkerity/bunkerweb-scheduler:1.5.4 environment: - SWARM_MODE=yes - DOCKER_HOST=tcp://bw-docker:2375 diff --git a/pyproject.toml b/pyproject.toml index 92515b4e7..3cd3cfebe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "BunkerWeb" description = "Make your web services secure by default !" -version = "1.5.3" +version = "1.5.4" authors = [ { name = "Bunkerity", email = "contact@bunkerity.com" } ] diff --git a/src/VERSION b/src/VERSION index 1d5e9e0ba..63ebd3fe3 100644 --- a/src/VERSION +++ b/src/VERSION @@ -1 +1 @@ -1.5.3 \ No newline at end of file +1.5.4 \ No newline at end of file diff --git a/src/common/db/model.py b/src/common/db/model.py index c6a4f28de..7a3afa5c9 100644 --- a/src/common/db/model.py +++ b/src/common/db/model.py @@ -272,4 +272,4 @@ class Metadata(Base): config_changed = Column(Boolean, default=False, nullable=True) instances_changed = Column(Boolean, default=False, nullable=True) integration = Column(INTEGRATIONS_ENUM, default="Unknown", nullable=False) - version = Column(String(32), default="1.5.3", nullable=False) + version = Column(String(32), default="1.5.4", nullable=False) diff --git a/src/linux/scripts/afterRemoveDEB.sh b/src/linux/scripts/afterRemoveDEB.sh index 1d2d80f58..40ad5af49 100644 --- a/src/linux/scripts/afterRemoveDEB.sh +++ b/src/linux/scripts/afterRemoveDEB.sh @@ -128,9 +128,9 @@ elif [ "$1" = "purge" ]; then purge else echo "Package is being upgraded" - # Check the version of the package and if it's inferior to 1.5.3, we need to copy the variables.env file + # Check the version of the package and if it's inferior to 1.5.4, we need to copy the variables.env file VERSION=$(dpkg-query -W -f='${Version}' bunkerweb) - if [ "$VERSION" != "1.5.3" ]; then + if [ "$VERSION" != "1.5.4" ]; then echo "ℹ️ Copyenv variables to /var/tmp/bunkerweb/*.env" do_and_check_cmd cp -f /opt/bunkerweb/variables.env /var/tmp/variables.env do_and_check_cmd cp -f /opt/bunkerweb/ui.env /var/tmp/ui.env diff --git a/src/linux/scripts/afterRemoveRPM.sh b/src/linux/scripts/afterRemoveRPM.sh index eca83d7ca..ac12084ff 100644 --- a/src/linux/scripts/afterRemoveRPM.sh +++ b/src/linux/scripts/afterRemoveRPM.sh @@ -130,9 +130,9 @@ if [ "$1" = "0" ]; then purge elif [ "$1" = "1" ]; then echo "Package is being upgraded" - # Check the version of the package and if it's inferior to 1.5.3, we need to copy the variables.env file + # Check the version of the package and if it's inferior to 1.5.4, we need to copy the variables.env file VERSION=$(rpm -q --queryformat '%{VERSION}' bunkerweb) - if [ "$VERSION" != "1.5.3" ]; then + if [ "$VERSION" != "1.5.4" ]; then echo "ℹ️ Copy /etc/bunkerweb/variables.env to /var/tmp/bunkerweb/variables.env" do_and_check_cmd cp -f /opt/bunkerweb/variables.env /var/tmp/variables.env do_and_check_cmd cp -f /opt/bunkerweb/ui.env /var/tmp/ui.env diff --git a/src/linux/scripts/beforeInstall.sh b/src/linux/scripts/beforeInstall.sh index 336a6c2bb..b6a9bee79 100644 --- a/src/linux/scripts/beforeInstall.sh +++ b/src/linux/scripts/beforeInstall.sh @@ -23,7 +23,7 @@ if [ -f /etc/os-release ]; then if [[ "$OS" == "Ubuntu" || "$OS" == "Debian" ]]; then # Get the version of the package VERSION=$(dpkg-query -W -f='${Version}' bunkerweb) - if dpkg --compare-versions "$VERSION" lt "1.5.3" && [ -f /var/tmp/variables.env ] && [ -f /var/tmp/ui.env ]; then + if dpkg --compare-versions "$VERSION" lt "1.5.4" && [ -f /var/tmp/variables.env ] && [ -f /var/tmp/ui.env ]; then echo "ℹ️ Copy /var/tmp/variables.env to /etc/bunkerweb/variables.env" do_and_check_cmd cp -f /var/tmp/variables.env /etc/bunkerweb/variables.env echo "ℹ️ Copy /var/tmp/ui.env to /etc/bunkerweb/ui.env" @@ -32,7 +32,7 @@ if [ -f /etc/os-release ]; then elif [[ "$OS" == "Red Hat Enterprise Linux" || "$OS" == "Fedora" ]]; then # Get the version of the package VERSION=$(rpm -q --queryformat '%{VERSION}' bunkerweb) - if [ "$(printf '%s\n' "$VERSION" "$(echo '1.5.3' | tr -d ' ')" | sort -V | head -n 1)" = "$VERSION" ] && [ -f /var/tmp/variables.env ] && [ -f /var/tmp/ui.env ]; then + if [ "$(printf '%s\n' "$VERSION" "$(echo '1.5.4' | tr -d ' ')" | sort -V | head -n 1)" = "$VERSION" ] && [ -f /var/tmp/variables.env ] && [ -f /var/tmp/ui.env ]; then echo "ℹ️ Copy /var/tmp/variables.env to /etc/bunkerweb/variables.env" do_and_check_cmd cp -f /var/tmp/variables.env /etc/bunkerweb/variables.env echo "ℹ️ Copy /var/tmp/ui.env to /etc/bunkerweb/ui.env" diff --git a/src/ui/templates/setup.html b/src/ui/templates/setup.html index c6f910119..5e56141fb 100644 --- a/src/ui/templates/setup.html +++ b/src/ui/templates/setup.html @@ -1373,7 +1373,7 @@
- Check server name DN + Check server name DNS