Docker image to manage and serve multiple instances of Cocoda Mapping Tool.
Note: Experimental.
See also the included docker-compose.yml file in this repository.
services:
cocoda:
image: ghcr.io/gbv/cocoda-versions
volumes:
- ./data/cocoda:/www/cocoda
- ./data/configs:/configs
ports:
- 8080:80
environment:
- TAGS=0.2.0 1.0.0 dev
restart: unless-stoppedIn the bind mount ./data/cocoda, the static files of all Cocoda instances will be placed (to prevent rebuilding them every time).
A special tag all can be used to build ALL existing Cocoda versions, plus branches dev and master. This can be used to provide a history of old Cocoda versions.
The HTTP server serves the instances with their names as subpath, i.e. in the above example, branch dev will be availble at http://localhost:8080/dev/. (If USE_SUBPATH is set, the subpath /cocoda/ will be added.)
Starting the HTTP server:
docker compose up -dRun setup to build or update instances:
docker compose exec cocoda bash setup.shYou can also specify custom Cocoda configurations as {instance-name}.json or {instance-name}/cocoda.json in the container's /configs directory. These will be built in addition to the defined TAGS. Custom configurations will use branch master by default; a different branch for a particular instance can be specific inside its configuration file as _branch. If the latter format is used, all other files (except cocoda.json) will be linked into the target build folder (e.g. for logo files). Note that static files given in the configuration folder will overwrite files in the build!
MIT ©2024 Verbundzentrale des GBV (VZG)