we have set up a set of services now (notifications,crossposting,events) that all follow the same deployment pattern: a docker image plus some env vars, deployed via docker compose on server set up with nginx and certbot.
If we run nginx and certbot as additional services in the same compose file, we could reduce the number of ansible roles needed in the deployment (to basically just the creation of a droplet with a cloud-init script and then installing docker and copying over the compose script). This was not as simple of a solution with our webviwer, as we were doing some clever stuff with redirects and proxies, but these new services do not have as complicated requirements for the nginx side.
Try deploying a service as a single compose file. Then, see if this could be abstracted into a template, so we can have a generic role for deploying arbitrary services that follow this pattern.
we have set up a set of services now (notifications,crossposting,events) that all follow the same deployment pattern: a docker image plus some env vars, deployed via docker compose on server set up with nginx and certbot.
If we run nginx and certbot as additional services in the same compose file, we could reduce the number of ansible roles needed in the deployment (to basically just the creation of a droplet with a cloud-init script and then installing docker and copying over the compose script). This was not as simple of a solution with our webviwer, as we were doing some clever stuff with redirects and proxies, but these new services do not have as complicated requirements for the nginx side.
Try deploying a service as a single compose file. Then, see if this could be abstracted into a template, so we can have a generic role for deploying arbitrary services that follow this pattern.