ansible-role-chill/tasks/main.yml
Julien Fastré 41531016aa
Add php-fpm user and group for log file ownership
This commit introduces the php-fpm user and group, assigning ownership of relevant log files to ensure proper permissions. Updates were also made to the logrotate configuration to include the `su` directive for php-fpm. These changes improve compatibility and address log management requirements.
2025-01-13 11:35:45 +01:00

81 lines
1.9 KiB
YAML

# code: language=ansible
---
- name: Install docker and docker compose plugin
ansible.builtin.include_role:
name: geerlingguy.docker
vars:
docker_edition: ce
docker_package_state: latest
docker_service_manage: true
docker_service_state: started
docker_service_enabled: true
docker_install_compose_plugin: true
docker_add_repo: true
- name: Print all available facts
ansible.builtin.debug:
var: ansible_facts
- name: Authenticate against private docker registry
community.docker.docker_login:
registry_url: "{{ registry_url }}"
username: "{{ registry_username }}"
password: "{{ registry_password }}"
- name: Authenticate against docker hub
community.docker.docker_login:
username: "{{ docker_hub_username }}"
password: "{{ docker_hub_token }}"
- name: Create group php-fpm on host (require to store logs)
ansible.builtin.group:
gid: 82
name: php-fpm
system: true
- name: Create user php-fpm on host (required to store logs)
ansible.builtin.user:
uid: 82
group: php-fpm
name: php-fpm
create_home: false
system: true
- name: Create log directory
ansible.builtin.file:
path: /var/log/chill
state: directory
owner: php-fpm
group: php-fpm
mode: '0774'
- name: Configure logrotate for chill
ansible.builtin.template:
dest: /etc/logrotate.d/chill
src: logrotate/chill
owner: root
group: root
mode: '0644'
- name: Install traefik
ansible.builtin.include_tasks: traefik.yml
- name: Install systemd services
ansible.builtin.template:
src: "systemd/{{ file }}"
dest: "/etc/systemd/system/{{ file }}"
owner: root
group: root
mode: '0766'
notify: Reload systemd
loop:
- chill-cronjob@.service
- chill-cronjob@.timer
loop_control:
loop_var: file
- name: Install individual chill
ansible.builtin.include_tasks: chill/main.yml
with_items: "{{ chills }}"