Project

General

Profile

TileServer » History » Version 1

Philippe May, 12/10/2018 15:50

1 1 Philippe May
h1.  TileServer 
2 1 Philippe May
3 1 Philippe May
4 1 Philippe May
"TileServer-gl":https://github.com/klokantech/tileserver-gl is a small node application that can serve vector tiles (mbtiles) for mapbox without the need for an external provider.
5 1 Philippe May
6 1 Philippe May
The maps Gisaf base layers (the definition file being located in @gisaf-app/src/app/map/base_styles.ts@) in can be parametered such that a base layer is hosted locally (see the gisaf config file).
7 1 Philippe May
8 1 Philippe May
h2. Install tileserver-gl-light
9 1 Philippe May
10 1 Philippe May
Unfortunately, it requires a much older version of node (6.x).
11 1 Philippe May
12 1 Philippe May
<pre>
13 1 Philippe May
yarn global add tileserver-gl-light
14 1 Philippe May
</pre>
15 1 Philippe May
16 1 Philippe May
17 1 Philippe May
h2. Download the mbtiles
18 1 Philippe May
19 1 Philippe May
From: https://openmaptiles.com/downloads/planet/ , and store the relevant one on the server's filesystem (eg. @/usr/local/2017-07-03_asia_india.mbtiles@)
20 1 Philippe May
21 1 Philippe May
h2. Service
22 1 Philippe May
23 1 Philippe May
A systemd service configuration file, in @/etc/systemd/system/tileserver-gl-light.service@:
24 1 Philippe May
25 1 Philippe May
<pre>
26 1 Philippe May
[Service]
27 1 Philippe May
ExecStart=/usr/bin/node /usr/lib/node_modules/tileserver-gl-light/src/main.js --cors true -c /etc/tileserver/conf.json
28 1 Philippe May
Restart=always
29 1 Philippe May
User=www-data
30 1 Philippe May
Group=www-data
31 1 Philippe May
Environment=NODE_ENV=production
32 1 Philippe May
33 1 Philippe May
[Install]
34 1 Philippe May
WantedBy=multi-user.target
35 1 Philippe May
</pre>
36 1 Philippe May
37 1 Philippe May
h2. Configuration
38 1 Philippe May
39 1 Philippe May
Eg, in @/etc/tileserver/conf.json@:
40 1 Philippe May
41 1 Philippe May
<pre>
42 1 Philippe May
{
43 1 Philippe May
  "options": {
44 1 Philippe May
    "paths": {
45 1 Philippe May
      "root": "",
46 1 Philippe May
      "sprites": "/usr/lib/node_modules/tileserver-gl-light/node_modules/tileserver-gl-styles/styles/osm-bright"
47 1 Philippe May
    },
48 1 Philippe May
    "domains": [
49 1 Philippe May
      "gis.auroville.org.in"
50 1 Philippe May
    ],
51 1 Philippe May
    "styles": {}
52 1 Philippe May
  },
53 1 Philippe May
  "data": {
54 1 Philippe May
    "india-vector": {
55 1 Philippe May
      "mbtiles": "/usr/local/2017-07-03_asia_india.mbtiles"
56 1 Philippe May
    }
57 1 Philippe May
  }
58 1 Philippe May
}
59 1 Philippe May
</pre>
60 1 Philippe May
61 1 Philippe May
h2. Run the service
62 1 Philippe May
63 1 Philippe May
<pre>
64 1 Philippe May
systemctl enable --now tileserver-gl-light.service
65 1 Philippe May
</pre>
66 1 Philippe May
67 1 Philippe May
h4. nginx proxy
68 1 Philippe May
69 1 Philippe May
In order the mbtiles to be served by tileserver, add in the nginx conf (adjust eventually):
70 1 Philippe May
71 1 Philippe May
<pre>
72 1 Philippe May
    location /tiles/ {
73 1 Philippe May
        proxy_pass http://127.0.0.1:8080/;
74 1 Philippe May
    }
75 1 Philippe May
</pre>