|
|
- - name: install postgresql
- apt:
- name: "{{ item }}"
- state: present
- update_cache: yes
- cache_valid_time: 3600
- with_items:
- - postgresql
- - postgresql-contrib
- - python-psycopg2
- - ca-certificates
- - name: generate mattermost DB password
- gen_passwd: length=20
- register: new_password
- - block:
- - name: create mattermost DB
- postgresql_db: name=mattermost
- - name: create mattermost DB user
- postgresql_user:
- name: mmuser
- password: "{{ new_password.passwd }}"
- db: mattermost
- priv: ALL
- become: true
- become_method: su
- become_user: postgres
- - name: download latest mattermost
- get_url:
- url: "https://releases.mattermost.com/{{ mattermost_version }}/mattermost-team-{{ mattermost_version }}-linux-amd64.tar.gz"
- dest: "/opt/mattermost.tar.gz"
- register: new_download
- - name: unpack mattermost
- unarchive: src=/opt/mattermost.tar.gz dest=/opt copy=no
- when: new_download.changed
- - name: create mattermost data directory
- file: path=/opt/mattermost/data state=directory
- - name: create mattermost group
- group: name=mattermost system=true
- - name: create mattermost user and group
- user: name=mattermost group=mattermost system=true
- - name: set mattermost directory permissions
- file:
- path: /opt/mattermost
- owner: mattermost
- group: mattermost
- mode: g+w
- recurse: true
- - name: configure mattermost (driver name)
- json_file:
- path: /opt/mattermost/config/config.json
- key: "SqlSettings.DriverName"
- value: "postgres"
- - name: configure mattermost (data source)
- json_file:
- path: /opt/mattermost/config/config.json
- key: "SqlSettings.DataSource"
- value: "postgres://mmuser:{{ new_password.passwd }}@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10"
- - name: install mattermost systemd unit
- template:
- src: mattermost.service.j2
- dest: /etc/systemd/system/mattermost.service
- - name: enable mattermost service
- service: name=mattermost enabled=yes state=started
|