--- # Tasks file for the unicorns_website role # Infrastructure # Ansible instructions to deploy the infrastructure # Copyright (C) 2020 Saibotk # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . - name: Update default SELinux contexts sefcontext: target: '{{ item }}(/.*)?' setype: "container_file_t" selevel: "{{ unicorns_website_selinux_level }}" state: present with_items: - "{{ unicorns_website_env_location }}" - "{{ unicorns_website_storage_location }}" - "{{ unicorns_website_redis_location }}" - "{{ unicorns_website_database_location }}" become: true - name: Create install directory file: path: "{{ item }}" state: directory mode: '0700' owner: 'root' group: 'root' with_items: - "{{ unicorns_website_install_location }}" become: true - name: Create data directory file: # noqa 208 # Container manages permissions on its own path: "{{ item }}" state: directory setype: "container_file_t" selevel: "{{ unicorns_website_selinux_level }}" with_items: - "{{ unicorns_website_env_location }}" - "{{ unicorns_website_storage_location }}" - "{{ unicorns_website_redis_location }}" - "{{ unicorns_website_database_location }}" become: true - name: Deploy docker-compose.yml template: src: docker-compose.yml dest: "{{ unicorns_website_install_location }}/docker-compose.yml" mode: '0600' owner: 'root' group: 'root' validate: python2 -m compose -f %s config -q tags: - docker become: true - name: Deploy .env.production template: src: .env.production dest: "{{ unicorns_website_env_location }}/.env" mode: '0600' setype: "container_file_t" selevel: "{{ unicorns_website_selinux_level | default(omit) }}" become: true - name: Compose unicorns website docker_compose: state: present project_src: "{{ unicorns_website_install_location }}" pull: yes remove_orphans: yes tags: - docker become: true