{"id":31622082,"url":"https://github.com/nfrastack/container-wordpress","last_synced_at":"2026-04-02T23:14:32.938Z","repository":{"id":53788931,"uuid":"101133059","full_name":"nfrastack/container-wordpress","owner":"nfrastack","description":"Dockerized Content Management System many with customizable options","archived":false,"fork":false,"pushed_at":"2025-10-02T17:26:17.000Z","size":173,"stargazers_count":37,"open_issues_count":0,"forks_count":8,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-10-02T19:22:28.380Z","etag":null,"topics":["wordpress"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nfrastack.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["tiredofit"]}},"created_at":"2017-08-23T03:22:07.000Z","updated_at":"2025-10-02T17:26:21.000Z","dependencies_parsed_at":"2024-01-16T18:57:22.833Z","dependency_job_id":"c7a8ab31-307e-4206-92e0-b20eb569d7f2","html_url":"https://github.com/nfrastack/container-wordpress","commit_stats":null,"previous_names":["nfrastack/container-wordpress"],"tags_count":82,"template":false,"template_full_name":null,"purl":"pkg:github/nfrastack/container-wordpress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-wordpress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-wordpress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-wordpress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-wordpress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfrastack","download_url":"https://codeload.github.com/nfrastack/container-wordpress/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-wordpress/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278646783,"owners_count":26021512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["wordpress"],"created_at":"2025-10-06T17:01:04.519Z","updated_at":"2025-10-06T17:02:46.752Z","avatar_url":"https://github.com/nfrastack.png","language":"Dockerfile","funding_links":["https://github.com/sponsors/tiredofit","https://www.paypal.me/tiredofit"],"categories":["Dockerfile"],"sub_categories":[],"readme":"# nfrastack/container-nginx-php-fpm\n\n## About\n\nThis repository will build a conatiner image for running [Laravel](https://laravel.net/) applications either in a development or production capacity, including [Nginx](https://www.nginx.org) w/[PHP-FPM](https://php.net).\n\n## Maintainer\n\n* [Nfrastack](https://www.nfrastack.com)\n\n## Table of Contents\n\n* [About](#about)\n* [Maintainer](#maintainer)\n* [Table of Contents](#table-of-contents)\n* [Prerequisites and Assumptions](#prerequisites-and-assumptions)\n* [Installation](#installation)\n  * [Build from Source](#build-from-source)\n  * [Prebuilt Images](#prebuilt-images)\n    * [Multi-Architecture Support](#multi-architecture-support)\n* [Configuration](#configuration)\n  * [Quick Start](#quick-start)\n  * [Persistent Storage](#persistent-storage)\n  * [Environment Variables](#environment-variables)\n    * [Base Images used](#base-images-used)\n    * [Core Configuration](#core-configuration)\n  * [Users and Groups](#users-and-groups)\n  * [Networking](#networking)\n* [Maintenance](#maintenance)\n  * [Shell Access](#shell-access)\n  * [Local Development / Changing Site Name \u0026 Ports](#local-development--changing-site-name--ports)\n  * [Command Line](#command-line)\n* [Support \u0026 Maintenance](#support--maintenance)\n* [License](#license)\n* [References](#references)\n\n## Installation\n\n### Prebuilt Images\n\nFeature limited builds of the image are available on the [Github Container Registry](https://github.com/nfrastack/container-laravel/pkgs/container/container-laravel) and [Docker Hub](https://hub.docker.com/r/nfrastack/nginx-php-fpm).\n\nTo unlock advanced features, one must provide a code to be able to change specific environment variables from defaults. Support the development to gain access to a code.\n\nTo get access to the image use your container orchestrator to pull from the following locations:\n\n```\nghcr.io/nfrastack/container-laravel:(image_tag)\ndocker.io/nfrastack/laravel:(image_tag)\n```\n\nImage tag syntax is:\n\n`\u003cimage\u003e:\u003coptional tag\u003e-\u003coptional phpversion\u003e-\u003coptional distro\u003e-\u003coptional distro_variant\u003e`\n\nExample:\n\n`docker.io/nfrastack/container-laravel:latest` or\n\n`ghcr.io/nfrastack/container-laravel:1.0-php84-alpine`\n\n* `latest` will be the most recent commit\n\n* An optional `tag` may exist that matches the [CHANGELOG](CHANGELOG.md) - These are the safest\n\n| PHP version | OS     | Tag       |\n| ----------- | ------ | --------- |\n| 8.4.x       | Alpine | `:php8.4` |\n\nHave a look at the container registries and see what tags are available.\n\n#### Multi-Architecture Support\n\nImages are built for `amd64` by default, with optional support for `arm64` and other architectures.\n\n### Quick Start\n\n* The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See the examples folder for a working [compose.yml](examples/compose.yml) that can be modified for your use.\n\n* Map [persistent storage](#persistent-storage) for access to configuration and data files for backup.\n* Set various [environment variables](#environment-variables) to understand the capabilities of this image.\n\n### Persistent Storage\n\nThe following directories/files should be mapped for persistent storage in order to utilize the container effectively.\n\n| Directory        | Description                |\n| ---------------- | -------------------------- |\n| `/www/wordpress` | Root Wordpress Directory   |\n| `/logs`          | Nginx and php-fpm logfiles |\n\n### Environment Variables\n\n#### Base Images used\n\nThis image relies on a customized base image in order to work.\nBe sure to view the following repositories to understand all the customizable options:\n\n| Image                                                                 | Description         |\n| --------------------------------------------------------------------- | ------------------- |\n| [OS Base](https://github.com/nfrastack/container-base/)               | Base Image          |\n| [Nginx](https://github.com/nfrastack/container-nginx/)                | Nginx Webserver     |\n| [Nginx PHP-FPM](https://github.com/nfrastack/container-nginx-php-fpm) | PHP-FPM Interpreter |\n\nBelow is the complete list of available options that can be used to customize your installation.\n\n* Variables showing an 'x' under the `Advanced` column can only be set if the containers advanced functionality is enabled.\n\n#### Core Configuration\n\n| Parameter                    | Description                                                                                                       | Default            | `_FILE` |\n| ---------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------ | ------- |\n| `ADMIN_EMAIL`                | Email address for the Administrator - Needed for initial startup                                                  |                    | x       |\n| `ADMIN_USER`                 | Username for the Administrator - Needed for initial startup                                                       | `admin`            | x       |\n| `ADMIN_PASS`                 | Password for the Administrator - Needed for initial startup                                                       |                    | x       |\n| `ENABLE_HTTPS_REVERSE_PROXY` | Tweak nginx to run behind a reverse proxy for URLs `TRUE` / `FALSE`                                               | `TRUE`             |         |\n| `DB_CHARSET`                 | MariaDB character set for tables                                                                                  | `utf8mb4`          |         |\n| `DB_HOST`                    | MariaDB external container hostname (e.g. wordpress-db)                                                           |                    | x       |\n| `DB_NAME`                    | MariaDB database name i.e. (e.g. wordpress)                                                                       |                    | x       |\n| `DB_USER`                    | MariaDB username for database (e.g. wordpress)                                                                    |                    | x       |\n| `DB_PASS`                    | MariaDB password for database (e.g. userpassword)                                                                 |                    | x       |\n| `DB_PORT`                    | MariaDB port for database                                                                                         | `3306`             | x       |\n| `DB_PREFIX`                  | MariaDB Prefix for `DB_NAME`                                                                                      | `wp_`              | x       |\n| `DEBUG_MODE`                 | Enable Debug Mode (verbosity) for the container installation/startup and in application - `TRUE` / `FALSE`        | `FALSE`            |         |\n| `ROTATE_KEYS`                | Rotate Salts and Keys on subsequent reboots `TRUE` / `FALSE`                                                      | `FALSE`            |         |\n| `SITE_LOCALE`                | What Locale to set site                                                                                           | `en_US`            |         |\n| `SITE_PORT`                  | What Port does wordpress deliver assets to                                                                        | `80`               |         |\n| `SITE_TITLE`                 | The title of the Website                                                                                          | `Docker Wordpress` |         |\n| `SITE_URL`                   | The Full site URL of the installation e.g. `wordpress.example.com` - Needed for initial startup                   |                    |         |\n| `SITE_URL_UPDATE_MODE`       | After first install, perform modifications to wp-config.php and DB if different Site URL `FILE` `DB` `ALL` `NONE` | `ALL`              |         |\n| `UPDATE_MODE`                | `ALL` to enable all major, minor updates, `MINOR` to only allow minor updates `NONE` to disable all updates       | `minor`            |         |\n\n* * *\n\n## Maintenance\n\n### Shell Access\n\nFor debugging and maintenance, `bash` and `sh` are available in the container.\n\n### Local Development / Changing Site Name \u0026 Ports\n\nWordpress assets are delivered by means of the initial Site URL, and if you wish to develop locally or on a different port you will experience strange results. If you are performing local development then you would want to setup your environment variables as such:\n\n* `ENABLE_HTTPS_REVERSE_PROXY=FALSE`\n* `SITE_URL=localhost`\n* `SITE_PORT=8000` (or whatever port you are exposing)\n\nWhen you are ready to deploy to a production URL - you would change it as such:\n\n* `ENABLE_HTTPS_REVERSE_PROXY=TRUE`\n* `SITE_URL=www.domain.com`\n\nThe system will rotate the URLs in the wordpress configuration files and database automatically upon restart of the container.\n\n### Command Line\n\nIf you wish to use the included wp-cli tool to perform maintenance use it as such:\n\n````bash\ncd /www/wordpress\nwp-cli \u003cargument\u003e\n````\n\n## Support \u0026 Maintenance\n\n* For community help, tips, and community discussions, visit the [Discussions board](/discussions).\n* For personalized support or a support agreement, see [Nfrastack Support](https://nfrastack.com/).\n* To report bugs, submit a [Bug Report](issues/new). Usage questions will be closed as not-a-bug.\n* Feature requests are welcome, but not guaranteed. For prioritized development, consider a support agreement.\n* Updates are best-effort, with priority given to active production use and support agreements.\n\n## References\n\n* \u003chttps://laravel.net/\u003e\n* \u003chttps://github.com/laravel-helpdesk/laravel/wiki/Installation-Guide\u003e\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n# github.com/tiredofit/docker-wordpress\n\n[![GitHub release](https://img.shields.io/github/v/tag/tiredofit/docker-wordpress?style=flat-square)](https://github.com/tiredofit/docker-wordpress/releases/latest)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/tiredofit/docker-wordpress/main.yml?branch=main\u0026style=flat-square)](https://github.com/tiredofit/docker-wordpress/actions)\n[![Docker Stars](https://img.shields.io/docker/stars/tiredofit/wordpress.svg?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/tiredofit/wordpress/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/tiredofit/wordpress.svg?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/tiredofit/wordpress/)\n[![Become a sponsor](https://img.shields.io/badge/sponsor-tiredofit-181717.svg?logo=github\u0026style=flat-square)](https://github.com/sponsors/tiredofit)\n[![Paypal Donate](https://img.shields.io/badge/donate-paypal-00457c.svg?logo=paypal\u0026style=flat-square)](https://www.paypal.me/tiredofit)\n\n## About\n\nThis will build a Docker Image for [Wordpress](https://www.wordpress.org/). A web based content management system. It will:\n\n* Automatically Download latest version of Wordpress\n* Configure `wp-config.php` for you\n* Install Database\n* Configure the website with basic information\n* Automatically rotate URLs on subsequent boots if they have changed\n* Includes [WP-CLI](http://wp-cli.org/)\n\n## Maintainer\n\n* [Dave Conroy](https://github.com/tiredofit/)\n\n## Table of Contents\n\n* [About](#about)\n* [Maintainer](#maintainer)\n* [Table of Contents](#table-of-contents)\n* [Prerequisites and Assumptions](#prerequisites-and-assumptions)\n* [Installation](#installation)\n  * [Build from Source](#build-from-source)\n  * [Prebuilt Images](#prebuilt-images)\n    * [Multi Architecture](#multi-architecture)\n* [Configuration](#configuration)\n  * [Quick Start](#quick-start)\n  * [Persistent Storage](#persistent-storage)\n  * [Environment Variables](#environment-variables)\n    * [Base Images used](#base-images-used)\n  * [Networking](#networking)\n* [Maintenance](#maintenance)\n  * [Shell Access](#shell-access)\n  * [Local Development / Changing Site Name \\\u0026 Ports](#local-development--changing-site-name--ports)\n  * [Command Line](#command-line)\n* [Support](#support)\n  * [Usage](#usage)\n  * [Bugfixes](#bugfixes)\n  * [Feature Requests](#feature-requests)\n  * [Updates](#updates)\n* [License](#license)\n* [Maintenance](#maintenance-1)\n  * [Shell Access](#shell-access-1)\n* [References](#references)\n\n## Prerequisites and Assumptions\n\n* Assumes you are using some sort of SSL terminating reverse proxy such as:\n  * [Traefik](https://github.com/tiredofit/docker-traefik)\n  * [Nginx](https://github.com/jc21/nginx-proxy-manager)\n  * [Caddy](https://github.com/caddyserver/caddy)\n\n## Installation\n\n### Build from Source\n\nClone this repository and build the image with `docker build \u003carguments\u003e (imagename) .`\n\n### Prebuilt Images\n\nBuilds of the image are available on [Docker Hub](https://hub.docker.com/r/tiredofit/wordpress)\n\n```bash\ndocker pull docker.io/tiredofit/wordpress:(imagetag)\n```\n\nBuilds of the image are also available on the [Github Container Registry](https://github.com/tiredofit/docker-wordpress/pkgs/container/docker-wordpress)\n\n```\ndocker pull ghcr.io/tiredofit/docker-wordpress:(imagetag)\n```\n\nThe following image tags are available along with their tagged release based on what's written in the [Changelog](CHANGELOG.md):\n\n#### Multi Architecture\n\nImages are built primarily for `amd64` architecture, and may also include builds for `arm/v7`, `arm64` and others. These variants are all unsupported. Consider [sponsoring](https://github.com/sponsors/tiredofit) my work so that I can work with various hardware. To see if this image supports multiple architecures, type `docker manifest (image):(tag)`\n\n## Configuration\n\n### Quick Start\n\n* The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See the examples folder for a working [compose.yml](examples/compose.yml) that can be modified for development or production use.\n\n* Set various [environment variables](#environment-variables) to understand the capabilities of this image.\n* Map [persistent storage](#data-volumes) for access to configuration and data files for backup.\n\n### Persistent Storage\n\nThe following directories are used for configuration and can be mapped for persistent storage.\n\n| Directory        | Description                |\n| ---------------- | -------------------------- |\n| `/www/wordpress` | Root Wordpress Directory   |\n| `/www/logs`      | Nginx and php-fpm logfiles |\n\n### Environment Variables\n\n#### Base Images used\n\nThis image relies on an [Alpine Linux](https://hub.docker.com/r/tiredofit/alpine) base image that relies on an [init system](https://github.com/just-containers/s6-overlay) for added capabilities. Outgoing SMTP capabilities are handlded via `msmtp`. Individual container performance monitoring is performed by [zabbix-agent](https://zabbix.org). Additional tools include: `bash`,`curl`,`less`,`logrotate`,`nano`.\n\nBe sure to view the following repositories to understand all the customizable options:\n\n| Image                                                         | Description                            |\n| ------------------------------------------------------------- | -------------------------------------- |\n| [OS Base](https://github.com/tiredofit/docker-alpine/)        | Customized Image based on Alpine Linux |\n| [Nginx](https://github.com/tiredofit/docker-nginx/)           | Nginx webserver                        |\n| [PHP-FPM](https://github.com/tiredofit/docker-nginx-php-fpm/) | PHP Interpreter                        |\n\n| Parameter | Description | Default | `_FILE` |\n| --------- | ----------- | ------- | ------- |\n\n### Networking\n\nThe following ports are exposed.\n\n| Port | Description |\n| ---- | ----------- |\n| `80` | HTTP        |\n\n* * *\n\n## Maintenance\n\n### Shell Access\n\nFor debugging and maintenance purposes you may want access the containers shell.\n\n```bash\ndocker exec -it (whatever your container name is) bash\n```\n\n### Local Development / Changing Site Name \u0026 Ports\n\nWordpress assets are delivered by means of the initial Site URL, and if you wish to develop locally or on a different port you will experience strange results. If you are performing local development then you would want to setup your environment variables as such:\n\n* `ENABLE_HTTPS_REVERSE_PROXY=FALSE`\n* `SITE_URL=localhost`\n* `SITE_PORT=8000` (or whatever port you are exposing)\n\nWhen you are ready to deploy to a production URL - you would change it as such:\n* `ENABLE_HTTPS_REVERSE_PROXY=TRUE`\n* `SITE_URL=www.domain.com`\n\nThe system will rotate the URLs in the wordpress configuration files and database automatically upon restart of the container.\n\n### Command Line\n\nIf you wish to use the included wp-cli tool to perform maintenance use it as such:\n\n````bash\ncd /www/wordpress\nwp-cli \u003cargument\u003e\n````\n\n## Support\n\nThese images were built to serve a specific need in a production environment and gradually have had more functionality added based on requests from the community.\n\n### Usage\n\n- The [Discussions board](../../discussions) is a great place for working with the community on tips and tricks of using this image.\n* Consider [sponsoring me](https://github.com/sponsors/tiredofit) for personalized support\n\n### Bugfixes\n\n- Please, submit a [Bug Report](issues/new) if something isn't working as expected. I'll do my best to issue a fix in short order.\n\n### Feature Requests\n\n- Feel free to submit a feature request, however there is no guarantee that it will be added, or at what timeline.\n* Consider [sponsoring me](https://github.com/sponsors/tiredofit) regarding development of features.\n\n### Updates\n\n- Best effort to track upstream changes, More priority if I am actively using the image in a production environment.\n* Consider [sponsoring me](https://github.com/sponsors/tiredofit) for up to date releases.\n\n## License\n\nMIT. See [LICENSE](LICENSE) for more details.\n\n## Maintenance\n\n### Shell Access\n\nFor debugging and maintenance purposes you may want access the containers shell.\n\n```bash\ndocker exec -it (whatever your container name is e.g. wordpress) bash\n```\n\n## References\n\n* \u003chttps://www.wordpress.org\u003e\n* \u003chttp://www.wp-cli.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfrastack%2Fcontainer-wordpress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfrastack%2Fcontainer-wordpress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfrastack%2Fcontainer-wordpress/lists"}