{"id":24974451,"url":"https://github.com/psaux-it/wordpress-nginx-cache-docker","last_synced_at":"2025-07-19T02:05:31.693Z","repository":{"id":276880257,"uuid":"928036506","full_name":"psaux-it/wordpress-nginx-cache-docker","owner":"psaux-it","description":"A full-stack Docker setup for WordPress with PHP-FPM, Nginx, FastCGI caching, and WP-CLI integration. Optimized for NPP plugin, and easy deployment.","archived":false,"fork":false,"pushed_at":"2025-07-16T02:59:35.000Z","size":219,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-17T05:34:48.770Z","etag":null,"topics":["bindfs","libfuse","nginx","nginx-cache","nginx-cache-preload","nginx-cache-purge","nginx-docker","php-fpm","php8","wordpress","wordpress-docker","wordpress-plugin","wp-cli"],"latest_commit_sha":null,"homepage":"https://github.com/psaux-it/nginx-fastcgi-cache-purge-and-preload","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/psaux-it.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null}},"created_at":"2025-02-06T00:26:42.000Z","updated_at":"2025-07-16T02:59:32.000Z","dependencies_parsed_at":"2025-06-25T03:29:54.359Z","dependency_job_id":"6af4d92d-51a3-4fbd-ac42-f71440e49764","html_url":"https://github.com/psaux-it/wordpress-nginx-cache-docker","commit_stats":null,"previous_names":["psaux-it/wordpress-nginx-cache-docker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/psaux-it/wordpress-nginx-cache-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psaux-it%2Fwordpress-nginx-cache-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psaux-it%2Fwordpress-nginx-cache-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psaux-it%2Fwordpress-nginx-cache-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psaux-it%2Fwordpress-nginx-cache-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/psaux-it","download_url":"https://codeload.github.com/psaux-it/wordpress-nginx-cache-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psaux-it%2Fwordpress-nginx-cache-docker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265872475,"owners_count":23842190,"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","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":["bindfs","libfuse","nginx","nginx-cache","nginx-cache-preload","nginx-cache-purge","nginx-docker","php-fpm","php8","wordpress","wordpress-docker","wordpress-plugin","wp-cli"],"created_at":"2025-02-03T20:04:13.765Z","updated_at":"2025-07-19T02:05:31.670Z","avatar_url":"https://github.com/psaux-it.png","language":"Shell","readme":"# 🐳 NPP Dockerized  [![Docker Build](https://github.com/psaux-it/wordpress-nginx-cache-docker/actions/workflows/docker-publish.yml/badge.svg)](https://github.com/psaux-it/wordpress-nginx-cache-docker/actions/workflows/docker-publish.yml)\n\nWelcome to the Docker project optimized for the **[(NPP) WordPress Plugin](https://wordpress.org/plugins/fastcgi-cache-purge-and-preload-nginx/)**! 🎉 This full-stack Dockerized environment is designed for **NPP**, including **WordPress** with **FPM**, **Nginx**, **MySQL**, **FastCGI**, **WP-CLI**, **phpMyAdmin**, and necessary **PHP extensions**. It's tailored for easy deployment and efficient use of the **NPP plugin**\n\nExplore the **[NPP Main GitHub Repository](https://github.com/psaux-it/nginx-fastcgi-cache-purge-and-preload)** to access the heart of the plugin development.\n\nhttps://github.com/user-attachments/assets/5a946953-c7f1-4d44-a8ac-3487018d7114\n\n🔊™️ In The Silence - Giuseppe Ottaviani\n\n\n## ✨ Features\n\n- ✅ **WordPress** (6.7.2) with **PHP-FPM** (8.2)\n- ✅ **MySQL** (8) for database management\n- ✅ **FastCGI** cache ready with **Nginx** (1.27.4)\n- ✅ **WP-CLI** ready for plugin and theme installations (check **.env**)\n- ✅ **phpMyAdmin** (5.2.2) ready\n- ✅ Includes all dependencies required for the **NPP plugin**\n- ✅ Isolated and secure **PHP process owner** for enhanced security and performance\n- ✅ Built with **bindfs** (1.17.7) + **fuse3** (1.16.2) for FUSE-based mounting of **Nginx Cache Path**\n- ✅ Installed a wide range of **PHP extensions**\n- ✅ Easily switch between the **stable** release and the **bleeding-edge** version of the **NPP**\n- ✅ All containers powered by **Debian 12** for a stable, consistent environment\n- ✅ Compatible with both Windows **WSL** and Linux Hosts\n\n## 🔑 Environment Variables\n\n**This repository was primarily created for testing and developing the NPP plugin on local.** However, with minor adjustments, It can also be used as a **production** environment.\n\nPlease check the **.env** file for the environment variables used in the project. Some variables can be directly modified by the user for easy customization, while others are derived from the **original Dockerfiles of core services**. Changing these **core variables** for a production environment may require adjustments in other parts of the project to maintain seamless integration and workflow. Feel free to customize it to suit your full-stack WordPress **production** needs!\n\n### Use the Bleeding-Edge Version of NPP (Default)\n\nIf you want to use the latest **bleeding-edge version** of the NPP plugin simply set the following environment variable:  \n\n```bash\nNPP_EDGE=1\n```\n\n🔄 This will sync the plugin with the latest development branch commit from GitHub, ensuring you always have access to the newest features and improvements.\n\n### ⚠️ In Production\n\nTo enable **Nginx Cache Preload** in a **localhost** development environment, a small host configuration adjustment is **always** required. In **production**, this may or may not be required depending on your Docker architecture. If you encounter a **Cache Preload** issue in production, try enabling the below setting in **.env**, otherwise, you can disable it entirely.\n\n```bash\nNPP_HACK_HOST=1\n```\n\nFor a full explanation and to adjust your environment, please read the complete story here:\n\nhttps://github.com/psaux-it/wordpress-nginx-cache-docker/blob/1c8043a0bc6e2014b55ae6f7259eba134e3f3698/wordpress/wp-post.sh#L129\n\n## ⚙️️ Instant Deployment\n\n### 1. Clone the repository\n\nStart by cloning the repository to your local machine:\n\n```bash\ngit clone https://github.com/psaux-it/wordpress-nginx-cache-docker.git\ncd wordpress-nginx-cache-docker\n```\n\n### 2. Run the Services\n\nRun the following command to build and start the container:\n\n- **Using pre-built images:**  \n\n```bash\ndocker compose up\n```\n\n- **Building locally:**\n\n```bash\ndocker compose up --build\n```\n\n### 🚀 **Post-Container Startup Access**\n- The WordPress site can be accessed at the host machine:\n  - 🔒 [https://localhost](https://localhost)\n  - 🌐 [http://localhost](http://localhost)\n\n- Default WordPress **wp-admin** login credentials:\n  - **Username**: `npp`\n  - **Password**: `npp`\n\n- You can also access **phpMyAdmin** at:\n  - https://localhost/phpmyadmin\n\n- Default FUSE mount path:\n  - **`/var/cache/nginx-npp`**\n  - Use the FUSE mount path as the Nginx cache path in the NPP plugin settings page.\n\n---\n#### ⚠️ Important Notices\n🚨 **The included SSL certificates are dummy, strictly for local usage** and **must not be used in production environments**.\u003cbr\u003e\n📦 This project leverages the fantastic **work** by **[Michele Locati](https://github.com/mlocati/docker-php-extension-installer)** to streamline the installation of required PHP extensions.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsaux-it%2Fwordpress-nginx-cache-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpsaux-it%2Fwordpress-nginx-cache-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsaux-it%2Fwordpress-nginx-cache-docker/lists"}