5 - include_vars: vars.yml
7 - name: install myservice systemd unit file
8 template: src=cryptoportfolio-app.j2 dest=/etc/systemd/system/cryptoportfolio-app.service
11 - name: stop cryptoportfolio-app
12 systemd: state=stopped name=cryptoportfolio-app
15 - name: Creates cryptoportfolio-app directory
16 file: path=/var/cryptoportfolio-app state=directory owner={{ app_user }}
20 file: path=/var/cryptoportfolio-app/app.log owner={{ app_user }} state=touch
23 - name: Copy server app binary from github 'https://github.com/jloup/dist/releases/download/crypto-v{{ version }}/cryptoportfolio-linux-{{ linux_arch }}'.
25 url: "https://github.com/jloup/dist/releases/download/crypto-v{{ version }}/cryptoportfolio-linux-{{ linux_arch }}"
26 dest: /usr/bin/cryptoportfolio-app
27 owner: "{{ app_user }}"
31 - name: Copy server app configuration file.
34 dest: /var/cryptoportfolio-app/conf.toml
35 owner: "{{ app_user }}"
38 - name: Create webapp directory.
39 file: path=/var/cryptoportfolio-app/static state=directory owner={{ app_user }}
42 - name: Copy webapp files from github 'https://github.com/jloup/dist/releases/download/crypto-v{{ version }}/webapp.tar.gz'.
44 src: "https://github.com/jloup/dist/releases/download/crypto-v{{ version }}/webapp.tar.gz"
45 dest: /var/cryptoportfolio-app/static
47 owner: "{{ app_user }}"
57 server_name: "{{ app_domain }}"
58 filename: "{{ app_domain }}.443.conf"
60 ssl_certificate /etc/letsencrypt/live/{{ app_domain }}/fullchain.pem;
61 ssl_certificate_key /etc/letsencrypt/live/{{ app_domain }}/privkey.pem;
63 proxy_pass "http://127.0.0.1:8080";
67 server_name: "{{ app_domain }}"
68 filename: "{{ app_domain}}.80.conf"
69 return: "301 https://{{ app_domain }}$request_uri"
75 certbot_admin_email: jeanloup.jamet@gmail.com
76 certbot_create_if_missing: yes
77 certbot_create_standalone_stop_services: []
78 certbot_create_method: standalone
83 - name: Create postgres user.
86 - name: Add cryptoportfolio database.
87 postgresql_db: name={{ postgres_database }}
91 ansible_ssh_pipelining: true
93 - name: Add cryptoportfolio user.
94 postgresql_user: user={{ postgres_user }} db={{ postgres_database }} password={{ postgres_password }}
98 ansible_ssh_pipelining: true
100 - file: path=/www/{{ app_user }} state=directory owner={{ app_user }}
103 - name: start cryptoportfolio-app
104 systemd: state=started name=cryptoportfolio-app daemon_reload=yes