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.
Moved all variables over; moved git passthrough script to new location
and naming scheme; moved settings and mentions of gitea name; switched
ci woodpecker instance to use forgejo instead of gitea.
Shaarli images moved a while ago and received a different tag naming scheme.
So we changed to the new repository and renamed the version from latest
to release.
We waited for 60 seconds previously which is exactly when the
supplied ssh key would disappear in my setup. So instead we
wait for slightly shorter (55 seconds) to ease this for me.
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.
When launching many containers gitea admin waiting still sometimes gets stuck.
This should provide a bandaid for now. Also improve the container detection.
New landingpage includes the blog itself to better
integrate with the main page. Also runs on astro
not on hugo which I am a little more familiar with.
Admin deployment was very timing-dependent: If the server took a while
to set it up, it would always error out while deploying. This commit
adds sufficient grace-time into the admin request call before the error
occurs which should avoid it in most deployments (unless the server is
severely underpowered or over-taxed).
Also fixes admin creation to avoid root usage in the container when it
is not called for.
Removed the `site-dev.yml` playbook in favor of tagging all included
roles in the main playbook. This way there are no 2 playbooks to keep
manually in sync and the specific roles can still be run just like from
the dev playbook by invoking the intended roles through `--tag myrole`
or `--skip-tags myskippedrole`.
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
Added basic monica docker deployment.
A key which is required for monica is automatically generated on
deployment.
Optionally, geolocation and weather api can be enabled.
Mail-sending functionality is disabled by default but can be enabled
with any compatible smtp server set up.
Fixed access to postgres database not working for non-'miniflux'
usernames.
The database created is the same name as the username while the miniflux
container would still look for the standard database. This fixes it to
be able to take any username and corresponding database.