diff --git a/README_SETUP.md b/README_SETUP.md index 2b7f05e9055660f6f3efa0d4f0d1527d7df029d3..824ab74dd80ad100a736689fb8b20dbfaab25a56 100644 --- a/README_SETUP.md +++ b/README_SETUP.md @@ -18,16 +18,21 @@ container: sudo usermod -aG docker $USER ``` +It is recommended that you clone this repository such that you have the +example configuration files at hand. + ## Start CaosDB ## Once you have docker installed, you only need two configuration files: One for the reverse proxy envoy `envoy.yml` and one that defines the docker containers that -you want to use and how they can interact `docker-compose.yml`. You can copy the +you want to use and how they can interact `docker-compose.yml`. If you did not +clone this repository before, you can copy the `compose` folder of this repository to your computer and then run ```sh docker-compose -f compose/docker-compose.yml up ``` +This will download the images that are used which may take a couple of minutes. Once the logs read ``` @@ -62,6 +67,14 @@ The buildkit setting allows the usage of some special features in the `Dockerfil The image will be named `caosdb`. +### Versions of CaosDB components +If you want to build an image with specific versions of the various CaosDB +components, you can do so by using `--build-arg` options. +For example `--build-arg MYSQLBACKEND=v4.0.0` will change the version of the +sql backend. + +The following arguments are available: `MYSQLBACKEND SERVER WEBUI PYLIB ADVANCEDUSERTOOLS`. + ## SSL Certificates If you want to use SSL certificates (and in production use, you definitely should) you need to uncomment the respective sections in `envoy.yml` and `docker-compose.yml`. @@ -77,17 +90,21 @@ to how to configure this correctly. ## Configuration ### The CaosDB server +You can include alternative configuration settings for the CaosDB server. +Please see the [server documentation](https://docs.indiscale.com/caosdb-server/administration/configuration.html). -TODO: Short reference as to where to specify server config; remainder in docs.indiscale.com +It is recommended to add settings in files in the `server.conf.d` folder. E.g. +`caosdb-server/conf/ext/server.conf.d/50-example.conf` -### "extroot" +Uncomment the corresponding section in the `docker-compose.yml` -TODO: Explain the meaning of the commented "path/to/other" section +### Including large data folders +Often users do not want to copy all files into CaosDB but instead want to make +whole filesystems available to the CaosDB server. This can be achieved by mounting +the corresponding filesystem into the container. You can do this by uncommenting +the volume section that bind mounts some path (that you must set) to `.../extroot`. -### Versions of CaosDB components -TODO: Do we even want to explain this? If yes, explain how to set the variables -to use, e.g., the dev branch. ### Bind IP If you want your server to be accessible from other computers, you need to change diff --git a/caosdb-server/conf/ext/server.conf.d/50-example.conf b/caosdb-server/conf/ext/server.conf.d/50-example.conf new file mode 100644 index 0000000000000000000000000000000000000000..db6aa3b6a90ddca795fa97d6cd1fcae6f45512e8 --- /dev/null +++ b/caosdb-server/conf/ext/server.conf.d/50-example.conf @@ -0,0 +1,2 @@ + +#CONTEXT_ROOT=/caosdb diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml index ffe9bb95000fe378c6819cf10b7259e01f01f0a2..88e9ef19433e2d8cf8fd6ba50a71d26c5482b19d 100644 --- a/compose/docker-compose.yml +++ b/compose/docker-compose.yml @@ -42,8 +42,12 @@ services: target: /opt/caosdb/mnt/caosroot # - type: bind # read_only: true - # source: "/path/to/other" - # target: /opt/caosdb/mnt/other + # source: $PWD/caosdb-server/ + # target: /opt/caosdb/mnt/caosdb-server + # - type: bind + # read_only: true + # source: /path/to/external/root/ + # target: /opt/caosdb/mnt/extroot envoy: image: envoyproxy/envoy:v1.21-latest