{"id":35236595,"url":"https://github.com/inrage/docker-wordpress","last_synced_at":"2026-04-08T13:31:05.991Z","repository":{"id":203319807,"uuid":"709281638","full_name":"inrage/docker-wordpress","owner":"inrage","description":"Docker WordPress images optimized for production","archived":false,"fork":false,"pushed_at":"2025-12-20T02:39:44.000Z","size":138,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-22T11:52:05.563Z","etag":null,"topics":["apache2","docker","production-ready","redis","smtp-relay","swarm","wordpress"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/inrage/docker-wordpress","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inrage.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-24T12:02:44.000Z","updated_at":"2025-12-20T02:39:47.000Z","dependencies_parsed_at":"2023-11-22T15:57:20.013Z","dependency_job_id":"fcb3e616-0e18-4db9-b2ca-cee1f9bb187f","html_url":"https://github.com/inrage/docker-wordpress","commit_stats":null,"previous_names":["inrage/docker-wordpress"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/inrage/docker-wordpress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inrage%2Fdocker-wordpress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inrage%2Fdocker-wordpress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inrage%2Fdocker-wordpress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inrage%2Fdocker-wordpress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inrage","download_url":"https://codeload.github.com/inrage/docker-wordpress/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inrage%2Fdocker-wordpress/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31558379,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["apache2","docker","production-ready","redis","smtp-relay","swarm","wordpress"],"created_at":"2025-12-30T04:02:41.761Z","updated_at":"2026-04-08T13:31:05.980Z","avatar_url":"https://github.com/inrage.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker WordPress\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/inrage/docker-wordpress.svg)](https://hub.docker.com/r/inrage/docker-wordpress)\n[![Docker Stars](https://img.shields.io/docker/stars/inrage/docker-wordpress.svg)](https://hub.docker.com/r/inrage/docker-wordpress)\n[![Docker Image Size](https://img.shields.io/docker/image-size/inrage/docker-wordpress.svg)](https://hub.docker.com/r/inrage/docker-wordpress)\n\nThe provided Docker image allows you to deploy your WordPress website in production with a powerful configuration, an integrated SMTP relay, and support for PHP Redis.\n\nKey features:\n\n- All images are based on [inrage/docker-php](https://github.com/inrage/docker-php)\n- [Docker Hub](https://hub.docker.com/r/inrage/docker-wordpress)\n- Includes an SMTP server for outgoing emails\n- Supports PHP Redis\n- Advanced configuration for optimal performance\n- Easy deployment and scalability with Docker\n\nSupported tags:\n\n- latest:\n  - `8.4` ([Dockerfile](latest/php8.4/apache/Dockerfile)), `8.4-redis` ([Dockerfile](latest/php8.4/apache-redis/Dockerfile))\n  - `8.3` ([Dockerfile](latest/php8.3/apache/Dockerfile)), `8.3-redis` ([Dockerfile](latest/php8.3/apache-redis/Dockerfile))\n  - `8.2` ([Dockerfile](latest/php8.2/apache/Dockerfile)), `8.2-redis` ([Dockerfile](latest/php8.2/apache-redis/Dockerfile))\n  - `8.1` ([Dockerfile](latest/php8.1/apache/Dockerfile)), `8.1-redis` ([Dockerfile](latest/php8.1/apache-redis/Dockerfile))\n  - `8.0` ([Dockerfile](latest/php8.0/apache/Dockerfile)), `8.0-redis` ([Dockerfile](latest/php8.0/apache-redis/Dockerfile))\n  - `7.4` ([Dockerfile](latest/php7.4/apache/Dockerfile)), `7.4-redis` ([Dockerfile](latest/php7.4/apache-redis/Dockerfile))\n- legacy:\n  - `7.2` ([Dockerfile](legacy/php7.2/apache/Dockerfile))\n  - `7.0` ([Dockerfile](legacy/php7.0/apache/Dockerfile))\n  - `5.6` ([Dockerfile](legacy/php5.6/apache/Dockerfile))\n\n## Installation\n\nTo install, you need to either mount a directory into `/var/www/html` or customize the destination directory according to your needs. Here's how to proceed:\n\n### Dockerfile\n\n```Dockerfile\nFROM inrage/docker-wordpress:8.4\n\nCOPY --chown=inr . .\n```\n\n### Docker Swarm Configuration\n\nWe are using a Docker Swarm configuration with Traefik as a reverse proxy. Here's an example of a `docker-compose.yml` file:\n\n```yaml\nversion: \"3.8\"\n\nservices:\n  redis:\n    hostname: mywebsite.redis\n    image: redis:7.2.0\n    healthcheck:\n      test: [\"CMD-SHELL\", \"redis-cli --raw incr ping\"]\n    networks:\n      - internal-network\n    command: redis-server --maxmemory 1024mb --maxmemory-policy allkeys-lru --appendonly yes\n    environment:\n      TZ: \"Europe/Paris\"\n    volumes:\n      - /etc/localtime:/etc/localtime:ro\n      - redis_data:/data\n  web:\n    image: inrage/mycustomimage\n    networks:\n      database:\n      traefik-public:\n      internal-network:\n    environment:\n      WORDPRESS_DB_HOST: db-master.db\n      WORDPRESS_DB_USER: mywebsite\n      WORDPRESS_DB_PASSWORD: \"mywebsitepassword\"\n      WORDPRESS_DB_NAME: mywebsite\n      WORDPRESS_TABLE_PREFIX: gr_\n      WORDPRESS_CONFIG_EXTRA: |\n        define( 'DISALLOW_FILE_MODS', true );\t\n        define( 'WP_MEMORY_LIMIT', '512M' );\n        define( 'WP_REDIS_HOST', 'mywebsite.redis');\n\n      TZ: \"Europe/Paris\"\n    volumes:\n      - /host/website/mywebsite/uploads:/var/www/html/wp-content/uploads\n\n    deploy:\n      replicas: 1\n      labels:\n        - traefik.enable=true\n        - traefik.docker.network=traefik-public\n        - traefik.constraint-label=traefik-public\n        - traefik.http.routers.mywebsite-http.rule=Host(`www.inrage.fr`, `inrage.fr`)\n        - traefik.http.routers.mywebsite-http.entrypoints=http\n        - traefik.http.routers.mywebsite-http.middlewares=https-redirect\n        - traefik.http.routers.mywebsite-https.rule=Host(`www.inrage.fr`, `inrage.fr`)\n        - traefik.http.routers.mywebsite-https.entrypoints=https\n        - traefik.http.routers.mywebsite-https.tls=true\n        - traefik.http.routers.mywebsite-https.tls.certresolver=le\n        - traefik.http.services.mywebsite.loadbalancer.server.port=80\n\nvolumes:\n  redis_data:\n\nnetworks:\n  internal-network:\n  database:\n    external: true\n  traefik-public:\n    external: true\n```\n\n## Environment Variable\n\n### WordPress\n\n| Variable                     | Description                 | Default            |\n| ---------------------------- | --------------------------- | ------------------ |\n| `WORDPRESS_NO_CREATE_CONFIG` | Do not create a config file | `false`            |\n| `WORDPRESS_DB_HOST`          | Database host               | `mysql`            |\n| `WORDPRESS_DB_USER`          | Database user               | `example username` |\n| `WORDPRESS_DB_PASSWORD`      | Database password           | `example password` |\n| `WORDPRESS_DB_NAME`          | Database name               | `wordpress`        |\n| `WORDPRESS_TABLE_PREFIX`     | Database table prefix       | `wp_`              |\n| `WORDPRESS_DEBUG`            | Enable debug mode           | `false`            |\n| `WORDPRESS_CONFIG_EXTRA`     | Additional configuration    | `empty`            |\n| `WORDPRESS_DB_CHARSET`       | Database charset            | `utf8`             |\n| `WORDPRESS_DB_COLLATE`       | Database collate            | `empty`            |\n| `WORDPRESS_AUTH_KEY`         | Authentication key          | `empty`            |\n| `WORDPRESS_SECURE_AUTH_KEY`  | Secure authentication key   | `empty`            |\n| `WORDPRESS_LOGGED_IN_KEY`    | Logged in key               | `empty`            |\n| `WORDPRESS_NONCE_KEY`        | Nonce key                   | `empty`            |\n| `WORDPRESS_AUTH_SALT`        | Authentication              |\n| `WORDPRESS_SECURE_AUTH_SALT` | Secure authentication salt  | `empty`            |\n| `WORDPRESS_LOGGED_IN_SALT`   | Logged in salt              | `empty`            |\n| `WORDPRESS_NONCE_SALT`       | Nonce salt                  | `empty`            |\n\nFor `WORDPRESS_NO_CREATE_CONFIG`: Do not create a new configuration file (default: false)\n\nBy default, the image will use a new [configuration file](templates/wp-config.php.tmpl) which is generated at runtime and after you can use WordPress environnement.\n\nIf you want to use your own configuration file, set this variable to `true`.\n\nFor `WORDPRESS_CONFIG_EXTRA`, you can use the following variables:\n\n```apacheconf\nWORDPRESS_CONFIG_EXTRA: |\n    define( 'DISALLOW_FILE_MODS', true );\n    define( 'WP_MEMORY_LIMIT', '511M' );\n    define( 'WP_REDIS_HOST', 'mysite.redis');\n```\n\n### From inrage/docker-php image\n\nRefer to the [inrage/docker-php](https://github.com/inrage/docker-php) documentation for more information.\n\n### Running User\n\n- `INRAGE_USER_ID`: UID of the user to run the application as (default: 1000)\n- `INRAGE_GROUP_ID`: GID of the user to run the application as (default: 1000)\n\n## Tools\n\n- `wp`: WordPress CLI\n- `sr`: allow you to replace in the database (`wp search-replace $1 $2 --precise --all-tables --skip-columns=guid`)\n\n## Daily Usage\n\n- [WordPress - Roots Sage 9](/docs/roots-sage9.md)\n- [WordPress - Roots Sage 10](/docs/roots-sage10.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finrage%2Fdocker-wordpress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finrage%2Fdocker-wordpress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finrage%2Fdocker-wordpress/lists"}