Offline mode
Introduction
You might have security requirements that forces you to run you Bip instance disconnected. In that case you will have to make sure the following are offline:
- Bip server
- Git repositories (for Bip and Content updates)
- Python package repository (used by
pip
for installation and updates)
Bip server
Host your Bip server on a local machine, reachable with a FQDN.
Git repositories
Warning
For now, access to git.blinkink.co.uk is still required for the vendored dependencies: jeanpaulstart
and shotgun_api3
Host a Git repository manager, like Gitea (lightweight), reachable with a FQDN.
- If this server is allowed to access internet, it can simply mirror the official repositories.
- Otherwise, you must clone the repositories and work detached from official.
Python package repository
Bip uses pip
both at install and updates. The best solution for offline is to use pip2pi
to build an offline repository.
Warning
You have to make sure that the repository content matches the requirements.txt
from Bip client, and also includes any api_repository
requested by your activated plugins.
pip2pi
First let's locally create the repository from a machine that has Internet access.
Info
Make sure you run this from Windows, and not Linux, since the wheels for PySide and OpenCV will differ based on the execution platform.
mkdir python-packages
# Copy needed archives
pip2tgz python-packages/ -r /path/to/a/cloned/bip/client/requirements.txt
# Build index
dir2pi python-packages/ --no-symlink # If on Windows, avoid symlinks
# Rename some packages (unsure why it does not work without doing this)
cd python-packages/simple
mv pyside2-5-15-2 pyside2
mv shiboken2-5-15-2 shiboken2
mv pyyaml/PyYAML-5.3.1-cp38-cp38-win_amd64.whl pyyaml/PyYAML-5.3.1-py3-none-any.whl
mv markupsafe/MarkupSafe-2.1.0-cp38-cp38-win_amd64.whl markupsafe/MarkupSafe-2.1.0-py3-none-any.whl
Then edit the index.html
of markupsafe/
and pyyaml/
so they match the new filenames.
Then you can copy this python-packages
to a local http server that will be accessible by any machine that will use Bip.
Danger
file://
does not work well with UNC path. Use a http://
address instead.
Finally, edit the server config by enabling the Offline mode, and setting the Python package repository starting with http://
, https://
or file://
, like file:///C:/location/to/python-packages/simple
or http://local.server/python-packages/simple
.