diff --git a/.env b/.env
new file mode 100644
index 0000000..54cf241
--- /dev/null
+++ b/.env
@@ -0,0 +1,5 @@
+POSTGRES_DB=osm
+POSTGRES_USER=osm
+POSTGRES_PASSWORD=osm
+POSTGRES_HOST=postgres
+POSTGRES_PORT=5432
diff --git a/data.yml b/data.yml
new file mode 100644
index 0000000..adab45d
--- /dev/null
+++ b/data.yml
@@ -0,0 +1,56 @@
+_prefs:
+ disabled: []
+ inspector: false
+ mapid: ''
+ rev: ''
+ saveCenter: true
+attribution: "© OpenStreetMap contributors"
+center:
+ - 8.6627
+ - 47.3872
+ - 0
+description: "Free global vector tiles from OpenStreetMap. http://osm2vectortiles.org"
+Layer:
+ - id: water
+ Datasource:
+ dbname: osm
+ extent: -20037508.34,-20037508.34,20037508.34,20037508.34
+ geometry_field: geom
+ geometry_table: ''
+ host: db
+ key_field: ''
+ key_field_as_attribute: ''
+ max_size: 512
+ password: osm
+ port: 5432
+ srid: ''
+ table: |-
+ ( SELECT *
+ FROM (
+ SELECT * FROM water_z0
+ WHERE z(!scale_denominator!) = 0
+ UNION ALL
+ SELECT * FROM water_z1
+ WHERE z(!scale_denominator!) = 1
+ UNION ALL
+ SELECT * FROM water_z2
+ WHERE z(!scale_denominator!) BETWEEN 2 AND 3
+ UNION ALL
+ SELECT * FROM water_z4
+ WHERE z(!scale_denominator!) = 4
+ UNION ALL
+ SELECT * FROM water_z5
+ WHERE z(!scale_denominator!) = 5
+ ) AS water
+ WHERE geom && !bbox!
+ ) AS data
+ type: postgis
+ user: osm
+ description: Ocean and lake polygons
+ fields: {}
+ properties:
+ "buffer-size": 4
+ srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over
+maxzoom: 14
+minzoom: 0
+name: OSM2VectorTiles v3.0
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..3d5fb70
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,34 @@
+version: '2'
+volumes:
+ pgdata:
+services:
+ postgres:
+ image: "osm2vectortiles/postgis:latest"
+ volumes:
+ - pgdata:/var/lib/postgresql/data
+ ports:
+ - "5432"
+ env_file: .env
+ db-schema:
+ build: "./schema"
+ env_file: .env
+ links:
+ - postgres:postgres
+ import-natural-earth:
+ image: "osm2vectortiles/import-natural-earth"
+ env_file: .env
+ links:
+ - postgres
+ import-water:
+ image: "osm2vectortiles/import-water"
+ env_file: .env
+ links:
+ - postgres
+ mapbox-studio:
+ image: "osm2vectortiles/mapbox-studio"
+ volumes:
+ - ./:/projects/osm2vectortiles.tm2source
+ links:
+ - postgres:db
+ ports:
+ - "3000:3000"
diff --git a/schema/Dockerfile b/schema/Dockerfile
new file mode 100644
index 0000000..363c445
--- /dev/null
+++ b/schema/Dockerfile
@@ -0,0 +1,17 @@
+FROM osm2vectortiles/postgis:latest
+MAINTAINER Lukas Martinelli
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ ca-certificates \
+ wget \
+ && rm -rf /var/lib/apt/lists/*
+
+ENV VT_UTIL_DIR=/opt/postgis-vt-util \
+ VT_UTIL_URL="https://raw.githubusercontent.com/mapbox/postgis-vt-util/v1.0.0/postgis-vt-util.sql"
+
+RUN mkdir -p "$VT_UTIL_DIR" \
+ && wget -P "$VT_UTIL_DIR" --quiet "$VT_UTIL_URL"
+
+COPY . /usr/src/app/
+WORKDIR /usr/src/app
+CMD ["./create_schema.sh"]
diff --git a/schema/create_schema.sh b/schema/create_schema.sh
new file mode 100755
index 0000000..47420cf
--- /dev/null
+++ b/schema/create_schema.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+set -o errexit
+set -o pipefail
+set -o nounset
+
+function exec_psql_file() {
+ local file_name="$1"
+ PGPASSWORD="$POSTGRES_PASSWORD" psql \
+ -v ON_ERROR_STOP="1" \
+ --host="$POSTGRES_HOST" \
+ --port="$POSTGRES_PORT" \
+ --dbname="$POSTGRES_DB" \
+ --username="$POSTGRES_USER" \
+ -f "$file_name"
+}
+
+function main() {
+ exec_psql_file "$VT_UTIL_DIR/postgis-vt-util.sql"
+ exec_psql_file "layers/water.sql"
+}
+
+main
diff --git a/schema/layers/water.sql b/schema/layers/water.sql
new file mode 100644
index 0000000..a25cbfe
--- /dev/null
+++ b/schema/layers/water.sql
@@ -0,0 +1,29 @@
+CREATE OR REPLACE VIEW water_z0 AS (
+ SELECT geom FROM ne_110m_ocean
+ UNION ALL
+ SELECT geom FROM ne_110m_lakes
+);
+
+CREATE OR REPLACE VIEW water_z1 AS (
+ SELECT geom FROM ne_110m_ocean
+ UNION ALL
+ SELECT geom FROM ne_110m_lakes
+);
+
+CREATE OR REPLACE VIEW water_z2 AS (
+ SELECT geom FROM ne_50m_ocean
+ UNION ALL
+ SELECT geom FROM ne_110m_lakes
+);
+
+CREATE OR REPLACE VIEW water_z4 AS (
+ SELECT geom FROM ne_10m_ocean
+ UNION ALL
+ SELECT geom FROM ne_50m_lakes
+);
+
+CREATE OR REPLACE VIEW water_z5 AS (
+ SELECT geom FROM ne_10m_ocean
+ UNION ALL
+ SELECT geom FROM ne_10m_lakes
+);