Self-hosted Registry
Sync your Minimus images to your private registry
This feature is available for organizational accounts. Learn more
You can set up Minimus images to sync with your organization’s private registry. This is relevant if you have an air gapped environment or if regulations and standards require your team to store all your images in a private registry.
With self-hosting configured, your team will be able to pull Minimus images directly from your organization’s private registry.
Images included
The sync service covers only Minimus images included in your subscription. For every image type (as in Node, Python, etc.), the sync will include all versions available on Minimus.
Online vs. air-gapped registries
The sync process will depend on whether your private registry can connect directly with the Minimus registry or not.
- If your registry is online and supports external connections, you can fully automate the sync service using a scheduled cron job. See networking requirements to make sure your firewall is configured correctly. Once you set up the service, it will run automatically and keep your private registry up to date.
- If your registry is air-gapped (aka offline), the service will involve a manual step to upload the images. See the details below.
Registry Connectivity | External Connectivity | Automation | Frequency | Time investment |
---|---|---|---|---|
Online registry | Supported | Fully supported using cron job scheduling | Daily using cron job scheduling | One time set up |
Air-gapped registry | Not supported | Partially supported using cron job scheduling | Varies (depends on the organization) | Repeated manual effort involved |
Tracking image updates
You can set up actions to receive important security updates. This is particularly recommended if your team pulls images from a private registry, and are less likely to follow updates in the Minimus gallery.
We recommend that you continue to visit the Minimus gallery regularly to receive updates and helpful information about image versions, advisories, and vulnerability fixes.
Set up self-hosting to an online private registry
Before you begin, install Skopeo on the target host. Installation instructions
Note: Required Skopeo version is 1.12 or higher
-
From the left menu, select Manage > Self-hosting. (Or use this direct link.)
-
Is your registry online or air-gapped? Select the option: Registry with internet connectivity.
A form with 3 parts will appear: destination details, sync images, set up automation.
-
Fill in the destination details:
- Specify your registry URL
- How will you authenticate to the registry? Decide between username & password and a certificate file.
- If you selected username & password, provide them.
- If you selected a certificate file, specify the file path. You can skip this step if the path matches one of the defaults:
${XDG_RUNTIME_DIR}/containers/auth.json
$HOME/.docker/config.json
- Save your inputs.
-
Fill in the form to sync the images:
-
Download the provided YAML file and save it on the host where Skopeo is installed.
-
(Optional) Specify the path to the YAML file to update the placeholder in the following code snippet.
-
Run the provided sync command. Copy the provided code snippet and run it on your target host. Example code:
-
Click next to progress.
-
-
Set up automation. This step is recommended but not strictly required.
-
Open the crontab file on the target host to edit it:
-
Add the provided cron job entry to run the command every day at midnight. For example:
-
Set up self-hosting for an air-gapped private registry
Before you begin, install Skopeo on the target host. Installation instructions
-
From the left menu, select Manage > Self-hosting. (Or use this direct link.)
-
Is your registry online or air-gapped? Select the option: Air-gapped registry (no internet).
A form with 3 parts will appear: destination details, sync images, set up automation.
-
Fill in the destination details:
- Specify the path to your removable drive.
- You have the option to input air-gapped registry details so that Minimus can configure the Skopeo commands on your behalf. You can toggle off this section to skip this step and configure the Skopeo commands independently.
- Provide the internal URL for your air-gapped registry.
- Decide whether to provide username & password or a certificate file
- If you selected username & password, provide them.
- If you selected a certificate file, specify the file path. You can skip this step if the path matches one of the defaults:
${XDG_RUNTIME_DIR}/containers/auth.json
$HOME/.docker/config.json
- Save your inputs.
-
Fill in the form to sync the images:
-
Download the provided YAML file and save it on your internet-connected host (Skopeo must be installed on this host.
-
(Optional) Specify the path to the YAML file to update the placeholder in the following code snippet.
-
Run the provided sync command to copy the images to the removable drive:
-
Connect the removable drive to your air-gapped environment.
-
Run the provided sync command to copy the images from the removable drive to your registry. For example:
-
Click next to progress.
-
-
Set up partial automation. This step is recommended but not strictly required. It will automate the sync on your internet-connected machine to save you time.
-
Open the crontab file on the internet-connected host to edit it:
-
Add the provided cron job entry to run the command every day at midnight. For example:
-
Repeat the above steps to move the images to your removable drive and copy them to your registry. This step is manual and cannot be automated.
-