ansible-role-djangoapp/tasks/main.yml

85 lines
1.8 KiB
YAML

---
# tasks file for im
- name: 'install dependencies'
package:
name:
- 'python3-django'
- 'curl'
- 'tar'
- 'python3-psycopg2'
- 'python3-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
- name: 'unarchive latest im stable'
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) }}"
- im_domain: 'localhost'
- im_db_name: 'im'
- im_db_user: 'im'
- im_db_server: 'localhost'
- im_db_port: '5432'
- name: 'migrate django im app'
django_manage:
command: migrate
app_path: "{{im_home}}"
- name: 'create superjuser for django im app'
django_manage:
command: "createsuperuser --noinput --username=admin --email={{im_admin_email}}"
app_path: "{{im_home}}"
- name: 'collect static content'
django_manage:
command: "collectstatic"
app_path: "{{im_home}}"
- name: "Service im"
service:
name: im
state: started
enabled: true
when: ansible_service_mgr == "systemd"