mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 10:52:22 +00:00
Add private registry accounts to OCI manager Apps
This commit is contained in:
@@ -10,6 +10,7 @@ This document describes the engine in this directory: how it is organised, how a
|
||||
- [Structure](#structure)
|
||||
- [How a container is created](#how-a-container-is-created)
|
||||
- [Update, modify, recreate and remove](#update-modify-recreate-and-remove)
|
||||
- [Private image registries](#private-image-registries)
|
||||
- [From a Compose file or a docker run command to an oci-compose](#from-a-compose-file-or-a-docker-run-command-to-an-oci-compose)
|
||||
- [The oci-compose, block by block](#the-oci-compose-block-by-block)
|
||||
- [Writing and testing an oci-compose](#writing-and-testing-an-oci-compose)
|
||||
@@ -60,6 +61,39 @@ There are three places an oci-compose comes from:
|
||||
|
||||
On a node, the engine is installed in `/usr/local/share/proxmenux/oci/engine/`. Every installation keeps its record in `/usr/local/share/proxmenux/oci/instances/<VMID>/oci-compose.json`: the oci-compose it was installed from, under `template`, together with the answers given during the installation and the configuration Proxmox VE ended with. Updates, changes and removals read that record.
|
||||
|
||||
## Private image registries
|
||||
|
||||
Open **OCI manager Apps → Registry accounts** on the Proxmox node. Sign in
|
||||
with a registry hostname (for example `ghcr.io` or `registry.example.com:5443`),
|
||||
a username and a password or token with image pull permission. Passwords are
|
||||
entered in hidden fields and confirmed before the registry is contacted.
|
||||
|
||||
Select a saved account to check access to an image, download it to template
|
||||
storage, install it with the existing LXC wizard, update its credentials or
|
||||
remove them. Image references retain their tag or full `sha256` digest.
|
||||
The normal custom-image importer can also use the saved credentials, including
|
||||
Compose files whose services come from private registries.
|
||||
|
||||
Skopeo stores credentials in `/root/.config/containers/auth.json` by default.
|
||||
`REGISTRY_AUTH_FILE` and `XDG_CONFIG_HOME` overrides are respected. The
|
||||
credential directory must be owned by root with mode `700`, and the file with
|
||||
mode `600`. Basic credentials are base64 encoded, not encrypted. Configured
|
||||
Skopeo credential helpers use their own stores. Failed sign-in attempts leave
|
||||
the previous file credentials intact; removing an account leaves running
|
||||
applications unchanged. Other Skopeo/Docker authentication files are managed
|
||||
separately and may still grant access.
|
||||
|
||||
TLS verification remains enabled. Install a private registry CA in
|
||||
`/etc/containers/certs.d/REGISTRY[:PORT]/ca.crt` when required. Configure accounts
|
||||
on each node that pulls images; registry credentials are not written into the
|
||||
application template or copied into its LXC.
|
||||
|
||||
Image access checks have a 30-second timeout per request; sign-in has a 45-second
|
||||
timeout. Errors identify rejected credentials, missing images, incompatible
|
||||
architectures, network/TLS failures, rate limits and registry outages. Downloads
|
||||
reuse the native update cache and layer integrity checks. Damaged cached images
|
||||
are downloaded again, and storage failures leave existing applications alone.
|
||||
|
||||
## How a container is created
|
||||
|
||||
Selecting an application, or giving a definition, opens the same sequence.
|
||||
|
||||
Reference in New Issue
Block a user