Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/essentialkaos/webkaos
WEBKAOS is a web-server based on latest version of Nginx with many improvements
https://github.com/essentialkaos/webkaos
centos nginx webserver
Last synced: about 2 months ago
JSON representation
WEBKAOS is a web-server based on latest version of Nginx with many improvements
- Host: GitHub
- URL: https://github.com/essentialkaos/webkaos
- Owner: essentialkaos
- License: bsd-2-clause
- Created: 2015-11-27T16:23:57.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-06-18T08:26:09.000Z (3 months ago)
- Last Synced: 2024-07-10T09:54:23.561Z (3 months ago)
- Topics: centos, nginx, webserver
- Language: Shell
- Homepage: https://kaos.sh/webkaos
- Size: 549 KB
- Stars: 14
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
`webkaos` is a web-server based on the latest version of [Nginx](http://nginx.org).
## Feature list
* Improved default SSL/TLS preferencies
* [Dynamic TLS Records](DYNAMIC-TLS-RECORDS.md) support
* The latest version of [BoringSSL](https://boringssl.googlesource.com/boringssl/) with some state-of-the-art crypto features
* TLS 1.3 support (_RFC 8446_)
* [TCP Fast Open](https://en.wikipedia.org/wiki/TCP_Fast_Open) support
* [Lua](https://github.com/openresty/lua-nginx-module) and [Headers More](https://github.com/openresty/headers-more-nginx-module) modules from the box
* Improved SysV script
* Well-looking error pages
* Improved design of index pages
* Performance tuning for highload### Installation
#### From ESSENTIAL KAOS Public repository (EL 8/9)
```bash
sudo dnf install -y https://pkgs.kaos.st/kaos-repo-latest.el$(grep 'CPE_NAME' /etc/os-release | tr -d '"' | cut -d':' -f5).noarch.rpm
sudo dnf install webkaos
```#### Using Docker
Official webkaos images available on [GitHub Container Registry](https://kaos.sh/p/webkaos) and [Docker Hub](http://kaos.sh/d/webkaos). All Docker images support templating using environment variables.
Official images:
- `ghcr.io/essentialkaos/webkaos:ol8`
- `ghcr.io/essentialkaos/webkaos:ol8-unprivileged`
- `ghcr.io/essentialkaos/webkaos:ol9`
- `ghcr.io/essentialkaos/webkaos:ol9-unprivileged`
- `essentialkaos/webkaos:ol8`
- `essentialkaos/webkaos:ol8-unprivileged`
- `essentialkaos/webkaos:ol9`
- `essentialkaos/webkaos:ol9-unprivileged`Usage examples:
```bash
# Image on OracleLinux 8
docker run --name my-webkaos -v /some/content:/usr/share/webkaos/html:ro -p 8080:80 -d essentialkaos/webkaos:ol8
``````bash
# Unprivileged image on OracleLinux 8
docker run --name my-webkaos -v /some/content:/usr/share/webkaos/html:ro -p 8080:8080 -d essentialkaos/webkaos:ol8-unprivileged
```Useful environment variables:
* `WEBKAOS_ENABLE_ENTRYPOINT_LOGS` - Enable logging for actions made by entrypoint script;
* `WEBKAOS_DISABLE_PROC_TUNE` - Disable automatic `worker_processes` tuning;
* `WEBKAOS_DISABLE_BUCKET_TUNE` - Disable automatic `server_names_hash_bucket_size` tuning;
* `WEBKAOS_DISABLE_TEMPLATES` - Disable automatic templates rendering.#### Using [rpmbuilder](https://kaos.sh/rpmbuilder)
```bash
# install and configure rpmbuilder
git clone https://kaos.sh/webkaos
cd webkaos/
rpmbuilder webkaos.spec -dl SOURCES
rpmbuilder webkaos.spec -3 -V -I
```### FAQ
**Q:** **_Why is it named webkaos?_**
**A:** The very first version of this webserver was named `nginx-kaos`. But it uses a lot of different, awesome projects and libraries, not only nginx. So, we decided to choose something neutral.**Q:** **_Is it safe to use webkaos in production?_**
**A:** Yes. But we can't guarantee that there are no bugs in nginx, its modules, or used dependencies.**Q:** **_Can I use Docker images with Kubernetes/Nomad/Rancher?_**
**A:** Yes.**Q:** **_Can you provide packages for Ubuntu/Debian/FreeBSD?_**
**A:** Theoretically, yes. Practically, no. We use only RHEL-based distros in our infrastructure, and we can't provide the same quality of packages for other distros.**Q:** **_Can you provide Alpine-based Docker images?_**
**A:** No. Using RPM packages simplify their support for us. There is a complex process of building and testing packages with different tools (_[rpmbuilder](https://kaos.sh/rpmbuilder), rpmlint, [perfecto](https://kaos.sh/perfecto), [bibop](https://kaos.sh/bibop), [shellcheck](https://github.com/koalaman/shellcheck)_) and we can't provide the same level of quality without them. Also, it is tough to write and maintain Dockerfiles with a large number of build actions and stages.### License
[BSD 2-clause](LICENSE)