Nginx running on alpine linux.
The image is built automatically via CI, using latest alpine as base image.
Images can be found at:
- Docker hub:
jitesoft/nginx
- GitLab:
registry.gitlab.com/jitesoft/dockerfiles/nginx
- GitHub:
ghcr.io/jitesoft/nginx
- Quay:
quay.io/jitesoft/nginx
Dockerfile can be found at GitLab and GitHub
Most basic usage is to just run the container, nginx will start and serve the content in the /usr/local/nginx/html directory.
Port 80
is exposed by default.
The www-data user have the same id as the www-data user in the most common alpine images, 82.
Before 2021 07 23, the id was 1000, which created issues with read/write permissions
when used with the jitesoft/php image.
Containers created runs as root (easily changed in production with the appropriate flags), while the nginx process runs as the www-data user (82) by default.
To ease the setup process, the startup script will generate a default.conf file in the /etc/nginx/conf.d directory. Any files in said directory will be
loaded into nginx by default.
When the template is generated, the script will run envsubstr
to replace all template vars with passed environment variables. If you wish to customise the template
you may create a new template and set the CONF_TEMPLATE
variable to the path of the file and use ${VARIABLE}
placeholders to replace those with the
named env variables passed.
The default template file is located at /usr/local/default.template
and exposes LISTEN_PORT
, SERVER_NAME
and SERVER_ROOT
env variables and defaults to 80
, localhost
and /usr/local/nginx/html
.
It's also possible to change the full initial nginx configuration by replacing the /etc/nginx/nginx.conf
file, while not recommended (rather create a new file to override in /etc/nginx/conf.d
).
By default, the container will run a health check - via the healthcheck
shell script - every 30 seconds.
The health check script uses wget to hit a special endpoint (127.0.0.1:3999/__health
), which is automatically created in the /etc/nginx/conf.d/000-healthcheck.conf
configuration.
It's possible to turn the healthcheck off by setting SKIP_HEALTHCHECK=true
as an env variable. The healthcheck will still run, but always return as healthy.
Changing the healthcheck scripts is possible, while not recommended.
Dockerfiles and other scripts in the repository is released under the MIT license
Nginx is released under 2-clause BSD-like license.
This image follows the Jitesoft image label specification 1.0.0.
Sponsoring is vital for the further development and maintaining of open source projects.
Questions and sponsoring queries can be made via email.
If you wish to sponsor our projects, reach out to the email above or visit any of the following sites:
Open Collective
GitHub Sponsors
Patreon
Jitesoft images are built via GitLab CI on runners hosted by the following wonderful organisations:
The companies above are not affiliated with Jitesoft or any Jitesoft Projects directly.