Skip to main content

Preparing Docker Images for Air-Gapped Installation

Overview

This page explains how to prepare and transfer all required Docker images for installing RepoFlow in an air-gapped environment.
After you’ve loaded the images, continue to the deployment page for your setup type:

Supported Architectures

RepoFlow supports two CPU architectures:

  1. amd64 (default)
  2. arm64 (add -arm64 to RepoFlow Docker image tags)

RepoFlow Components and Images

RepoFlow uses multiple Docker images as part of its deployment stack, including the RepoFlow Server, Client, Hasura, MinIO, PostgreSQL, and others.

Among these, only the RepoFlow Server provides a special airgapped image designed specifically for offline environments.
This image is required for setups that perform vulnerability scanning without internet access.

Air-Gapped Images

Example RepoFlow Server image tags:

Typeamd64arm64
Standard0.7.1-amd640.7.1-arm64
Air-Gapped0.7.1-airgapped-amd640.7.1-airgapped-arm64

Step 1. Pull and Save Docker Images

Choose the correct section depending on your deployment method.

For Helm Chart Users

docker pull api.repoflow.io/repoflow-public/docker-public/library/repoflow-client:0.7.1
docker save api.repoflow.io/repoflow-public/docker-public/library/repoflow-client:0.7.1 -o ./repoflow-client_0.7.1.tar

docker pull api.repoflow.io/repoflow-public/docker-public/library/repoflow-server:0.7.1-airgapped-amd64
docker save api.repoflow.io/repoflow-public/docker-public/library/repoflow-server:0.7.1-airgapped-amd64 -o ./repoflow-server_0.7.1-airgapped-amd64.tar

docker pull api.repoflow.io/repoflow-public/docker-public/library/repoflow-cli:0.7.1
docker save api.repoflow.io/repoflow-public/docker-public/library/repoflow-cli:0.7.1 -o ./repoflow-cli_0.7.1.tar

docker pull nginxinc/nginx-unprivileged:1.27.5-alpine
docker save nginxinc/nginx-unprivileged:1.27.5-alpine -o ./nginx-unprivileged_1.27.5-alpine.tar

docker pull postgres:16.2 && docker save postgres:16.2 -o ./postgres_16.2.tar
docker pull minio/minio:RELEASE.2025-07-23T15-54-02Z && docker save minio/minio:RELEASE.2025-07-23T15-54-02Z -o ./minio.tar
docker pull hasura/graphql-engine:v2.48.1 && docker save hasura/graphql-engine:v2.48.1 -o ./graphql-engine_v2.48.1.tar
docker pull elasticsearch:8.15.0 && docker save elasticsearch:8.15.0 -o ./elasticsearch_8.15.0.tar
docker pull redis:alpine3.15 && docker save redis:alpine3.15 -o ./redis_alpine3.15.tar
docker pull busybox:1.36 && docker save busybox:1.36 -o ./busybox_1.36.tar

For Docker Compose Users

docker pull api.repoflow.io/repoflow-public/docker-public/library/repoflow-client:0.7.1
docker save api.repoflow.io/repoflow-public/docker-public/library/repoflow-client:0.7.1 -o ./repoflow-client_0.7.1.tar

docker pull api.repoflow.io/repoflow-public/docker-public/library/repoflow-server:0.7.1-airgapped-amd64
docker save api.repoflow.io/repoflow-public/docker-public/library/repoflow-server:0.7.1-airgapped-amd64 -o ./repoflow-server_0.7.1-airgapped-amd64.tar

docker pull nginxinc/nginx-unprivileged:1.27.5-alpine && docker save nginxinc/nginx-unprivileged:1.27.5-alpine -o ./nginx-unprivileged_1.27.5-alpine.tar
docker pull postgres:16.2 && docker save postgres:16.2 -o ./postgres_16.2.tar
docker pull minio/minio:RELEASE.2025-07-23T15-54-02Z && docker save minio/minio:RELEASE.2025-07-23T15-54-02Z -o ./minio.tar
docker pull hasura/graphql-engine:v2.48.1 && docker save hasura/graphql-engine:v2.48.1 -o ./graphql-engine_v2.48.1.tar

(Compose doesn’t require Elasticsearch, Redis, or BusyBox.)

Step 2. Transfer Files

Step 2. Transfer Files

Copy all .tar image files to your air-gapped system.

During deployment, you’ll also need to transfer the required configuration files, Docker Compose related files, or the Helm chart. If you already have a RepoFlow license, make sure to include the license file as well so it can be applied after installation.

Transferring files into an air-gapped environment can be time consuming, so it’s best to prepare and bundle all necessary files together in advance to make the process smoother.

Step 3. Load Images in the Air-Gapped Network

docker load -i ./repoflow-client_0.7.1.tar
docker load -i ./repoflow-server_0.7.1-airgapped-amd64.tar
docker load -i ./nginx-unprivileged_1.27.5-alpine.tar
docker load -i ./postgres_16.2.tar
docker load -i ./minio.tar
docker load -i ./graphql-engine_v2.48.1.tar

For Helm users also load:

docker load -i ./elasticsearch_8.15.0.tar
docker load -i ./redis_alpine3.15.tar
docker load -i ./busybox_1.36.tar

Continue with one of the following:

For assistance, contact support@repoflow.io.