Mercurial > gemma
annotate README.md @ 1038:e8ebfbc2aa05
feat: additional surveydata WIP
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Wed, 24 Oct 2018 16:41:51 +0200 |
parents | 76e9296d6191 |
children | f370ce6eab65 |
rev | line source |
---|---|
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
1 # Quick Start |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
2 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
3 ## Build |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
4 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
5 - To build all components of gemma, simply type `make` on the top |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
6 level directory of the repro. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
7 |
1009
76e9296d6191
added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents:
615
diff
changeset
|
8 - To build all components of gemma, with client in demo mode, use `make demo`. |
76e9296d6191
added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents:
615
diff
changeset
|
9 |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
10 - To only (re)build the back end you can use `make gemma`. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
11 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
12 - To only build the SPA-Client you can use `make client`. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
13 |
1009
76e9296d6191
added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents:
615
diff
changeset
|
14 - To only build the SPA-Client in demo mode you can use `make clientdemo`. |
76e9296d6191
added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents:
615
diff
changeset
|
15 |
291
9d6ba97a31d2
Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
272
diff
changeset
|
16 For further details see [docs/DEVELOPMENT](docs/DEVELOPMENT.md), |
9d6ba97a31d2
Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
272
diff
changeset
|
17 |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
18 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
19 ## Setup Database |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
20 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
21 - You will need a PostgreSQL cluster with PostGIS. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
22 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
23 - To install the **gemma** schema and roles use the script |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
24 `./schema/install-db.sh`. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
25 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
26 - `./schema/install-db.sh --help` shows you available options. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
27 Per default the script will create a database named "gemma" and all |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
28 necessary roles in the postgres default cluster (listening on port |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
29 5432). |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
30 |
272
5ee0edc01a18
Small typo fix.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
266
diff
changeset
|
31 - The script must be run as a user with PostgreSQL super user rights. |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
32 By convention this is the "postgres" on most systems. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
33 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
34 |
610
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
35 ## Setup GeoServer |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
36 |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
37 - Install and run GeoServer as described here: |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
38 http://docs.geoserver.org/stable/en/user/installation/ |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
39 |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
40 - Add tables you want to publish as OGC-Service Layers via GeoServer in |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
41 the database. For example publish the bottleneck areas: |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
42 ``` |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
43 INSERT INTO sys_admin.published_services (name, as_wfs) VALUES |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
44 ('waterway.bottlenecks', true); |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
45 ``` |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
46 In case your gemma is already running (see next section), restart it. |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
47 Published WFS services will be available at `/api/internal/wfs`. Currently, |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
48 the same layers will also be available as WMS services at |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
49 `/api/internal/wms`, regardless of the value of `as_wms` in |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
50 `sys_admin.published_services`. |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
51 |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
52 ## Running gemma |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
53 |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
54 - Best is to create a configuration file. Copy the example from |
481
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
55 `example_conf.toml` to get started: |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
56 ``` |
481
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
57 cp example_conf.toml gemma.toml |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
58 ``` |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
59 |
387
0f78b13f4a9a
(minor) Fix typo in README.
Bernhard Reiter <bernhard@intevation.de>
parents:
330
diff
changeset
|
60 - Edit `gemma.toml`, some parameters you probably want to change: |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
61 |
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
62 * `host` and `port` to make gemma listen on a public interface |
481
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
63 * `metamorph-db-password` to match the password for your database user |
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
64 * `geoserver-url`, `geoserver-user` and `geoserver-password` to match |
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
65 your instance of GeoServer |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
66 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
67 - `./cmd/gemma/gemma -h` gives you an overview of more available |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
68 options. |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
69 |
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
70 - Then start gemma: |
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
71 ``` |
479 | 72 ./cmd/gemma/gemma |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
73 ``` |
615
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
74 |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
75 ## Proxying OGC services through gemma |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
76 |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
77 - Add services you want to publish via gemma (e.g. for same-origin policy |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
78 compliance reasons) in the database. For example: |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
79 ``` |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
80 INSERT INTO sys_admin.external_services (local_name, remote_url, is_wfs) |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
81 VALUES ('d4d', 'https://service.d4d-portal.info/wamos/wfs', true); |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
82 ``` |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
83 In case your gemma is already running (see previous section), restart it. |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
84 The services will be available at `/api/external/${local_name}`, thus in |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
85 the example given above: `/api/external/d4d`. |