ansible-role-nmgfitness/tasks/main.yml

106 lines
2.5 KiB
YAML
Raw Normal View History

2020-09-10 22:31:09 +00:00
---
# tasks file for im
- name: 'install dependencies'
package:
name:
- 'python3-django'
- 'curl'
- 'tar'
2020-09-10 23:08:02 +00:00
- 'python3-psycopg2'
- 'python3-gunicorn'
- 'python3-whitenoise'
2020-09-10 22:31:09 +00:00
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:
2020-09-10 23:38:28 +00:00
dest: "{{im_home}}/im-latest.tar.gz"
2021-08-02 15:28:20 +00:00
url: https://gitea.caret.be/jens/nmgfitness/archive/main.tar.gz
2020-09-10 23:38:28 +00:00
owner: im
group: im
2020-09-10 22:31:09 +00:00
mode: '0400'
force: true
2020-09-10 23:08:02 +00:00
- name: 'remove previous install stable'
file:
2021-08-02 15:28:20 +00:00
dest: "{{im_home}}/nmgfitness"
state: absent
2020-09-10 23:08:02 +00:00
- name: 'unarchive latest im stable'
2020-09-10 22:31:09 +00:00
unarchive:
src: "{{im_home}}/im-latest.tar.gz"
remote_src: yes
2020-09-10 23:38:28 +00:00
dest: "{{ im_home }}"
owner: im
group: im
notify: "Restart im"
2020-09-10 22:31:09 +00:00
- 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: "settings.py.j2"
2021-08-02 15:28:20 +00:00
dest: "{{im_home}}/nmgfitness/nmgfitness/settings.py"
2020-09-10 22:31:09 +00:00
owner: "{{ im_user }}"
mode: 0600
notify: "Restart im"
- name: 'migrate django im app'
django_manage:
2020-09-10 23:08:02 +00:00
command: migrate
2021-08-02 15:28:20 +00:00
app_path: "{{im_home}}/nmgfitness"
become: true
become_user: "{{im_user}}"
- name: check if django superuser exists
django_manage:
command: 'shell -c "from django.contrib.auth.models import User; print(User.objects.filter(is_superuser=True).exists())"'
2021-08-02 15:28:20 +00:00
app_path: "{{im_home}}/nmgfitness"
register: superuser_exists
become: true
become_user: "{{im_user}}"
2020-09-10 22:31:09 +00:00
- name: "create superjuser for django im app if it doesn't exist"
2020-09-10 22:31:09 +00:00
django_manage:
2020-09-10 23:08:02 +00:00
command: "createsuperuser --noinput --username=admin --email={{im_admin_email}}"
2021-08-02 15:28:20 +00:00
app_path: "{{im_home}}/nmgfitness"
become: true
become_user: "{{im_user}}"
when: superuser_exists.out.find("True") == -1
2020-09-10 22:31:09 +00:00
2020-09-12 00:15:11 +00:00
- name: "set superjuser password"
django_manage:
2020-09-12 00:19:43 +00:00
command: shell -c "from django.contrib.auth.models import User; usr = User.objects.get(username='admin'); usr.set_password('{{im_admin_password}}'); usr.save()"
2021-08-02 15:28:20 +00:00
app_path: "{{im_home}}/nmgfitness"
2020-09-12 00:15:11 +00:00
become: true
become_user: "{{im_user}}"
2020-09-10 22:31:09 +00:00
- name: 'collect static content'
django_manage:
2020-09-10 23:08:02 +00:00
command: "collectstatic"
2021-08-02 15:28:20 +00:00
app_path: "{{im_home}}/nmgfitness"
2020-09-10 22:31:09 +00:00
- name: "Service im"
service:
name: im
state: started
enabled: true
when: ansible_service_mgr == "systemd"