--- # 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: "{{im_home}}/im-latest.tar.gz" owner: im group: im mode: '0400' force: true - name: 'unarchive latest im stable' unarchive: src: "{{im_home}}/im-latest.tar.gz" remote_src: yes dest: "{{ im_home }}" owner: im group: 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: "settings.py.j2" dest: "{{im_home}}/im/im/settings.py" owner: "{{ im_user }}" mode: 0600 notify: "Restart im" - 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"