annotate docker/docker-compose.yml @ 9779:3847836c60b5 3.2.x

Improve backend build for different database backends Use profiles instead of multiple almost identical POMs. Introduce build-time argument for Docker build.
author Tom Gottfried <tom@intevation.de>
date Tue, 07 Feb 2023 16:11:43 +0100
parents b5d4cb088737
children a1399209b0d6
rev   line source
9720
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
1 version: "3.5"
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
2 services:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
3 db:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
4 container_name: "d4eriver-db"
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
5 build:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
6 context: ../
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
7 dockerfile: ./docker/Dockerfile.db
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
8 image: "d4e/river_db"
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
9 networks:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
10 - d4e_river
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
11 server:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
12 container_name: "d4eriver-artifacts"
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
13 build:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
14 context: ../
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
15 dockerfile: ./docker/Dockerfile.artifacts
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
16 image: "d4e/river_artifacts"
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
17 networks:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
18 - d4e_river
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
19 depends_on:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
20 - db
9734
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
21 volumes:
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
22 - ../artifacts/doc/conf:/opt/d4e/bin/conf
9751
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9749
diff changeset
23 - artifacts-data:/opt/d4e/bin/artifacts-data
9764
b5d4cb088737 Add named volume for DEM data
Tom Gottfried <tom@intevation.de>
parents: 9760
diff changeset
24 - dgm-data:/opt/d4e-river/dgm
9760
9bbb29142ddb Give hints for remote debugging artifact server
Tom Gottfried <tom@intevation.de>
parents: 9755
diff changeset
25 # Uncomment to enable remote debugging from anywhere (caution: security risk!)
9bbb29142ddb Give hints for remote debugging artifact server
Tom Gottfried <tom@intevation.de>
parents: 9755
diff changeset
26 # environment:
9bbb29142ddb Give hints for remote debugging artifact server
Tom Gottfried <tom@intevation.de>
parents: 9755
diff changeset
27 # - JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8787
9bbb29142ddb Give hints for remote debugging artifact server
Tom Gottfried <tom@intevation.de>
parents: 9755
diff changeset
28 # ports:
9bbb29142ddb Give hints for remote debugging artifact server
Tom Gottfried <tom@intevation.de>
parents: 9755
diff changeset
29 # - 8787:8787
9734
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
30 mapserv:
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
31 container_name: "d4eriver-mapserv"
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
32 build:
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
33 context: ./
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
34 dockerfile: ./Dockerfile.mapserv
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
35 image: "d4e/river_mapserv"
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
36 networks:
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
37 - d4e_river
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
38 depends_on:
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
39 - db
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
40 - server
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
41 volumes:
9749
68c6fe74a276 Allow changing CGI scripts without re-building
Tom Gottfried <tom@intevation.de>
parents: 9748
diff changeset
42 - ./mapserver/cgi-bin:/var/www/cgi-bin
9751
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9749
diff changeset
43 - ../artifacts/doc/conf/mapserver:/opt/d4e/bin/conf/mapserver
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9749
diff changeset
44 - artifacts-data:/opt/d4e/bin/artifacts-data
9720
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
45 client:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
46 container_name: "d4eriver-client"
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
47 build:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
48 context: ../
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
49 dockerfile: ./docker/Dockerfile.gwt-client
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
50 image: "d4e/river_client"
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
51 networks:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
52 - d4e_river
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
53 depends_on:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
54 - server
9734
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
55 - mapserv
9720
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
56 volumes:
9747
cfc0aab9947f Enable bind-mounting client configuration in docker container
Tom Gottfried <tom@intevation.de>
parents: 9740
diff changeset
57 - ../gwt-client/config:/opt/d4e/river/gwt-client/config
9754
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
58 wiki:
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
59 container_name: "d4eriver-wiki"
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
60 build:
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
61 context: ./
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
62 dockerfile: ./Dockerfile.wiki
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
63 image: "d4e/river_wiki"
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
64 networks:
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
65 - d4e_river
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
66 depends_on:
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
67 - client
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
68 volumes:
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
69 - wiki-data:/opt/wiki/moin-1.9.9/wiki/data
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
70 - ./wikiconfig_local.py:/opt/wiki/moin-1.9.9/wikiconfig_local.py
9720
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
71 ports:
9754
cd07130ded8d Route GWT client through wiki container
Tom Gottfried <tom@intevation.de>
parents: 9751
diff changeset
72 - 8080:80
9720
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
73 networks:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
74 d4e_river:
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
75 name: d4e_river
9734
95496d21b4da Add MapServer to Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9720
diff changeset
76 volumes:
9751
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9749
diff changeset
77 artifacts-data:
9764
b5d4cb088737 Add named volume for DEM data
Tom Gottfried <tom@intevation.de>
parents: 9760
diff changeset
78 dgm-data:
9740
8abcb3cdaff1 Persist wiki data in volume
Tom Gottfried <tom@intevation.de>
parents: 9739
diff changeset
79 wiki-data:

http://dive4elements.wald.intevation.org