Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/craftcms/image

Container images that are used as the base for Craft CMS container applications
https://github.com/craftcms/image

cms container craftcms docker

Last synced: 3 months ago
JSON representation

Container images that are used as the base for Craft CMS container applications

Awesome Lists containing this project

README

        

# Image

This repository hosts the code for building container images tailored for Craft CMS applications. Our aim is to offer an always up-to-date base image that developers can expand to run a web server of their choice.

> Our base image does not include an NGINX server and is exclusively configured to support running PHP-FPM. This setup enables developers to fully customize their container environments and maximize performance to meet their application needs (e.g. deploy with Caddy instead of NGINX).

## Image

This repository contains the following image types:

1. `image` - The base image for all other images that installs PHP and creates a non-root user. This image also installs supervisord and NGINX but does not configure NGINX.

## Adding a new service to supervisor

In order to add a new service to supervisor, follow these steps:

1. Create a new service file ending in `.ini`.
2. Copy the new file during a build step in the `Dockerfile` (
e.g. `COPY ./supervisor.d/craft-worker.ini /etc/supervisor.d/craft-worker.ini`).
3. Supervisor will automatically pick up the new service and start it.

## Examples

This repository contains examples for extending the container image to adapt to your use case. The examples are located in the `examples` folder.

## Testing

In order to test this image locally, follow these steps:

1. Install an app (Craft), into the `examples/nginx/local` folder (the
webroot `web` is still expected and not dynamic yet). (_**Note**: If it is easier, create an `index.php`
in `./examples/nginx/local/web` with `