diff --git a/.env b/.env index 933c733..c8fb9a1 100644 --- a/.env +++ b/.env @@ -64,13 +64,10 @@ VALKEY_TAG=8-1.0.0 VARNISH_TAG=6.0-4.19.1 -### --- ELASTICSEARCH --- +### --- OPENSEARCH --- -ELASTICSEARCH_TAG=7-5.19.14 - -### --- KIBANA --- - -KIBANA_TAG=7-5.19.14 +OPENSEARCH_TAG=2 +OPENSEARCH_ADMIN_PASSWORD=VERY%@bad123password ### --- SOLR --- diff --git a/README.md b/README.md index 7481461..5b4e524 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,8 @@ ## Introduction -Docker4PHP is a set of docker images optimized for PHP. Use `compose.yml` file from the [latest stable release](https://github.com/wodby/docker4php/releases) to spin up local environment on Linux, Mac OS X and Windows. +Docker4PHP is a set of docker images optimized for PHP. Use +`compose.yml` file from the [latest stable release](https://github.com/wodby/docker4php/releases) to spin up local environment on Linux, Mac OS X and Windows. * Read the docs on [**how to use**](https://wodby.com/docs/stacks/php/local#usage) * Ask questions on [Discord](http://discord.wodby.com/) @@ -15,31 +16,31 @@ Docker4PHP is a set of docker images optimized for PHP. Use `compose.yml` file f The PHP stack consist of the following containers: -| Container | Versions | Image | ARM64 support | Enabled by default | -|-----------------|-------------------------|-------------------------|---------------|--------------------| -| [Nginx] | 1.27, 1.26 | [wodby/nginx] | ✓ | ✓ | -| [Apache] | 2.4 | [wodby/apache] | ✓ | | -| [PHP] | 8.4, 8.3, 8.2, 8.1 | [wodby/php] | ✓ | ✓ | -| Crond | | [wodby/php] | ✓ | | -| [MariaDB] | 11.4, 10.11, 10.6, 10.5 | [wodby/mariadb] | ✓ | ✓ | -| [PostgreSQL] | 17, 16, 15, 14, 13 | [wodby/postgres] | ✓ | | -| [Valkey] | 8, 7 | [wodby/valkey] | ✓ | | -| [Memcached] | 1 | [wodby/memcached] | | | -| [Node.js] | 22, 20, 18 | [wodby/node] | ✓ | | -| [Varnish] | 6.0 | [wodby/varnish] | ✓ | | -| [Solr] | 9 | [wodby/solr] | ✓ | | -| [Elasticsearch] | 7 | [wodby/elasticsearch] | | | -| [Kibana] | 7 | [wodby/kibana] | | | -| [OpenSMTPD] | 7 | [wodby/opensmtpd] | ✓ | | -| Mailpit | latest | [axllent/mailpit] | ✓ | ✓ | -| Gotenberg | latest | [gotenberg/gotenberg] | ✓ | | -| [Rsyslog] | latest | [wodby/rsyslog] | | | -| [Webgrind] | 1 | [wodby/webgrind] | ✓ | | -| [Xhprof viewer] | latest | [wodby/xhprof] | ✓ | | -| Adminer | 4.6 | [wodby/adminer] | ✓ | | -| phpMyAdmin | latest | [phpmyadmin/phpmyadmin] | | | -| Traefik | latest | [_/traefik] | ✓ | ✓ | - +| Container | Versions | Image | ARM64 support | Enabled by default | +|-----------------------|-------------------------|-------------------------------------------|---------------|--------------------| +| [Nginx] | 1.27, 1.26 | [wodby/nginx] | ✓ | ✓ | +| [Apache] | 2.4 | [wodby/apache] | ✓ | | +| [PHP] | 8.4, 8.3, 8.2, 8.1 | [wodby/php] | ✓ | ✓ | +| Crond | | [wodby/php] | ✓ | | +| [MariaDB] | 11.4, 10.11, 10.6, 10.5 | [wodby/mariadb] | ✓ | ✓ | +| [PostgreSQL] | 17, 16, 15, 14, 13 | [wodby/postgres] | ✓ | | +| [Valkey] | 8, 7 | [wodby/valkey] | ✓ | | +| [Memcached] | 1 | [wodby/memcached] | ✓ | | +| [Node.js] | 22, 20, 18 | [wodby/node] | ✓ | | +| [Varnish] | 6.0 | [wodby/varnish] | ✓ | | +| [Solr] | 9 | [wodby/solr] | ✓ | | +| OpenSearch | 2 | [opensearchproject/opensearch] | ✓ | | +| OpenSearch Dashboards | 2 | [opensearchproject/opensearch-dashboards] | ✓ | | +| [OpenSMTPD] | 7 | [wodby/opensmtpd] | ✓ | | +| Mailpit | latest | [axllent/mailpit] | ✓ | ✓ | +| Gotenberg | latest | [gotenberg/gotenberg] | ✓ | | +| [Rsyslog] | latest | [wodby/rsyslog] | ✓ | | +| [Webgrind] | 1 | [wodby/webgrind] | ✓ | | +| [Xhprof viewer] | latest | [wodby/xhprof] | ✓ | | +| Adminer | 4.6 | [wodby/adminer] | ✓ | | +| phpMyAdmin | latest | [phpmyadmin/phpmyadmin] | | | +| Traefik | latest | [_/traefik] | ✓ | ✓ | + ## Documentation Full documentation is available at https://wodby.com/docs/stacks/php/local @@ -48,9 +49,14 @@ Full documentation is available at https://wodby.com/docs/stacks/php/local Images tags format is `[VERSION]-[STABILITY_TAG]` where: -`[VERSION]` is the _version of an application_ (without patch version) running in a container, e.g. `wodby/nginx:1.15-x.x.x` where Nginx version is `1.15` and `x.x.x` is a stability tag. For some images we include both major and minor version like PHP `7.2`, for others we include only major like Valkey `7`. +`[VERSION]` is the _version of an application_ (without patch version) running in a container, e.g. +`wodby/nginx:1.15-x.x.x` where Nginx version is `1.15` and +`x.x.x` is a stability tag. For some images we include both major and minor version like PHP +`7.2`, for others we include only major like Valkey `7`. -`[STABILITY_TAG]` is the _version of an image_ that corresponds to a git tag of the image repository, e.g. `wodby/mariadb:10.2-3.3.8` has MariaDB `10.2` and stability tag [`3.3.8`](https://github.com/wodby/mariadb/releases/tag/3.3.8). New stability tags include patch updates for applications and image's fixes/improvements (new env vars, orchestration actions fixes, etc). Stability tag changes described in the corresponding a git tag description. Stability tags follow [semantic versioning](https://semver.org/). +`[STABILITY_TAG]` is the _version of an image_ that corresponds to a git tag of the image repository, e.g. +`wodby/mariadb:10.2-3.3.8` has MariaDB `10.2` and stability tag [ +`3.3.8`](https://github.com/wodby/mariadb/releases/tag/3.3.8). New stability tags include patch updates for applications and image's fixes/improvements (new env vars, orchestration actions fixes, etc). Stability tag changes described in the corresponding a git tag description. Stability tags follow [semantic versioning](https://semver.org/). We highly encourage to use images only with stability tags. @@ -70,40 +76,71 @@ We regularly update images used in this stack and release them together, see [re This project is licensed under the MIT open source license. [Apache]: https://wodby.com/docs/stacks/php/containers#apache -[Elasticsearch]: https://wodby.com/docs/stacks/elasticsearch -[Kibana]: https://wodby.com/docs/stacks/elasticsearch + [MariaDB]: https://wodby.com/docs/stacks/php/containers#mariadb + [Memcached]: https://wodby.com/docs/stacks/php/containers#memcached + [Nginx]: https://wodby.com/docs/stacks/php/containers#nginx + [Node.js]: https://wodby.com/docs/stacks/php/containers#nodejs + [OpenSMTPD]: https://wodby.com/docs/stacks/php/containers#opensmtpd + [PHP]: https://wodby.com/docs/stacks/php/containers#php + [PostgreSQL]: https://wodby.com/docs/stacks/php/containers#postgresql + [Valkey]: https://wodby.com/docs/stacks/php/containers#valkey + [Rsyslog]: https://wodby.com/docs/stacks/php/containers#rsyslog + [Solr]: https://wodby.com/docs/stacks/solr + [Varnish]: https://wodby.com/docs/stacks/php/containers#varnish + [Webgrind]: https://wodby.com/docs/stacks/php/containers#webgrind + [XHProf viewer]: https://wodby.com/docs/stacks/php/containers#xhprof-viewer [_/traefik]: https://hub.docker.com/_/traefik + [gotenberg/gotenberg]: https://hub.docker.com/r/gotenberg/gotenberg + [axllent/mailpit]: https://hub.docker.com/r/axllent/mailpit + [phpmyadmin/phpmyadmin]: https://hub.docker.com/r/phpmyadmin/phpmyadmin + [wodby/adminer]: https://hub.docker.com/r/wodby/adminer + [wodby/apache]: https://github.com/wodby/apache -[wodby/elasticsearch]: https://github.com/wodby/elasticsearch -[wodby/kibana]: https://github.com/wodby/kibana + [wodby/mariadb]: https://github.com/wodby/mariadb + [wodby/memcached]: https://github.com/wodby/memcached + [wodby/nginx]: https://github.com/wodby/nginx + [wodby/node]: https://github.com/wodby/node + [wodby/opensmtpd]: https://github.com/wodby/opensmtpd + [wodby/php]: https://github.com/wodby/php + [wodby/postgres]: https://github.com/wodby/postgres + [wodby/rsyslog]: https://hub.docker.com/r/wodby/rsyslog + [wodby/solr]: https://github.com/wodby/solr + [wodby/valkey]: https://github.com/wodby/valkey + [wodby/varnish]: https://github.com/wodby/varnish + [wodby/webgrind]: https://hub.docker.com/r/wodby/webgrind + [wodby/xhprof]: https://hub.docker.com/r/wodby/xhprof + +[opensearchproject/opensearch]: https://hub.docker.com/r/opensearchproject/opensearch + +[opensearchproject/opensearch-dashboards]: https://hub.docker.com/r/opensearchproject/opensearch-dashboards diff --git a/compose.yml b/compose.yml index 6a37193..e83c85f 100644 --- a/compose.yml +++ b/compose.yml @@ -162,23 +162,24 @@ services: # labels: # - "traefik.http.services.${PROJECT_NAME}_solr.loadbalancer.server.port=8983" # - "traefik.http.routers.${PROJECT_NAME}_solr.rule=Host(`solr.${PROJECT_BASE_URL}`)" - -# elasticsearch: -# image: wodby/elasticsearch:$ELASTICSEARCH_TAG + +# opensearch: +# image: opensearchproject/opensearch:$OPENSEARCH_TAG # environment: -# ES_JAVA_OPTS: "-Xms500m -Xmx500m" -# ulimits: -# memlock: -# soft: -1 -# hard: -1 - -# kibana: -# image: wodby/kibana:$KIBANA_TAG +# "discovery.type": "single-node" +# "plugins.security.disabled": true +# OPENSEARCH_INITIAL_ADMIN_PASSWORD: $OPENSEARCH_ADMIN_PASSWORD +# +# opensearch-dashboards: +# image: opensearchproject/opensearch-dashboards:$OPENSEARCH_TAG +# environment: +# OPENSEARCH_HOSTS: '["http://opensearch:9200"]' +# DISABLE_SECURITY_DASHBOARDS_PLUGIN: true # depends_on: -# - elasticsearch +# - opensearch # labels: -# - "traefik.http.services.${PROJECT_NAME}_kibana.loadbalancer.server.port=5601" -# - "traefik.http.routers.${PROJECT_NAME}_kibana.rule=Host(`kibana.${PROJECT_BASE_URL}`)" +# - "traefik.http.services.${PROJECT_NAME}_opensearch.loadbalancer.server.port=5601" +# - "traefik.http.routers.${PROJECT_NAME}_opensearch.rule=Host(`opensearch.${PROJECT_BASE_URL}`)" # memcached: # container_name: "${PROJECT_NAME}_memcached"