{"id":22481793,"url":"https://github.com/riotkit-org/docker-php-app","last_synced_at":"2026-04-17T07:31:33.283Z","repository":{"id":103425600,"uuid":"139109283","full_name":"riotkit-org/docker-php-app","owner":"riotkit-org","description":"PHP 5.x - 7.x with nginx, composer and native Symfony support","archived":false,"fork":false,"pushed_at":"2021-05-04T07:07:56.000Z","size":2842,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-30T17:53:57.218Z","etag":null,"topics":["armhf","armv7","docker","nginx","raspberry-pi","symfony","x86-64"],"latest_commit_sha":null,"homepage":"https://riotkit.org","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/riotkit-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-29T06:20:26.000Z","updated_at":"2021-05-04T07:07:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"7ac738f1-0c99-4b25-ac66-e67cc81292f6","html_url":"https://github.com/riotkit-org/docker-php-app","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/riotkit-org/docker-php-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riotkit-org%2Fdocker-php-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riotkit-org%2Fdocker-php-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riotkit-org%2Fdocker-php-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riotkit-org%2Fdocker-php-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/riotkit-org","download_url":"https://codeload.github.com/riotkit-org/docker-php-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riotkit-org%2Fdocker-php-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31919880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["armhf","armv7","docker","nginx","raspberry-pi","symfony","x86-64"],"created_at":"2024-12-06T16:15:42.785Z","updated_at":"2026-04-17T07:31:33.264Z","avatar_url":"https://github.com/riotkit-org.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"PHP application container\n=========================\n\n[![Docker Repository on Quay](https://quay.io/repository/riotkit/php-app/status \"Docker Repository on Quay\")](https://quay.io/repository/riotkit/php-app)\n\nContainer pre-configured to work with Symfony 3.x/4.x that offers:\n- NGINX 1.17+\n- PHP 5.4-7.x (with: pdo_mysql, pdo_sqlite, pdo_pgsql, pcntl, calendar, phar, mysqli, gd, pdo, xml, opcache)\n- Python 3 with PIP\n- 7.x images are lightweight (Alpine base), 5.x images are based on Debian for compatibility\n- JINJA 2 templating for configuration files\n- Cron\n- Supervisor\n- Logrotate\n- Composer\n- Native Symfony 4 and composer installable applications support\n- Highly extensible through environment variables (PHP-FPM adjustments, PHP memory limit and more)\n- Per application nginx.conf file (like .htaccess - helps migrating old applications)\n\nReady to use images\n-------------------\n\n*Note: The tags like `php-app:7.2-x86_64` are always the latest, but there are build snapshots ex. `php-app:7.2-x86_64-2019-09-19` that are stable and you should use in production.*\n\n**Check out available versions there:** https://quay.io/repository/riotkit/php-app?tab=tags\n\n```bash\ndocker pull quay.io/riotkit/php-app:7.3-arm32v7\ndocker pull quay.io/riotkit/php-app:7.3\n```\n\nConfiguration reference\n-----------------------\n\nList of all environment variables that could be used.\n\n```yaml\n\n```\n\nDeveloping the container\n------------------------\n\n- The container is built on quay.io and hub.docker com\n- When you start working on it locally, at first run `make dev@develop` to install git hooks\n- README.md is automatically generated from README.md.j2, do not edit the generated version!\n- Use `make` for building, pushing, etc.\n\nReleasing\n---------\n\nOn Travis CI the build is triggered each month, then all versions are rebuilt.\nThe build is also triggered on-commit.\n\nThe tags like `php-app:7.2-x86_64` are overwritten, but there are build snapshots ex. `php-app:7.2-x86_64-2019-05-01` that are stable and you should use in production.\n\n\nBuilding\n--------\n\nRequirements:\n- make\n- docker\n- jq\n- j2cli (`pip install j2cli`)\n\n```bash\n# see possible options\nmake\n\n# examples\nmake all\nmake build VERSION=5.5 ARCH=x86_64 QEMU=false\nmake build VERSION=7.3 ARCH=arm32v7 QEMU=true\n```\n\nCustomizing\n-----------\n\n#### 1. Supervisor\n\nPut files in */.etc.template/supervisor/conf.d* to include into the supervisor.\n\nSee also docker environment variables prefixed with *SUPERVISOR*.\n\n#### 2. Entrypoint scripts (on container start)\n\nAdd files into /entrypoint.d/ directory, name them eg. 001_something.sh, 002_something_else.sh, they will be executed in the order of names.\n\n#### 3. NGINX\n\nReplace NGINX configuration file at path */.etc.template/nginx/nginx.conf.j2*\n\nCheck also docker environment variables prefixed with *NGINX*.\n\n#### 4. PHP\n\nCheck `PHP_*` environment variables, when the variables are not enough, then replace configuration files in /.usr.template\n\n#### 5. Add a cron job\n\nReplace cron job at /.etc.template/cron.d/www-data.j2 with your own.\n\n```bash\n*/5 * * * *   www-data   bash -c \"something;\"\n```\n\nYou can also set *CRONTAB* environment variable to value ex. \"*/5 * * * *   www-data   bash -c 'something;'\"\n\nWhen Jinja templates are compiled\n---------------------------------\n\nAll files and templates from `/.usr.template` and `/.etc.template` are compiled and copied during container startup in the ENTRYPOINT.\n\nDockerfiles are also JINJA2 templates, but those are rendered during a build on Travis-CI.\n\nTests\n-----\n\nIn `container-files/opt/tests` there are bash scripts that are executed on image build.\nNew functionality such as added extensions should be tested there, to keep it working after next changes.\n\nNGINX Custom Config (like .htaccess)\n------------------------------------\n\nThis feature allows to append a NGINX configuration from project directory.\nFiles needs to be placed in \".nginx\" directory.\n\nTo enable this feature set environment variable `NGINX_ENABLE_CUSTOM_CONFIG=true`\nIf you want to put a `location / { }` block in your configuration file, then use `NGINX_ENABLE_DEFAULT_LOCATION_INDEX=false` to disable the default one - else you will get duplicated block error.\n\nCopyleft\n--------\n\nCreated by **RiotKit Collective**, a libertarian, grassroot, non-profit organization providing technical support for the non-profit Anarchist movement.\n\nCheck out those initiatives:\n- International Workers Association (https://iwa-ait.org)\n- Federacja Anarchistyczna (http://federacja-anarchistyczna.pl)\n- Anarchistyczne FAQ (http://anarchizm.info)\n- Związek Syndykalistów Polski (https://zsp.net.pl) (Polish section of IWA-AIT)\n- Komitet Obrony Praw Lokatorów (https://lokatorzy.info.pl)\n- Solidarity Federation (https://solfed.org.uk)\n- Priama Akcia (https://priamaakcia.sk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friotkit-org%2Fdocker-php-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Friotkit-org%2Fdocker-php-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friotkit-org%2Fdocker-php-app/lists"}