Expose a mosek license via a nginx server
Project description
Mosek License Server
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 $20$ researchers work on $50$ different strategies. Using local copies of the same license file is a tedious exercise as the file needs to get updated once a year. Rather, each strategy would connect to the server to fetch a license using the mosek_license Python package. Once the strategy expires we only need to update the server. No change for the strategies is required.
License server
Copy your license file into folder
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
Start the nginx server
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
The mosek_license module
Install via
pip install mosek-license-server
and then
import mosek
from mosek_license import license
license.upsert(server="http://localhost:8080/mosek")
Problems
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.
Poetry
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mosek_license_server-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcab480262e53ab987dbf6ee6e95de88a8be044ffd3df9371d4b66c8640db385 |
|
MD5 | 0544da275d6fb1c6177570f36c56a097 |
|
BLAKE2b-256 | 6103210d50ca8f496b3cf96ca86f5b504a352f5492bbfc4ca29aefaa732f8d10 |
Hashes for mosek_license_server-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d44db382ff7b6d396c1047e6bc3b7500d4519128b25ddf12e57b34728ed0f73e |
|
MD5 | 3074e8c98328a44d00652bfa971f27ec |
|
BLAKE2b-256 | ccbbf25a32eabb7d200724cf306b98c03765ddb7687a89d1682e182780969e3e |