Mercurial > gemma
annotate README.md @ 1729:74f7d4c531bc
Scheduled imports: Refactored calling of database configured import to be reusable elsewhere.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 09 Jan 2019 13:03:24 +0100 |
parents | 69e0b75c0cc8 |
children | ab08a74ad2f4 |
rev | line source |
---|---|
1262
f370ce6eab65
add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents:
1009
diff
changeset
|
1 # Workingtitle "gemma" |
f370ce6eab65
add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents:
1009
diff
changeset
|
2 |
f370ce6eab65
add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents:
1009
diff
changeset
|
3 //"gemma" is just a temporary title and is likely to be changed.// |
f370ce6eab65
add license info to README.md
Bernhard Reiter <bernhard@intevation.de>
parents:
1009
diff
changeset
|
4 |
1263
00a38b354ab7
improve licening info in README.md
Bernhard Reiter <bernhard@intevation.de>
parents:
1262
diff
changeset
|
5 |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
6 # Quick Start |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
7 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
8 ## Build |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
9 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
10 - 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
|
11 level directory of the repro. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
12 |
1009
76e9296d6191
added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents:
615
diff
changeset
|
13 - 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
|
14 |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
15 - 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
|
16 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
17 - 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
|
18 |
1009
76e9296d6191
added demo mode in READMEs
Markus Kottlaender <markus@intevation.de>
parents:
615
diff
changeset
|
19 - 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
|
20 |
291
9d6ba97a31d2
Moved development infos to separate file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
272
diff
changeset
|
21 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
|
22 |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
23 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
24 ## Setup Database |
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 - 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
|
27 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
28 - 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
|
29 `./schema/install-db.sh`. |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
30 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
31 - `./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
|
32 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
|
33 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
|
34 5432). |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
35 |
272
5ee0edc01a18
Small typo fix.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
266
diff
changeset
|
36 - 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
|
37 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
|
38 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
39 |
610
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
40 ## Setup GeoServer |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
41 |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
42 - 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
|
43 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
|
44 |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
45 - 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
|
46 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
|
47 ``` |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
48 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
|
49 ('waterway.bottlenecks', true); |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
50 ``` |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
51 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
|
52 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
|
53 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
|
54 `/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
|
55 `sys_admin.published_services`. |
f62ee9d5bff1
Document adding of layers to internal OGC services.
Tom Gottfried <tom@intevation.de>
parents:
481
diff
changeset
|
56 |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
57 ## Running gemma |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
58 |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
59 - 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
|
60 `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
|
61 ``` |
481
d68dfbe768e2
Merge example configuration and that used for docker backend
Tom Gottfried <tom@intevation.de>
parents:
479
diff
changeset
|
62 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
|
63 ``` |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
64 |
387
0f78b13f4a9a
(minor) Fix typo in README.
Bernhard Reiter <bernhard@intevation.de>
parents:
330
diff
changeset
|
65 - 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
|
66 |
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
67 * `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
|
68 * `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
|
69 * `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
|
70 your instance of GeoServer |
266
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
71 |
a2f7049daf7f
Added some quickstart information to README.md
Sascha Wilde <wilde@intevation.de>
parents:
206
diff
changeset
|
72 - `./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
|
73 options. |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
74 |
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
75 - Then start gemma: |
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
76 ``` |
479 | 77 ./cmd/gemma/gemma |
330
fd04bccae6ca
Create standard roles as part of the base schema.
Sascha Wilde <wilde@intevation.de>
parents:
291
diff
changeset
|
78 ``` |
615
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 ## Proxying OGC services through gemma |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
81 |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
82 - 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
|
83 compliance reasons) in the database. For example: |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
84 ``` |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
85 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
|
86 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
|
87 ``` |
4ffdb922db44
Document adding of external OGC services.
Tom Gottfried <tom@intevation.de>
parents:
610
diff
changeset
|
88 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
|
89 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
|
90 the example given above: `/api/external/d4d`. |
1390
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
91 |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
92 # License |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
93 |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
94 //gemma// source code itself licenses as Free Software |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
95 under GNU Affero GPL v>=3. See the particular source files |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
96 for details, the license itself can be found in the directory `LICENSES`. |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
97 |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
98 To build a complete product, a number of other Free Software components |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
99 are used, which have their own licenses. |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
100 |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
101 To get an overview about the components which are partly included |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
102 in the resulting production ready-product for the `client/` |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
103 use `yarn licenses`, e.g. like |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
104 |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
105 ```sh |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
106 yarn licenses list | grep '^├─ ' |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
107 ``` |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
108 |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
109 Additionally inspect `3rdpartylibs.sh` for Go components used |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
110 for the middleware and their licenses. |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
111 |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
112 # Credits |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
113 |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
114 Exclusive usage rights |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
115 (we are in Europe, so it is not Common-law's "copyright"): |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
116 via donau – Österreichische Wasserstraßen-Gesellschaft mbH, Austria |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
117 |
69e0b75c0cc8
Moved license and credits sections to end of the readme file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1271
diff
changeset
|
118 Software-Engineering: Intevation GmbH, Germany |