Date: Fri, 29 Mar 2024 08:36:26 -0500 (CDT) Message-ID: <1515739737.398.1711719386533@os-confluence.ncsa.illinois.edu> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_397_781304919.1711719386533" ------=_Part_397_781304919.1711719386533 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Clowder consists of many pieces of software working together. St= arting a new instance of clowder can be complex, especially to get all the = pieces to work together. We highly recommend for users to use docker = to get started. In docker all the components needed are packaged as contain= ers. A container image is a lightweight, stand-alone, executable package of= a piece of software that includes everything needed to run it: code, runti= me, system tools, system libraries, settings. Using the containers makes it= easier for the user to get started since all the software needed to run a = piece is part of the container, no need to install libraries or additional = software. To control the orchestration between these containers we leverage= of docker compose. This will start the containers in the right order and m= akes sure the containers can talk with each other.
You will need to have docker installed on your machine. You can find mor= e information on how to get docker installed at: https://do= cs.docker.com/install/
You will also need to install docker-compose, this will be installed as = part of docker on the Mac and Windows, for linux this is a separate install= , see https://docs.docker.com/compose/install/<= /p>
First download the clowder docker-compose file, https://github.com/clowder-framework/clowder/= blob/master/docker-compose.yml. This file should allow you to get a com= plete docker environment up and running, including some extractors (audio, = video, image, pdf). You do not need to make any changes to the docker-compo= se file, if you want to secure the system more, you can disable the ports u= sed for rabbitmq, mongo and elasticsearch. We have left them open for devel= opers but they will be mapped to random ports (see docker tips). The o= nly port that needs to be mapped is port 9000 of clowder, which in the dock= er-compose file is mapped to port 9000 in the docker machine.
To start clowder you can run docker-compose up. This will show all the l= og files of clowder, if you want to run this in the background you can use = docker-compose up -d. After about 1 minute clowder should be up and running= and you can connect to the clowder instance at http://localhost:9000= / (assuming you run it on your local machine).
When starting clowder using docker-compose you will see an error "WARNIN= G: Some services (....) use the 'deploy' key, which will be ignored. Compos= e does not support 'deploy' configuration - use `docker stack deploy` to de= ploy to a swarm." You can safely ignore this error, the docker-compose file= can also be used to deploy clowder in a docker swarm or using later versio= ns of docker in kubernetes (this however has not been tested).
The docker-compose file uses named volumes in docker. You can either cre= ate these volumes before you run docker-compose the first time, or you can = use the volumes created by docker-compose. The volumes will need to be name= d the same way as the containers (see docker tips). When restarting docker = will reuse these volumes making the data persistent across runs.
At this point you can create an account using the signup link. You will = need to provide an email address when you sign up, this will be your accoun= t name. The docker system is not setup to send emails, you can see the emai= l that would be send in the log files of clowder (see docker tips). I= n the logfiles you will see a line with "application - MOCK MAILER: send em= ail", followed by some more text, and a link (usually something like <= a class=3D"external-link" href=3D"http://localhost:9000/signup/large_random= _string)." rel=3D"nofollow">http://localhost:9000/signup/large_random_strin= g). If you copy paste this link in your browser you can create a n= ew account. To create an account that has administrators rights you can by = default use the admin@example.com email address.
There are many configuration values that you can override, for example t= he default admin email address. To do this you will need to edit the custom= .conf file used by clowder. This file is located in the clowder-custom volu= me. You can either change the content of this folder directly (use doc= ker volume inspect clowder_clowder_1 to find the actual location on disk), = or you can exec into the running docker container (docker exec -ti clowder_= clowder_1 /bin/bash) and goto the folder /home/clowder/custom. You can edit= the custom.conf file to fit your needs. Once you finish making the changes= you can exit the container using exit, this will not stop the container. Y= ou will need to restart the clowder container, which can be done using = ;docker restart clowder_clowder_1.
Another way is to make any changes before you start the full stack. You = can run just the clowder instance and make changes using: `docker-compose r= un --no-deps clowder /bin/bash` this will start just the clowder container = and give you a bash prompt. You can make changes to the custom.conf and pla= y.plugins and exit. If you now start the full stack it will use these updat= ed changes when starting clowder.
A list of all values that can be changed can be found at https://github.com/clowder-framew= ork/clowder/blob/master/conf/application.conf.
When starting clowder using docker-compose up, the containers will be na= med <folder name>_<service>_1, for example if you download the = docker-compose file in your clowder folder, the clowder container will be c= alled clowder_clowder_1.
You can see a list of all docker containers that are running as part of = the docker compose file using docker-compose ps, this will also show any po= rt mappings that are done, allowing you to see what ports for example are u= sed for rabbitmq.
To see the logfiles for a specific container, especially useful if you s= tarted docker-compose up -d, you can use docker logs <container name>= , for example to see the log files for clowder you can use docker logs -f c= lowder_clowder_1 (this will follow the log file, to stop this you need to p= ress ctrl -c).
To see the volumes and the actual location on disk you can use docker vo= lume ls, as well as docker volume inspect. Both windows and mac will use a = virtual machine, so the volumes will be located in that virtual machine.
If you run clowder using docker-compose up, you will have all the log fi= les in the console where you started clowder. If you use docker-compose up = -d, all containers will run in the background. You can