81 lines
1.7 KiB
YAML
81 lines
1.7 KiB
YAML
---
|
|
# tasks file for im
|
|
- name: 'install dependencies'
|
|
package:
|
|
name:
|
|
- 'python3-django'
|
|
- 'curl'
|
|
- 'tar'
|
|
- 'psycopg2'
|
|
- 'gunicorn'
|
|
state: 'present'
|
|
|
|
- name: 'Create im user'
|
|
user:
|
|
name: "{{ im_user }}"
|
|
comment: "im user"
|
|
home: "{{ im_home }}"
|
|
shell: "/bin/false"
|
|
|
|
- name: 'download latest im stable'
|
|
get_url:
|
|
url: https://gitea.caret.be/jens/im/archive/main.tar.gz
|
|
dest: /tmp/im-latest.tar.gz
|
|
owner: root
|
|
group: root
|
|
mode: '0400'
|
|
force: true
|
|
unarchive:
|
|
src: /tmp/im-latest.tar.gz
|
|
dest: /home/im/
|
|
notify: "restart im"
|
|
|
|
- name: "Setup systemd service"
|
|
template:
|
|
src: im.service.j2
|
|
dest: /lib/systemd/system/im.service
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
notify:
|
|
- "Reload systemd"
|
|
- "Restart im"
|
|
when: ansible_service_mgr == "systemd"
|
|
|
|
|
|
- name: "Configure im"
|
|
template:
|
|
src: "{{im_home}}/im/im/settings.py.prod"
|
|
dest: "{{im_home}}/im/im/settings.py"
|
|
owner: "{{ im_user }}"
|
|
mode: 0600
|
|
notify: "Restart im"
|
|
vars:
|
|
- im_secret_key: "{{ lookup('password', im_home + '/.imsecretfile chars=ascii_letters' length=56) }}"
|
|
|
|
|
|
- name: 'migrate django im app'
|
|
django_manage:
|
|
- command: migrate
|
|
django_app: "{{im_home}}"
|
|
|
|
- name: 'create superjuser for django im app'
|
|
django_manage:
|
|
- command: "createsuperuser --noinput --username=admin --email={{im_admin_email}}"
|
|
django_app: "{{im_home}}"
|
|
|
|
|
|
- name: 'collect static content'
|
|
django_manage:
|
|
- command: "collectstatic"
|
|
django_app: "{{im_home}}"
|
|
|
|
|
|
|
|
- name: "Service im"
|
|
service:
|
|
name: im
|
|
state: started
|
|
enabled: true
|
|
when: ansible_service_mgr == "systemd"
|