1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 11:42:08 +00:00
iiab/roles/osm-vector-maps/tasks/install.yml

207 lines
8.2 KiB
YAML

- name: "Install packages for map installation: python3-geojson, python3-pil, python3-wget, php{{ php_version }}-sqlite3 (can also be installed by www_base/tasks/php-stem.yml)"
package:
state: present
name:
- python3-geojson
- python3-pil
- python3-wget
#- php{{ php_version }}-common # Auto-installed as an apt dependency. REGARDLESS: php{{ php_version }}-common superset php{{ php_version }}-cli is auto-installed by php{{ php_version }}-fpm in nginx/tasks/install.yml
- php{{ php_version }}-sqlite3
- name: Make 5 directories (0755 by default)
file:
path: "{{ item }}"
state: directory
# mode: 0755
with_items:
- "{{ vector_map_path }}/test-page/assets" # /library/www/osm-vector-maps
- "{{ vector_map_path }}/maplist/assets"
- "{{ vector_map_path }}/viewer/assets"
- "{{ vector_map_path }}/viewer/tiles"
- "{{ vector_map_path }}/installer"
- name: Download 26M {{ osm_repo_url }}/{{ maps_branch }}/2020/cities1000.sqlite to {{ vector_map_path }}/viewer/
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/2020/cities1000.sqlite" # e.g. https://raw.githubusercontent.com/iiab/maps + / + master + ...
dest: "{{ vector_map_path }}/viewer/"
timeout: "{{ download_timeout }}"
- name: Download {{ osm_repo_url }}/{{ maps_branch }}/2020/map-catalog.json to {{ iiab_etc_path }}
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/2020/map-catalog.json"
dest: "{{ iiab_etc_path }}" # /etc/iiab
timeout: "{{ download_timeout }}"
- name: Symlink {{ doc_root }}/common/assets/map-catalog.json -> /etc/iiab/map-catalog.json
file:
src: /etc/iiab/map-catalog.json
path: "{{ doc_root }}/common/assets/map-catalog.json" # /library/www/html
state: link
- name: Symlink {{ vector_map_path }}/test-page/assets/map-catalog.json -> /etc/iiab/map-catalog.json
file:
src: /etc/iiab/map-catalog.json
path: "{{ vector_map_path }}/test-page/assets/map-catalog.json"
state: link
- name: Download OpenLayers test page stuff (JavaScript bundle etc) from {{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/test-page/build/* to {{ vector_map_path }}/test-page/ -- for test page http://box/osm-vector-maps/installer/
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/test-page/build/{{ item }}"
dest: "{{ vector_map_path }}/test-page/"
timeout: "{{ download_timeout }}"
with_items:
- test-page-bundle.js
- index.html
- name: Download OpenLayers viewer page stuff (JavaScript bundle etc) from {{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/viewer/build/* to {{ vector_map_path }}/viewer/
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/viewer/build/{{ item }}"
dest: "{{ vector_map_path }}/viewer/"
timeout: "{{ download_timeout }}"
with_items:
- index.html
- viewer-bundle.js
- viewer-bundle.js.map
- name: Download 4 .css and .php helper files from {{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/viewer/* to {{ vector_map_path }}/viewer/ -- for viewer
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/viewer/{{ item }}"
dest: "{{ vector_map_path }}/viewer/"
timeout: "{{ download_timeout }}"
with_items:
- mbtileinfo.php
- popup.css
- searchapi.php
- tileserver.php
- name: Download 48MB {{ map_installer_url }}/{{ installer_planet }} to {{ vector_map_path }}/installer/ -- for map installer
get_url:
url: "{{ map_installer_url }}/{{ installer_planet }}" # e.g. https://download.iiab.io/content/OSM/vector-tiles + / + planet_z0-z6_2020.mbtiles
dest: "{{ vector_map_path }}/installer/"
timeout: "{{ download_timeout }}"
- name: Symlink {{ vector_map_path }}/installer/detail.mbtiles -> {{ vector_map_path }}/installer/{{ installer_planet }}
file:
src: "{{ vector_map_path }}/installer/{{ installer_planet }}"
path: "{{ vector_map_path }}/installer/detail.mbtiles"
state: link
- name: Symlink {{ vector_map_path }}/viewer/tiles/{{ installer_planet }} -> {{ vector_map_path }}/installer/{{ installer_planet }}
file:
src: "{{ vector_map_path }}/installer/{{ installer_planet }}"
path: "{{ vector_map_path }}/viewer/tiles/{{ installer_planet }}"
state: link
- name: Download 25MB {{ map_installer_url }}/{{ installer_satellite }} to {{ vector_map_path }}/viewer/tiles/ -- basic satellite photos
get_url:
url: "{{ map_installer_url }}/{{ installer_satellite }}" # e.g. satellite_z0-z6_2020.mbtiles
dest: "{{ vector_map_path }}/viewer/tiles/"
timeout: "{{ download_timeout }}"
- name: Download {index.html, installer-bundle.js} from {{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/installer/build/* to {{ vector_map_path }}/installer/ -- for map installer
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/installer/build/{{ item }}"
dest: "{{ vector_map_path }}/installer/"
timeout: "{{ download_timeout }}"
with_items:
- index.html
- installer-bundle.js
- name: Download 4 action routines from {{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/installer/* to {{ vector_map_path }}/installer/ -- for installer
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/installer/{{ item }}"
dest: "{{ vector_map_path }}/installer/"
timeout: "{{ download_timeout }}"
with_items:
- map.css
- style-osm.json
- installer-functions.js
- tileserver.php
- name: Download 15 common assets from {{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/viewer/assets/* to {{ vector_map_path }}/viewer/assets/ -- for the general purpose map viewer
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/viewer/assets/{{ item }}"
dest: "{{ vector_map_path }}/viewer/assets/"
timeout: "{{ download_timeout }}"
with_items:
- bboxes.geojson
- center.png
- countries.json
# - fonts.css
- ol-layerswitcher.css
- ol-contextmenu.css
- pin_drop.png
- sprite@2x.json
- sprite@2x.png
- sprite.json
- sprite.png
- style-cdn.json
- style-osm.json
- style-sat.json
- view_list.png
- name: Force Symlink {{ vector_map_path }}/maplist/assets/bboxes.geojson -> {{ vector_map_path }}/viewer/assets/bboxes.geojson for Admin Console
file:
src: "{{ vector_map_path }}/viewer/assets/bboxes.geojson"
path: "{{ vector_map_path }}/maplist/assets/bboxes.geojson"
state: link
force: yes
- name: Force Symlink {{ vector_map_path }}/maplist/assets/countries.json -> {{ vector_map_path }}/viewer/assets/countries.json for Admin Console
file:
src: "{{ vector_map_path }}/viewer/assets/countries.json"
path: "{{ vector_map_path }}/maplist/assets/countries.json"
state: link
force: yes
- name: Copy noto-sans fonts (15 files) to {{ doc_root }}/common/fonts/ for the general purpose map viewer (root:root, 0644 by default)
copy:
src: "{{ item }}"
dest: "{{ doc_root }}/common/fonts/"
with_fileglob:
- fonts/noto-sans*
- name: Copy fonts.css to {{ vector_map_path }}/viewer/assets/
copy:
src: fonts/fonts.css
dest: "{{ vector_map_path }}/viewer/assets/"
- name: Force Download redirect {{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/viewer/installer-index.redirect to test page {{ vector_map_path }}/maplist/index.html
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/viewer/installer-index.redirect"
dest: "{{ vector_map_path }}/maplist/index.html"
force: yes
timeout: "{{ download_timeout }}"
- name: Copy 6 scripts to /usr/bin, for downloading tiles (0755)
get_url:
url: "{{ osm_repo_url }}/{{ maps_branch }}/osm-source/pages/viewer/scripts/{{ item }}"
dest: /usr/bin/
mode: 0755
timeout: "{{ download_timeout }}"
with_items:
- iiab-install-map-region
- iiab-extend-sat.py
- iiab-summarize.sh
- iiab-maps-finish.py
- iiab-make-init.py
- iiab-update-map
# RECORD OSM Vector Maps AS INSTALLED
- name: "Set 'osm_vector_maps_installed: True'"
set_fact:
osm_vector_maps_installed: True
- name: "Add 'osm_vector_maps_installed: True' to {{ iiab_state_file }}"
lineinfile:
path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml
regexp: '^osm_vector_maps_installed'
line: 'osm_vector_maps_installed: True'