120 lines
3.1 KiB
YAML
120 lines
3.1 KiB
YAML
---
|
|
|
|
- name: "Install dependencies"
|
|
ansible.builtin.apt:
|
|
pkg:
|
|
- docker.io
|
|
|
|
- name: "Create directory for Authentik with Docker"
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: '0750'
|
|
with_items:
|
|
- "{{ docker_volumes_dir }}/authentik"
|
|
|
|
- name: "Create directories for Authentik Docker"
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: 1000
|
|
group: 1000
|
|
mode: '0750'
|
|
with_items:
|
|
- "{{ docker_volumes_dir }}/authentik/media"
|
|
- "{{ docker_volumes_dir }}/authentik/custom-templates"
|
|
- "{{ docker_volumes_dir }}/authentik/certs"
|
|
|
|
- name: "Create Redis and Database directores for Authentik with Docker"
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: 999
|
|
group: root
|
|
mode: '0750'
|
|
with_items:
|
|
- "{{ docker_volumes_dir }}/authentik/redis"
|
|
- "{{ docker_volumes_dir }}/authentik/database"
|
|
|
|
- name: "Template .env files for Authentik with Docker"
|
|
ansible.builtin.template:
|
|
src: "authentik.env.j2"
|
|
dest: "{{ docker_volumes_dir }}/authentik/authentik.env"
|
|
force: true
|
|
owner: authentik-docker
|
|
group: docker
|
|
mode: '0660'
|
|
notify: restart-authentik-docker
|
|
|
|
#- name: "Template docker-compose.yml for authentik-docker"
|
|
# ansible.builtin.template:
|
|
# src: "{{ item }}.j2"
|
|
# dest: "/{{ docker_compose_config_dir }}/authentik/{{ item }}"
|
|
# force: true
|
|
# owner: root
|
|
# group: docker
|
|
# mode: '0640'
|
|
# with_items:
|
|
# - docker-compose.yml
|
|
# notify: restart-authentik-docker
|
|
|
|
- name: "Create Docker network authentik_net"
|
|
docker_network:
|
|
name: authentik_net
|
|
|
|
- name: "Template systemd units for Authentik with Docker"
|
|
ansible.builtin.template:
|
|
src: "{{ item }}.j2"
|
|
dest: "/etc/systemd/system/{{ item }}"
|
|
force: true
|
|
owner: root
|
|
group: root
|
|
mode: '0664'
|
|
with_items:
|
|
- authentik-server-docker.service
|
|
- authentik-worker-docker.service
|
|
- authentik-redis-docker.service
|
|
- authentik-db-docker.service
|
|
register: units
|
|
|
|
#- name: "Add a user that will run the container"
|
|
# ansible.builtin.user:
|
|
# name: authentik-docker
|
|
# comment: Authentik Docker User
|
|
# home: "{{ docker_volumes_dir }}/authentik"
|
|
# group: docker
|
|
# system: true
|
|
|
|
#- name: "Template systemd unit file for Authentik with Docker"
|
|
# ansible.builtin.template:
|
|
# src: "authentik-docker.service.j2"
|
|
# dest: "/etc/systemd/system/authentik-docker.service"
|
|
# force: true
|
|
# owner: root
|
|
# group: root
|
|
# mode: '0644'
|
|
# register: unit
|
|
# notify: systemctl-daemon-reload
|
|
|
|
- name: "Reload systemd units"
|
|
ansible.builtin.systemd:
|
|
daemon_reload: yes
|
|
when: units.changed
|
|
|
|
- name: "Enable systemd units for Authentik with Docker"
|
|
ansible.builtin.systemd:
|
|
state: started
|
|
enabled: true
|
|
name: "{{ item }}"
|
|
with_items:
|
|
- authentik-db-docker.service
|
|
- authentik-redis-docker.service
|
|
- authentik-server-docker.service
|
|
- authentik-worker-docker.service
|
|
|
|
#- name: "Enable systemctl service for authentik-docker"
|
|
# ansible.builtin.service:
|
|
# state: started
|
|
# name: "authentik-docker.service"
|