danielmschmidt.ansible_docker_systemd_traefik_service
docker-systemd-traefik-service
Systemd managed docker containers, exposed by traefik, enabled for zero-downtime deployments.
- name: Start WebApp
include_role:
name: docker-systemd-traefik-service
vars:
container_name: myapp
container_image: myapp:latest
container_links: ["mysql"]
container_volumes:
- "/data/uploads:/data/uploads"
container_ports:
- "3000:3000"
container_env:
MYSQL_ROOT_PASSWORD: "{{ mysql_root_pw }}"
container_labels:
- traefik.http.middlewares.myapp-stripprefix.stripprefix.prefixes="{{ subpath }}"
traefik_router_labels:
- entrypoints=websecure
- tls=true
- tls.certresolver=myapp
- rule="Host(`{{ host }}`) && PathPrefix(`{{ subpath }}`)"
- middlewares=myapp-stripprefix@docker
Requirements
mhutter.docker-systemd-service must be installed.
Role Variables
The same as mhutter.docker-systemd-service, plus the listed extra ones:
traefik_router_labels: List of labels being prefixed for traefik with thecontainer_name. E.g.entrypoints=websecurebecomes the labeltraefik.http.routers.myapp.entrypoints=websecure(or during zero-downtime deploymenttraefik.http.routers.myapp-tmp.entrypoints=websecure)same_tag: Boolean, ensures deploying works with the same tag (by deleting the old one)rolling_update: Boolean, creates a temporary systemd service for a docker container that takes the traefik while the original one is updatedservice_startup_time: Default 2, time in minutes until rolling update is resumed and previous service is taken down
License
BSD
About
Systemd managed docker containers, exposed by traefik, enabled for zero-downtime deployments.
Install
ansible-galaxy install danielmschmidt.ansible_docker_systemd_traefik_serviceLicense
Unknown
Downloads
356
Owner
Working on the Terraform language at HashiCorp (an IBM company)
