Skip to content

Add example deployment guides for nine PHP stacks (en/ru/zh)#245

Merged
diolektor merged 1 commit into
mainfrom
docs/example-deployments
Jun 28, 2026
Merged

Add example deployment guides for nine PHP stacks (en/ru/zh)#245
diolektor merged 1 commit into
mainfrom
docs/example-deployments

Conversation

@diolektor

@diolektor diolektor commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a new Examples documentation section — end-to-end recipes for running nine popular PHP applications on OxPHP, each a self-contained Docker Compose project. Every recipe was built and verified end-to-end (storefront, admin panel, static assets, and the OxPHP internal health endpoint all answer 200).

docs/<lang>/examples/ is grouped by application type:

  • framework/ — Laravel, Symfony, Yii3
  • cms/ — WordPress, Drupal, Craft CMS, October CMS
  • ecommerce/ — Magento, OpenCart

Each page carries a Dockerfile, a docker-compose.yml, install and first-run commands, OxPHP-specific notes, and verification requests. An overview index documents the patterns shared by every recipe.

What's covered

  • Framework vs traditional routing chosen from the application's shape; public/web/pub document roots and ENTRY_FILE.
  • PHP version choice (8.5 default image vs the 8.4 image for Magento, OpenCart, Drupal, and October CMS) and PHP ABI matching when compiling extensions.
  • OxPHP-specific setup: Magento's static-asset version symlink, October's october:mirror public document root with SYMLINK_ALLOW_PATHS, PHP_DENY_PATHS for OpenCart internals and the WordPress upload directories, and dot-path blocking.
  • Compose hygiene: default LISTEN_ADDR and DOCUMENT_ROOT are omitted where they match the OxPHP defaults (and noted as defaults); DOCUMENT_ROOT is kept and flagged only where a stack overrides it.

Translations

Full Russian and Chinese translations of every example page mirror the English tree — prose and in-code comments translated; code, paths, env values, and link targets kept verbatim. The new section is registered in all three documentation indexes (navigation link and an Examples section).

Verification

  • File parity en/ru/zh: 10 / 10 / 10.
  • Relative links: 0 broken (152 en, 148 ru/zh).
  • Code-fence parity across translations: 0 mismatches; Dockerfile and Compose content preserved verbatim.

@diolektor diolektor force-pushed the docs/example-deployments branch from b4a5ac6 to 73c8354 Compare June 28, 2026 21:41
Docs:
  - New docs/en/examples section with an overview index and one recipe per application — Laravel, Symfony, Yii3 (framework mode); WordPress, Drupal, Craft CMS, October CMS (CMS); Magento, OpenCart (e-commerce) — grouped into framework/, cms/, and ecommerce/ subdirectories by type.
  - Every recipe is a self-contained Docker Compose project: a Dockerfile, a docker-compose.yml, install and first-run commands, OxPHP-specific notes, and verification requests. The overview documents the patterns common to all recipes — extending the published OxPHP image, PHP ABI matching, PHP version choice, routing-mode selection, in-container installs, and the security defaults that apply everywhere.
  - Cover the OxPHP-specific details each stack needs: framework vs traditional routing, the public document root and ENTRY_FILE, the static-asset version symlink for Magento, the october:mirror public document root with SYMLINK_ALLOW_PATHS, PHP_DENY_PATHS for OpenCart and the WordPress upload directories, and dot-path blocking.
  - Omit LISTEN_ADDR and DOCUMENT_ROOT from the Compose examples where they match the OxPHP defaults, noting that they are defaults; keep and flag DOCUMENT_ROOT only where a stack overrides it (Drupal and Craft web, Magento pub, OpenCart project root).
  - Add Russian and Chinese translations of every example page, mirroring the English tree, with prose and in-code comments translated and code, paths, env values, and link targets kept verbatim.
  - Register the new section in the en, ru, and zh documentation indexes (top navigation link and an Examples section).
  - Regenerate llms.txt and llms-full.txt to include the new Examples section, and teach scripts/gen-llms-txt.sh to recurse into nested section subdirectories so the per-type example pages are indexed.
@diolektor diolektor force-pushed the docs/example-deployments branch from 73c8354 to 75f16d5 Compare June 28, 2026 21:46
@diolektor diolektor merged commit 2c154fc into main Jun 28, 2026
6 checks passed
@diolektor diolektor deleted the docs/example-deployments branch June 28, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant