--- - name: Dependencies installed # We install xmlsec and cairocffi using pkg because python-Levenshtein is tricky to install on FreeBSD community.general.pkgng: name: git,py37-pip,vim-console,tmux,fish,direnv,jpeg-turbo,tiff,webp,lcms2,freetype2,syncthing,yarn-node14,redis,cairo,pango,gmake,libxml2,libxslt,postgresql12-client,py37-xmlsec,py37-cairocffi state: latest - name: Redis enabled shell: sysrc redis_enable="YES" - name: Redis started service: name=redis state=started - name: Root shell is fish ansible.builtin.user: name=root shell=/usr/local/bin/fish - name: Tmux config installed copy: src: tmux.conf dest: /root/.tmux.conf mode: 0644 - name: Github SSH key installed template: src: sshkey.j2 dest: /root/.ssh/id_ed25519 mode: 0400 - name: Nginx key file installed copy: src: key.pem dest: /usr/local/etc/nginx/key.pem owner: root mode: 0644 notify: Nginx restarted - name: Nginx cert file installed copy: src: cert.pem dest: /usr/local/etc/nginx/cert.pem owner: root mode: 0644 notify: Nginx restarted - name: Nginx site file installed template: src: nginx-site.conf.j2 dest: /usr/local/etc/nginx/sites/fifteen5.conf mode: 0644 notify: Nginx restarted - name: Nginx location file installed copy: src: nginx-location.conf dest: /usr/local/etc/nginx/locations/fifteen5.conf mode: 0644 notify: Nginx restarted - name: Source folder exists file: path: /usr/local/src mode: 0755 state: directory - name: Create python bin link for yarn file: src: /usr/local/bin/python3.7 dest: /usr/bin/python owner: root state: link - name: 15Five source deployed git: repo: "git@github.com:15five/fifteen5.git" dest: /usr/local/src/fifteen5 accept_hostkey: yes update: yes tags: - deploy - name: Syncthing ignore file installed copy: src: stignore dest: /usr/local/src/fifteen5/.stignore mode: 0775 - name: Environment file installed template: src: envrc.j2 dest: /usr/local/src/fifteen5/.envrc mode: 0600 tags: - deploy - name: Allow environment file shell: cmd: direnv allow chdir: /usr/local/src/fifteen5 - name: 15Five requirements up to date pip: requirements: /usr/local/src/fifteen5/requirements/test.pip executable: pip tags: - deploy - name: 15Five personal reqs up to date pip: name: - asciitree - colorlog - logging_tree - django-pdb - pgcli - ipython - git+git://github.com/sureapp/sqlformatter executable: pip tags: - deploy notify: Redis restarted - name: 15Five migrations up to date command: bash -lc "direnv exec /usr/local/src/fifteen5 /usr/local/bin/python3.7 /usr/local/src/fifteen5/manage.py migrate" tags: - deploy - name: 15Five supervisor file installed copy: src: fifteen5-supervisor.conf dest: /usr/local/etc/supervisor/conf.d/ owner: root mode: 0644 notify: Supervisor restarted - name: 15Five frontend files generated and copied command: bash -lc "direnv exec /usr/local/src/fifteen5 /usr/local/bin/yarn && direnv exec /usr/local/src/fifteen5 /usr/local/bin/yarn build && direnv exec /usr/local/src/fifteen5 /usr/local/bin/python3.7 manage.py collectstatic --no-input" args: chdir: "/usr/local/src/fifteen5" tags: - deploy - name: 15Five reset database command: bash -lc "RESET_DB=True direnv exec /usr/local/src/fifteen5 /usr/local/bin/python3.7 /usr/local/src/fifteen5/manage.py run_local_scripts && direnv exec /usr/local/src/fifteen5 /usr/local/bin/python3.7 /usr/local/src/fifteen5/manage.py clearsessions" tags: - db-refresh