Chapter 4. Deploying Red Hat Quay


After you have configured your Red Hat Quay deployment, you can deploy it using the following procedures.

Prerequisites

  • The Red Hat Quay database is running.
  • The Redis server is running.

4.1. Creating the YAML configuration file

Use the following procedure to deploy Red Hat Quay locally.

Procedure

  1. Enter the following command to create a minimal config.yaml file that is used to deploy the Red Hat Quay container:

    $ touch config.yaml
  2. Copy and paste the following YAML configuration into the config.yaml file:

    BUILDLOGS_REDIS:
        host: quay-server.example.com
        password: strongpassword
        port: 6379
    CREATE_NAMESPACE_ON_PUSH: true
    DATABASE_SECRET_KEY: a8c2744b-7004-4af2-bcee-e417e7bdd235
    DB_URI: postgresql://quayuser:quaypass@quay-server.example.com:5432/quay
    DISTRIBUTED_STORAGE_CONFIG:
        default:
            - LocalStorage
            - storage_path: /datastorage/registry
    DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
    DISTRIBUTED_STORAGE_PREFERENCE:
        - default
    FEATURE_MAILING: false
    SECRET_KEY: e9bd34f4-900c-436a-979e-7530e5d74ac8
    SERVER_HOSTNAME: quay-server.example.com
    SETUP_COMPLETE: true
    USER_EVENTS_REDIS:
        host: quay-server.example.com
        password: strongpassword
        port: 6379
  3. Create a directory to copy the Red Hat Quay configuration bundle to:

    $ mkdir $QUAY/config
  4. Copy the Red Hat Quay configuration file to the directory:

    $ cp -v config.yaml $QUAY/config

4.1.1. Configuring a Red Hat Quay superuser

You can optionally add a superuser by editing the config.yaml file to add the necessary configuration fields. The list of superuser accounts is stored as an array in the field SUPER_USERS. Superusers have the following capabilities:

  • User management
  • Organization management
  • Service key management
  • Change log transparency
  • Usage log management
  • Globally-visible user message creation

Procedure

  1. Add the SUPER_USERS array to the config.yaml file:

    SERVER_HOSTNAME: quay-server.example.com
    SETUP_COMPLETE: true
    SUPER_USERS:
      - quayadmin 1
    ...
    1
    If following this guide, use quayadmin.

4.2. Prepare local storage for image data

Use the following procedure to set your local file system to store registry images.

Procedure

  1. Create a local directory that will store registry images by entering the following command:

    $ mkdir $QUAY/storage
  2. Set the directory to store registry images:

    $ setfacl -m u:1001:-wx $QUAY/storage

4.3. Deploy the Red Hat Quay registry

Use the following procedure to deploy the Quay registry container.

Procedure

  1. Enter the following command to start the Quay registry container, specifying the appropriate volumes for configuration data and local storage for image data:

    $ sudo podman run -d --rm -p 80:8080 -p 443:8443  \
       --name=quay \
       -v $QUAY/config:/conf/stack:Z \
       -v $QUAY/storage:/datastorage:Z \
       registry.redhat.io/quay/quay-rhel8:v3.13.1
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.