Skip to content
This repository has been archived by the owner on Dec 11, 2024. It is now read-only.

Latest commit

 

History

History
41 lines (29 loc) · 1.83 KB

Readme.md

File metadata and controls

41 lines (29 loc) · 1.83 KB

Big Give Mautic

We use Mautic's official Composer recommendation repository and its Composer packages as the basis for building this, with scaffolding .gitignored to keep the repository compact.

The Dockerfile runs composer install, which has a post-install script to generate scaffolding whenever it's not present.

We don't use the official Docker image as it is not really maintained as of August 2023, and when we tried Apache tags they were too old to be usable – as well as e.g. not using Composer. We tried another unofficial experimental repo but also found it to not quite work and be very different from other web things we deploy to ECS.

cron tasks

In an effort to avoid re-working too much of the outdated Docker repo's entrypoint logic, we add cron to our Linux base – everything in one container – which is not very Docker-y or horizontal scaling-safe. We should probably take a closer look at what scheduled commands do and any locking ability before running this live, particularly with more than one task in an ECS Service.

Local runs

To test a build locally:

docker build -t thebiggive-mautic .

Deployment are automatic:

Volumes and files added in the image

The 2 additional files for ECS runs to work are added by our Dockerfile to /usr/local/etc.

Mautic's persisted data lives at /var/www/html – we don't modify the official image's assumptions around this. On ECS a persistent volume (e.g. an EFS mount) can be mapped to this internal path, or the S3 plugin can be used to make the media approach more 12-factor-friendly. (The latter would probably be better if it works, but is not yet tested!)