- name: Install gdal-bin apt: pkg=gdal-bin install-recommends=true - name: Install unzip apt: pkg=unzip - name: Install python dependencies apt: pkg={{ packages }} vars: packages: - python3 - python3-gdal - python3-lxml - python3-requests - python3-tqdm - python3-urllib3 - python3-xdg - python3-yaml - name: Create directory /etc/webmap file: path=/etc/webmap state=directory owner=root group=root mode=0755 - name: Copy /etc/webmap/config.yml copy: src=webmap-tools/config.yml dest=/etc/webmap/config.yml owner=root group=root mode=0644 - name: Create directory /usr/local/share/webmap file: path=/usr/local/share/webmap state=directory owner=root group=root mode=0755 - name: Copy /usr/local/share/webmap/common.py copy: src=webmap-tools/common.py dest=/usr/local/share/webmap/common.py owner=root group=root mode=0644 - name: Copy webmap-update@.target copy: src=etc/systemd/system/webmap-update@.target dest=/etc/systemd/system/webmap-update@.target owner=root group=root mode=0644 notify: - systemctl daemon-reload - name: Copy webmap-update@.timer copy: src=etc/systemd/system/webmap-update@.timer dest=/etc/systemd/system/webmap-update@.timer owner=root group=root mode=0644 notify: - systemctl daemon-reload - name: Enable webmap-update.timer service: name=webmap-update@{{ item }}.timer state=started enabled=true with_items: "{{ webmap_layer_groups }}" - meta: flush_handlers - name: Create system group '_webmap' group: name=_webmap system=true state=present - name: Create system user '_webmap-download' user: name=_webmap-download system=true group=_webmap createhome=false home=/nonexistent shell=/usr/sbin/nologin comment="Webmap update (download)" password="!" state=present - name: Copy /usr/local/share/webmap/download.py copy: src=webmap-tools/webmap-download dest=/usr/local/share/webmap/download.py owner=root group=root mode=0755 - name: Create /usr/local/bin/webmap-download file: src=../share/webmap/download.py dest=/usr/local/bin/webmap-download owner=root group=root state=link force=yes - name: Copy /usr/local/share/webmap/webmap-download-mrr.py copy: src=webmap-tools/webmap-download-mrr.py dest=/usr/local/share/webmap/webmap-download-mrr.py owner=root group=root mode=0644 - name: Create directory /var/cache/webmap file: path=/var/cache/webmap state=directory owner=_webmap-download group=root mode=0755 - name: Copy webmap-download@.service copy: src=etc/systemd/system/webmap-download@.service dest=/etc/systemd/system/webmap-download@.service owner=root group=root mode=0644 notify: - systemctl daemon-reload - name: Enable webmap-download@.service service: name=webmap-download@{{ item }}.service enabled=true with_items: "{{ webmap_layer_groups }}" - meta: flush_handlers - name: Install PostgreSQL and PostGIS apt: pkg={{ packages }} vars: packages: - postgresql - postgresql-postgis - postgis # for ansible - python3-psycopg - name: Generate sv_SE.UTF-8 locales locale_gen: name=sv_SE.UTF-8 state=present # PostgreSQL needs to be restarted to see the new locale notify: Restart PostgreSQL - name: Start PostgreSQL service: name=postgresql@{{ postgresql.version }}-{{ postgresql.cluster }}.service state=started - meta: flush_handlers - name: Create PostgreSQL database become: true # XXX: this creates /var/lib/postgresql/.ansible/tmp become_user: postgres community.postgresql.postgresql_db: name: webmap comment: Backend PostGIS database for KlimatanalysNorr tooling encoding: UTF-8 lc_collate: sv_SE.UTF-8 lc_ctype: sv_SE.UTF-8 locale_provider: icu icu_locale: sv-SE-x-icu template: template0 owner: postgres - name: Create 'postgis' PostgreSQL schema become: true become_user: postgres community.postgresql.postgresql_schema: name: postgis db: webmap owner: postgres - name: Install 'postgis' PostgreSQL extension to the webmap database in the postgis schema become: true become_user: postgres community.postgresql.postgresql_ext: name: postgis db: webmap schema: postgis comment: Geographic objects support for PostgreSQL - meta: flush_handlers