Sign inSign up

shinsenter/cakephp5

Sponsored OSS

By SHIN Company

•Updated about 10 hours ago

šŸ° (PHP) CakePHP 5 project ready in one command

Image
Languages & frameworks
Developer tools
Web servers
3

100K+

shinsenter/cakephp5 repository overview

⁠shinsenter/cakephp5

šŸ° (PHP) CakePHP 5 project ready in one command

Built on shinsenter/phpfpm-apache⁠ (Apache, PHP-FPM, Composer). For settings shared by all images, see shinsenter/php⁠.

⁠Quick start

New project: mount an empty folder. On first start the container downloads CakePHP into it (composer create-project cakephp/app:~5.0). Watch progress with docker logs -f <container>.

mkdir cakephp5
docker run -p 80:80 -p 443:443 -p 443:443/udp \
    -v ./cakephp5:/var/www/html \
    shinsenter/cakephp5:latest

Existing project: mount your code the same way. Changes on the host show up in the container at once.

Compose:

services:
  web:
    image: shinsenter/cakephp5:latest
    ports: ["80:80", "443:443", "443:443/udp"]
    volumes:
      - ./cakephp5:/var/www/html

The image has no database. Run one as a separate service and pass its address to the app through the app's own settings.

⁠What is inside

ItemValue
Base imageshinsenter/phpfpm-apache⁠
Web serverApache
Document rootwebroot
New project sourcecomposer create-project cakephp/app:~5.0

⁠Common settings

VariableWhat it doesDefault
APP_PATHApplication directory inside the container./var/www/html
DOCUMENT_ROOTFolder inside APP_PATH that the web server serves.webroot
APP_USER, APP_GROUP, APP_UID, APP_GIDRun as another user and group.www-data
TZContainer timezone, for example Asia/Tokyo.UTC
DEBUG1 prints verbose logs, including which hooks run.not set
ENABLE_CRONTAB, CRONTAB_SETTINGSTurn on cron and define jobs, for example * * * * * php -f /var/www/html/cron.php.not set
PHP_*Any php.ini setting, for example PHP_MEMORY_LIMIT=512M, PHP_UPLOAD_MAX_FILESIZE=100M. Run php-envvars in the container to list them.image defaults

The full list is in the shinsenter/php⁠ documentation.

⁠HTTPS

The image ships a self-signed certificate for local tests:

  • /etc/ssl/site/server.crt
  • /etc/ssl/site/server.key

For production, replace both files with your own, by mounting them:

services:
  web:
    image: shinsenter/cakephp5:latest
    volumes:
      - ./cakephp5:/var/www/html
      - ./my_domain.crt:/etc/ssl/site/server.crt
      - ./my_domain.key:/etc/ssl/site/server.key

or by copying them in your own Dockerfile:

FROM shinsenter/cakephp5:latest
COPY my_domain.crt /etc/ssl/site/server.crt
COPY my_domain.key /etc/ssl/site/server.key

⁠Extend the image

FROM shinsenter/cakephp5:latest

# Your own steps, for example:
ADD --chown=$APP_USER:$APP_GROUP ./cakephp5/ /var/www/html/

Adding PHP extensions, hooks, autorun scripts and cron jobs are covered in shinsenter/php⁠.

⁠Image tags and platforms

  • All tags and platforms: Docker Hub⁠. Debian and Alpine variants are available.
  • Since 2026-10-25, linux/386, linux/arm/v7, linux/ppc64le and linux/s390x are no longer built. Older tags keep them until they are rebuilt.
  • Images are rebuilt when PHP, the base OS or Composer publish an update, so a tag can change over time. For production, pin your own copy:
docker pull shinsenter/cakephp5:latest
docker tag  shinsenter/cakephp5:latest your-repo/cakephp5:stable
docker push your-repo/cakephp5:stable

⁠Support the project

Keeping these images rebuilt for every PHP release takes ongoing work. If they save you time, you can help keep them going:

Reporting a bug, sharing the project or giving it a star on GitHub⁠ also helps.

⁠Issues and license


From Vietnam šŸ‡»šŸ‡³ with love.

Tag summary

Content type

Image

Digest

sha256:12e2828ee…

Size

102.3 MB

Last updated

about 10 hours ago

docker pull shinsenter/cakephp5

This week's pulls

Pulls:

2,445

Oct 26 to Nov 1