Previously every deployment (even just for a single tag, such as
`ansible-playbook site.yml --tags landingpage`) would have the caddy
deployment in its dependency.
That meant in effect whenever there was an updated caddy image, the role
would update it and we would lose all previous caddy configuration -
which in turn would necessitate a complete redeploymnet of all steps.
This is now not the case anymore.
For a reason, current wget versions error out when using localhost instead
of 127.0.0.1 as the healthcheck for docker services. Probably has something
to do with dns resolution - either on docker or wget end, but have not
looked to deep into it.
Uses php-fpm image and is served through a simple caddy server.
Automatically deploys by default and can be automatically deployed with
smtp e-mail sending and s3 primary object storage optionally if desired.
Utilizes some necessary hackery for container ordering and startup so
startup is relatively slow (takes around 2-5 minutes at least) but once
running should be stable and uninterrupted.
Implements health-checks for all involved containers.
Switch apache for php-fpm image
Moved the ability to switch off caddy's api access to variables not
intended to be overwritten. It still can, but it is much more difficult.
Since every docker deployment relies on caddy's api to be accessible it
seems weird to present an easily reachable option to turn it off
globally.
Give more time to docker to correctly bring up caddy in the swarm.
Extended delay to retry to 10 seconds and gave it more retries as well,
so that roughly a minute will be gone before the play gives up.
Created bind volume for caddy which takes the json fragments which will
later be injected through the caddy api to dynamically set their
individual reverse proxy addresses.
This is not entirely necessary if the injection should be done as a
variable instead, but makes it easier to change routes and especially
more complicated ones (I'm thinking of gitea with ssh access e.g.).
Added caddy as swarm container. Uses templated Caddyfile which can be
set up for testing purposes for now.
Depends on docker and docker-swarm, and will keep its stuff where
docker-swarm sets itself up.