docker-dev-env-php
PHP Docker Dev Env
Use this skill only for this repository.
Entry Points
Use these entrypoints in this order:
orodc help: general documentation and command overvieworodc agents: agent-focused guidance, CMS-specific instructions, coding rules, and installation steps
If it is unclear where to start, run orodc help first, then orodc agents.
If orodc Is Missing
This tool may not be installed yet.
If orodc is unavailable, do not continue with orodc-based steps as if the command exists. Tell the user that orodc must be installed first and provide the install command:
brew install digitalspacestdio/docker-compose-oroplatform/docker-compose-oroplatform
After installation, the user can verify it with:
orodc help
orodc agents
Run orodc agents from the real application project root.
Expected project root markers:
composer.json.env.orodc
Do not rely on orodc agents from the tap repository itself or from an arbitrary non-project directory.
Main commands:
orodc agents common
orodc agents rules
orodc agents installation
orodc agents <cms-type>
How to use them:
orodc agents common: shared guidance for all projectsorodc agents rules: coding rules for the detected CMSorodc agents installation: installation guide for the detected CMSorodc agents <cms-type>: CMS-specific instructions such asoro,magento,symfony,laravel,wintercms, orphp-generic
Agent rule:
- Start with
orodc agentswhen the task depends on project conventions or CMS-specific behavior. - If the user asks to install, set up, deploy, or create a CMS project, read
orodc agents installationfirst and follow it step by step.
Usage Rules
- Run
orodc agents ...from the target project root when agent documentation is needed. - Run environment and PHP-related commands from the target project root.
- Prefer
orodcover rawphp,docker compose, or ad-hoc container commands when the task is about the managed local environment. - Do not duplicate large parts of
orodc helpinside this skill; use the skill as a short guide to the right entrypoints and workflows.
Proxy And Domains
Access via https://<project>.docker.local requires reverse proxy and local DNS setup. Without proxy, project domains will not open in the browser.
For Docker-based proxy management use:
orodc proxy up -d
orodc proxy install-certs
orodc proxy down
orodc proxy purge
Use this flow:
- Start proxy:
orodc proxy up -d - Install local certificates for HTTPS:
orodc proxy install-certs - Stop proxy without removing volumes:
orodc proxy down - Remove proxy completely:
orodc proxy purge
Notes:
orodc proxy up -dis the key command when domains like*.docker.localdo not resolve through the local proxy.- This is especially important on macOS and WSL2 with Docker Desktop.
- If proxy is not running, access by custom project domains will fail even if app containers are healthy.
- For full host infrastructure setup of Traefik, Dnsmasq, and local CA, see
README.md.
Local Development Workflow
Run these commands from the application root:
orodc up -d
orodc ps
orodc config
Use orodc as the default entrypoint for local development:
- Start services:
orodc up -d - Stop services:
orodc down - Check status:
orodc ps - Inspect merged configuration:
orodc config - Open shell in container:
orodc ssh - Read logs:
orodc logs [service] - Debug startup problems:
DEBUG=1 orodc up -d
For Oro-based projects, the default local URLs are usually:
- App:
https://<project-folder-name>.docker.local - Admin:
https://<project-folder-name>.docker.local/admin - Admin credentials:
admin/12345678or$ecretPassw0rd - If Authelia appears:
oro/oro
PHP And App Commands
Use orodc for PHP and application commands instead of calling php directly:
orodc --version
orodc bin/console cache:clear
orodc composer install
orodc script.php
Important:
- Do not use
orodc cli php ...for normal PHP commands. orodcauto-detects PHP flags,.phpfiles, and common entrypoints likebin/console,bin/phpunit, andbin/magento.
Database And Environment Actions
Prefer orodc for environment actions:
orodc psql
orodc mysql
orodc importdb dump.sql.gz
orodc databaseexport
Use the repository CLI before reaching for direct Docker commands.
Platform Defaults
- Linux and WSL2: use
DC_ORO_MODE=default - macOS: use
DC_ORO_MODE=mutagen - CI: keep
DC_ORO_CONFIG_DIRinside the workspace
Useful References
LOCAL-TESTING.mdAGENTS.mdREADME.md