Using a nginx image we expose a Mosek license on a server to be accessible from various research machines without sharing the actual license file in the underlying repositories.
This repository serves two purposes. It exposes the server but it is also the home for a little Python package to inject the license into your programs.
We solve a common problem here. Assume
Copy the license file you have received (from Mosek) into the web
folder.
Name it mosek
.
The file should look like
START_LICENSE
VENDOR MOSEKLM
# PSN-4183
FEATURE PTS MOSEKLM 10 31-jan-2024 uncounted ...
# PSN-4182
FEATURE PTON MOSEKLM 10 31-jan-2024 uncounted ...
END_LICENSE
Share the web folder (after you have copied your personal Mosek license into) via
docker run --name mosek -v $PWD/web:/usr/share/nginx/html:ro -p 8080:80 -d nginx
The license will now be exposed via http://localhost:8080/mosek
As an alternative you can run the script
./start_server.sh
Install via
pip install mosek-license-server
and then
import mosek
from mosek_license import license
license.upsert(server="http://localhost:8080/mosek")
In case you experience problems please check:
- the license file is named
mosek
- the license file starts with
START_LICENSE
- the license file ends with
END_LICENSE
- the dates in the license file are still in the future
- the server is running, e.g. docker ps -all (and check for mosek)
- you can download a license file from the server, e.g.
curl <http://localhost:8080/mosek>
works.
- you can run the demo in the demo folder
Still lost? Please open an issue.
We assume you share already the love for Poetry. Once you have installed poetry you can perform
make install
to replicate the virtual environment we have defined in pyproject.toml and locked in poetry.lock.