We provide two different containerized Wildbooks using Docker. Unless you are setting up a production instance of Wildbook, use the Development Docker option.
All support materials are found in the devops/development/
subdirectory. This launches docker containers sufficient for you to deploy a wildbook.war
file which you have developed via your own Java environment.
.env
file.You need the following installed on your system:
default-jdk
build-essential
maven
npm
node
(minimum version: 18)docker-compose
sudo sysctl -w vm.max_map_count=262144
(A requirement for OpenSearch, it only needs to be run once on your system.)npm install react-app-rewired
git clone
the Wildbook repo (referred to as the code directory going forward)devops/development/
, create a .env
file with a copy the contents of _env.template
. By default, no changes should be needed.cd
to the root of the code directorynpm install
chmod +x .husky/pre-commit
to enable husky lintingcd /frontend
npm install
to install all dependencies.env
for React environment variables.
PUBLIC_URL= /react/
SITE_NAME=My Local Wildbook
WILDBOOK_BASE_DIR
in the .env file. The default is ~/wildbook-dev/
)wildbook-dev
|--logs
|--webapps
|--wildbook
To run Wildbook in the development docker environment, even to try out the software, you need a “war file” which is made by compiling the Wildbook java project.
To create the war file:
cd
to the root of the code directorymvn clean install
target/wildbook-X.Y.Z.war
(where X.Y.Z is the current version number).cd ~/wildbook-dev/webapps/wildbook
jar -xvf /code/directory/Wildbook/target/wildbook-X.Y.Z.war
cd
to the devops/development
directory in the code repodocker-compose up [-d]
http://localhost:81/
when tomcat has started. Default login of username/password tomcat
/tomcat123
should work.Note: if you’re running docker as root, you may way to explicitly set your deploy directory path to include your user, i.e., WILDBOOK_BASE_DIR=~USER/wildbook-dev
If you make code changes and want to test them locally, you can create and deploy a new war file using the Build war file and Deploy instructions above. Then use docker-compose restart wildbook
to test your changes.
Note: If you are only making changes to the React frontend code, see the frontend/README.md for a way to rebuild and deploy the frontend changes only.
This image and all support materials are found in the deploy/
subdirectory. Run Wildbook and required docker images for production installations only.
THIS IS CURRENTLY UNDER DEVELOPMENT - DRAFT ONLY
This launches an instance of Wildbook for the sake of testing or using in production. It can be used to deploy on a VM/host on the internet or locally.
The following docker containers should launch if started with docker-compose [-d] up
. Some of these are “optional” as noted below.
To skip optional containers, you should launch explicitly including the ones you want, such as: docker-compose up db wildbook
.
Currently, nginx is not configured to support ssl/https certs. There are some notes in the nginx conf about potential solutions.
_env.template
to .env
and edit this new file with your own valuesdocker-compose up ....
If you want to run Wildbook on non-dockerized tomcat, the system will likely build, but functionality will be restricted (i.e., search will not work) and additional functionality will likely break as we continue modernizing the stack. That being said, good luck!