Enterprise IT
VIKTOR is a low-code application development platform based on Python. This guide outlines the prerequisites to use VIKTOR within an enterprise IT environment.
Device settings
In order to develop applications on the VIKTOR platform the machine of a developer needs to meet the following requirements:
- The machine runs a Windows or Linux operating system.
- Python 3.10 - 3.14 (64-bit) is available or can be installed by the developer.
- A code editor is available or can be installed by the developer.
- The machine has internet access (TCP over port 443, TLS >= v1.2).
Network / proxy settings
The CLI is used to connect local application code (hosted on the machine of the developer) to a cloud-based development environment. This requires an internet connection with network settings specified below.
Domains
The following domains should be accessible on the machine of the developer in order to be able to use VIKTOR.
*.viktor.ai(viktor.aiand all of its subdomains)*.amazonaws.com(all subdomains ofamazonaws.com)
If you want to be more restrictive, it is possible be more selective on the allowed urls, note these domains are subject to change, so we strongly recommend to whitelist all subdomains of viktor.ai & amazonaws.com
viktor.ai & amazonaws.comDo replace <region> with one of eu1 for Frankfurt, ap1 for Australia, eu2 for London, us1 for the US.
Also do <company> with your viktor subdomain (e.g. acme for acme.viktor.ai).
-
addons.viktor.ai(used in environments in Frankfurt) -
addons.<region>.viktor.ai(for the other regions) -
api-<company>.viktor.ai(still used but deprecated, for environments in Frankfurt) -
api-<company>.<region>.viktor.ai(still used but deprecated, for environments in other regions) -
cloud.viktor.ai -
community.viktor.ai -
<company>.viktor.ai(for environments in Frankfurt, for example acme.viktor.ai) -
<company>.<region>.viktor.ai(for environments in other regions, for example acme.eu2.viktor.ai) -
connect.viktor.ai(deprecated, used in some environments in Frankfurt) -
connect.<region>.viktor.ai -
developers.viktor.ai(for environments in Frankfurt) -
developers.<region>.viktor.ai(for environments in other regions) -
docs.viktor.ai -
errors.viktor.ai -
sys.viktor.ai(for environments in Frankfurt) -
sys.<region>.viktor.ai(for environments in other regions) -
viktor.ai -
viktor-storage.s3.amazonaws.com(still used but deprecated, for environments in Frankfurt) -
viktor-storage-<region>.s3.amazonaws.com -
viktor-system.s3.amazonaws.com
Furthermore, installation of third-party Python packages requires access to:
files.pythonhosted.orgpypi.orgpypi.python.org
SSL certificates
If a proxy is configured in such a way that the SSL certification chain is modified by replacing the root CA's certificate by a self-signed certificate, the developer may run into SSL cert verification errors while either installing or running an app locally:
errors while installing the app
The VIKTOR CLI installs apps with pip and uv (Python package managers). Whether they trust the certificate of the proxy depends on the selected isolation mode:
- Virtual environment (venv)
- Docker
pip and uv use the system certificate store of your computer, so installing works once your organization has added its root certificate to this store.
With Python versions older than 3.12.5, the first installation of an app can still fail with an SSL error, because the pip version that comes with Python may not use the system certificate store yet. In that case, install the app once with the root certificate of your organization. On Windows, you first need to export this certificate to a file:
- In the start menu, type "Manage user certificates" and open it.
- Go to Trusted Root Certification Authorities > Certificates and find the root certificate of your organization (ask your IT department which one).
- Right-click the certificate, choose All Tasks > Export..., select Base-64 encoded X.509 (.CER) and save
it, e.g. as
C:\certificates\organization-ca.cer.
Then run the installation with the path to the certificate:
viktor-cli install --env PIP_CERT=C:\certificates\organization-ca.cer
On Linux, use the path to the certificate file (in PEM format) instead, e.g. in /usr/local/share/ca-certificates/.
Later installations of the app no longer need PIP_CERT, unless its venv folder is removed.
Docker containers do not use the system certificate store of your computer. Save the root certificate of your organization in the app folder (on Windows, export it as described in the venv tab), and pass it to pip and uv on every installation:
viktor-cli install --env PIP_CERT=/usr/src/app/organization-ca.cer --env SSL_CERT_FILE=/usr/src/app/organization-ca.cer
To keep the certificate out of your published app, add it to the .viktorignore file.
Alternatively, use the venv isolation mode, which you can select with the command viktor-cli configure.
errors while running the app
By default Python's requests package does not use the system certificate store, but uses a bundled CA certificate store
to establish secure connections. Because the certificate of the proxy is not present in the bundled CA certificate store an
error will occur. VIKTOR automatically mounts the system certificates when making requests since SDK version v14.15.2.
Therefore, the easiest solution is to develop apps using this version or higher.