Skip to content

outeredge/edge-docker-php-dev

Repository files navigation

edge-docker-php-dev

PHP development image by outer/edge - plays nicely with Ona.

See the base image edge-docker-php for configuration options. The following additional configuration is available with this image:

Environment Default Description
XDEBUG_ENABLE Off Enables the Xdebug PHP extension

You can also quickly enable or disable Xdebug on demand using the CLI:

xdebug on
xdebug off

Image variants

Tag Base Web server Process model
8.3 / 8.4 outeredge/edge-docker-php:8.x-node nginx supervisord (multi-proc)
8.3-frankenphp / 8.4-frankenphp outeredge/edge-docker-php:8.x-frankenphp FrankenPHP/Caddy supervisord (multi-proc, runs as edge)

The -frankenphp variants ship Node + bun, so they are a drop-in replacement for the existing :8.x images. They also include valkey and cloud-sql-proxy managed by a non-root supervisord. These variants run as the unprivileged edge user with no sudo, no nginx, and no php-fpm. Caddy listens on ${PORT} (default 8080).

Note for FrankenPHP variants: ENABLE_VALKEY, ENABLE_SQL_PROXY, ENABLE_SSH, and ENABLE_CRON are unsupported on the FrankenPHP track. valkey and cloud-sql-proxy are always on. Users needing toggles or sshd/cron should use the non-frankenphp dev variants. Supercronic may be added in the future for non-root cron if demand arises.

Invocation modes (FrankenPHP track)

Invocation What happens
docker run <image> CMD /dev.sh runs with no args → dev.sh setup → defaults to supervisord (multi-proc, all sidecars).
docker run <image> /dev.sh frankenphp run --config /etc/caddy/Caddyfile dev.sh setup → forwards args → launch.sh execs frankenphp directly (single-proc).
docker run <image> /dev.sh bash dev.sh setup (ona first-boot, xdebug toggle) → interactive shell via launch.sh.
docker run <image> bash Bypasses dev.sh entirely (CMD overridden) — identical to upstream behavior.

Ona

When running in Ona, add the following to your automations.yaml.

For the nginx variants (:8.3, :8.4):

services:
  servers:
    name: supervisord
    description: Launches PHP, Nginx and Valkey
    commands:
      start: /entrypoint.sh /dev.sh
      stop: sudo supervisorctl shutdown
    triggeredBy:
      - postEnvironmentStart

For the FrankenPHP variants (:8.3-frankenphp, :8.4-frankenphp):

services:
  servers:
    name: supervisord
    description: Launches FrankenPHP, Valkey and SQL Proxy
    commands:
      start: /dev.sh
      stop: supervisorctl shutdown
    triggeredBy:
      - postEnvironmentStart

About

Docker images designed for use with Gitpod / Magento development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages