feat: Support fully air-gapped installation and first run #100
adrianweidig
started this conversation in
Ideas
Replies: 2 comments
-
|
🔍 Related Issues Found I found some existing issues that might be related. Please check if any of these are duplicates or contain helpful solutions:
💡 If your issue is a duplicate, please close it and add any additional details to the existing issue instead. This comment was generated automatically. React with 👍 if helpful, 👎 if not. |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Should be addressed with the latest! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Feature request: Support fully air-gapped installation and first run
Summary
Please add first-class support for running Open WebUI Computer (
cptr) in fully air-gapped environments.Currently,
cptrcan be used offline only after it has already been installed, built, or started once in an internet-connected environment. For secure, regulated, enterprise, government, lab, and isolated development environments, this is a major deployment blocker.The expected behavior is that an operator can download release artifacts in a connected environment, transfer them into an offline environment, and install/start
cptrwithout any network access, dependency resolution, package-manager downloads, registry access, or update checks.Why this matters
Air-gapped users cannot rely on:
uvxresolving packages on first runFor these environments, the base product must be installable and startable with zero outbound network access.
Current situation
The documented install paths currently rely on online package resolution:
Optional features require additional installs:
The README also documents:
This is convenient for normal users, but it is not suitable for air-gapped deployments because the first invocation may resolve/download packages.
The Docker build path also depends on external package sources during build:
npm cifor frontend dependenciesuv buildapt-get installuv pip install "$wheel[all]"This makes the image build itself unsuitable inside an offline environment unless all upstream package sources have already been mirrored or cached.
Requested behavior
Please provide an officially supported air-gapped deployment path.
At minimum, users should be able to do the following:
In an internet-connected environment:
cptrrelease bundle.Transfer the artifacts into an offline environment.
In the offline environment:
cptrwithout contacting PyPI.cptrwithout contacting PyPI, npm, apt, GitHub, or any other public endpoint.Proposed artifacts
It would be very helpful if each release included:
1. Offline Python bundle
A platform-specific wheelhouse, for example:
The offline installation should work with something like:
No package should be downloaded during that process.
2. Offline OCI image artifact
Publish or attach a prebuilt image archive that can be transferred directly:
This should start successfully without any outbound network access.
3. Checksums and SBOM
Please provide:
This is important for controlled environments where artifacts need to be reviewed before import.
Offline mode
A dedicated offline mode would make this much safer and more predictable:
or:
In offline mode,
cptrshould not attempt:Optional online features should remain available when explicitly configured, but the default air-gapped startup path should be quiet and deterministic.
Optional dependencies
For true air-gapped usage, optional features need a clear policy:
cptr[all].pip install ...without also explaining the offline installation path.For example, document extraction currently has lazy optional imports for additional file types. In an air-gapped environment, users cannot resolve those interactively after startup. Those dependencies should either be included in the full offline bundle or clearly documented as unavailable unless pre-bundled.
Acceptance criteria
cptrfrom release artifacts usingpip --no-index.--network=none./api/healthworks offline.Suggested CI test
Add a release smoke test similar to:
Then verify:
For Python artifacts, test:
No network access should be required at any step after artifacts have been transferred.
Expected result
Open WebUI Computer should be deployable in a fully disconnected environment as a self-contained workstation UI. Internet-dependent features can remain optional, but installation, startup, core UI, local filesystem access, terminal, editor, git, workspaces, and local model/provider usage should not require an internet-connected first run.
Beta Was this translation helpful? Give feedback.
All reactions