summaryrefslogtreecommitdiffstats
path: root/tasks/webmap.yml
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/webmap.yml')
-rw-r--r--tasks/webmap.yml197
1 files changed, 56 insertions, 141 deletions
diff --git a/tasks/webmap.yml b/tasks/webmap.yml
index 10a6555..682e785 100644
--- a/tasks/webmap.yml
+++ b/tasks/webmap.yml
@@ -1,168 +1,83 @@
-- 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
+- name: Install brotli
+ apt: pkg=brotli
+
+- name: Build administrative-codes.json*
+ become: false
+ delegate_to: localhost
+ community.general.make:
+ chdir: ./webmap-tools/administrative-codes
+ target: all
+
+- name: Create directory /var/www/webmap/data
+ file: path=/var/www/webmap/data
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
+- name: Copy /var/www/webmap/data/administrative-codes.json*
+ copy: src=./webmap-tools/administrative-codes/{{ item }}
+ dest=/var/www/webmap/data/{{ item }}
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 }}"
+ with_items:
+ - administrative-codes.json
+ - administrative-codes.json.br
- meta: flush_handlers
-- name: Create system user '_webmap-download'
- user: name=_webmap-download system=true
- group=nogroup
- 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
+- name: Create directory /var/www/webmap/tiles
+ file: path=/var/www/webmap/tiles
+ state=directory
+ owner=_geodata 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
+- name: Create directory /var/www/webmap/raster
+ file: path=/var/www/webmap/raster
state=directory
- owner=_webmap-download group=nogroup
+ owner=_geodata 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
+- name: Install Python/WSGI dependencies
apt: pkg={{ packages }}
vars:
packages:
- - postgresql
- - postgresql-postgis
- - postgis
- # for ansible
- - python3-psycopg
+ - uwsgi-core
+ - uwsgi-plugin-python3
+ - python3-psycopg-c
+
+- name: Copy webmap-cgi.socket
+ copy: src=etc/systemd/system/webmap-cgi.socket
+ dest=/etc/systemd/system/webmap-cgi.socket
+ owner=root group=root
+ mode=0644
+ notify:
+ - systemctl daemon-reload
-- 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: Copy webmap-cgi.service
+ template: src=etc/systemd/system/webmap-cgi.service
+ dest=/etc/systemd/system/webmap-cgi.service
+ owner=root group=root
+ mode=0644
+ notify:
+ - systemctl daemon-reload
+ - Stop webmap-cgi.service
-- name: Start PostgreSQL
- service: name=postgresql@{{ postgresql.version }}-{{ postgresql.cluster }}.service state=started
+- name: Copy /usr/local/libexec/webmap-cgi
+ copy: src=./webmap-tools/webmap-cgi
+ dest=/usr/local/libexec/webmap-cgi
+ owner=root group=root
+ mode=0755
+ notify:
+ - Stop webmap-cgi.service
- 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
+- name: Enable webmap-cgi.socket
+ service: name=webmap-cgi.socket state=started enabled=true
-- meta: flush_handlers
+- name: Disable webmap-cgi.service
+ service: name=webmap-cgi.service enabled=false