--- # 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"