This repository contains the source code for the ProvideQ Toolbox server. A web-based user interface can be found in our ProvideQ/ProvideQ repository.
java -version
)python scripts/install-python-dependencies.py
pip install -r requirements.txt
on all requirement.txt files in the /solvers directory.solvers/lkh/bin
, replace the binary that matches your OS.
rustup install nightly-2023-07-01
rustup default nightly-2023-07-01(... specific version name on machine)
cargo build
solvers/berger-vrp/bin
, replace the binary that matches your OS.conda create --name gams python=3.10 --yes
conda activate gams
.GMSPYTHONLIB=<path-to-conda>/envs/gams/lib/libpython3.10.so
environment variable.pip install gams[core,connect] --find-links <path-to-gams>/api/python/bdist
psycopg2
, try to install these postgres packages:
sudo apt-get install postgresql libpq-dev
and run the pip install ...
command againpip install -r gams/requirements.txt
./gradlew bootRun
This repository is designed to be deployed with Dokku, but you can also run
the Java application directly or inside a docker container (Dockerfile
is included!).
The docker container can be built and run as follows:
# we assume that you have a gamslice.txt file in this directory containing a valid GAMS license (typically 6 lines)
docker build --tag provideq-toolbox-backend --build-arg GAMS_LICENSE=$(base64 --wrap=0 ./gamslice.txt) .
docker run --publish 8080:5000 provideq-toolbox-backend
git checkout -b release/x.y.z
.build.gradle
file to the new version number and commit it to the release branch.main
.main
) and the next one (your release branch).x.y.z
and use the changelog as the description.git checkout main && git pull
),
merge it into the develop branch (git checkout develop && git pull && git merge main
)
and push it (git push
).We're using GitHub Actions to automate the execution of our validation tools and the deployment of our software. To use this, enable GitHub Actions and configure the following secrets in the GitHub repository settings:
GAMS_LICENSE
:
gamslice.txt
file.
A free demo or community license should be sufficient.base64 --wrap=0 ./gamslice.txt
GAMS_LICENSE
secret in your GitHub repository.DOKKU_SERVER_ADDRESS
:
Set the DOKKU_SERVER_ADDRESS
secret to the address of your server.
Tip: If you use an IP address, the IP address will be obfuscated in the Actions logs. Counterintuitively, using a domain name as an address might leak your IP address due to SSH address resolution logs.
DOKKU_DEPLOYMENT_KEY
:
toolbox-frontend
, toolbox-backend
, toolbox-frontend-staging
and
toolbox-backend-staging
apps.DOKKU_DEPLOYMENT_KEY
to the private key generated in step i.Copyright (c) 2022 - 2023 ProvideQ
This project is available under the MIT License.