initial commit with redbot and vaultwarden migrated
This commit is contained in:
commit
1a2d589096
18 changed files with 267 additions and 0 deletions
6
roles/compose-service/defaults/main.yml
Normal file
6
roles/compose-service/defaults/main.yml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
service_user: '{{ service_name }}'
|
||||
service_root: '{{ "/opt/" ~ service_name }}'
|
||||
docker_volumes: []
|
||||
docker_env: {}
|
||||
docker_ports: []
|
||||
use_docker_user: true
|
||||
32
roles/compose-service/tasks/main.yml
Normal file
32
roles/compose-service/tasks/main.yml
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
- name: Deploy service
|
||||
block:
|
||||
- name: Assert mandatory variables are defines
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- service_name is defined
|
||||
- docker_image is defined
|
||||
|
||||
- name: Setup {{ service_user }} user and directories
|
||||
ansible.builtin.import_tasks: ../../common/tasks/create_service_user.yml
|
||||
|
||||
- name: Deploy {{ service_name }} docker-compose
|
||||
ansible.builtin.template:
|
||||
src: 'service.yml.j2'
|
||||
dest: '{{ service_root }}/docker-compose.yml'
|
||||
owner: '{{ service_user }}'
|
||||
group: '{{ service_user }}'
|
||||
mode: '0644'
|
||||
|
||||
- name: Start {{ service_name }} container
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: '{{ service_root }}'
|
||||
state: present
|
||||
remove_orphans: true
|
||||
recreate: always
|
||||
|
||||
- name: Add container to Caddy network
|
||||
community.docker.docker_network:
|
||||
name: Caddy
|
||||
connected:
|
||||
- '{{ service_name }}'
|
||||
appends: true
|
||||
27
roles/compose-service/templates/service.yml.j2
Normal file
27
roles/compose-service/templates/service.yml.j2
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
services:
|
||||
{{ service_name }}:
|
||||
container_name: {{ service_name }}
|
||||
image: {{ docker_image }}{% if docker_image_version %}:{{ docker_image_version }}{% endif %}
|
||||
|
||||
{% if use_docker_user %}
|
||||
user: "{{ getent_passwd[service_user].1 }}:{{ getent_passwd[service_user].2 }}"
|
||||
{% endif %}
|
||||
{% if docker_volumes %}
|
||||
volumes:
|
||||
{% for volume in docker_volumes %}
|
||||
- {{ volume }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if docker_env %}
|
||||
environment:
|
||||
{% for key, value in docker_env.items() %}
|
||||
{{ key }}: {{ value }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if docker_ports %}
|
||||
ports:
|
||||
{% for port in docker_ports %}
|
||||
- "{{ port }}"
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
restart: unless-stopped
|
||||
Loading…
Add table
Add a link
Reference in a new issue