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
Enter the following command to create a minimal
config.yaml
file that is used to deploy the Red Hat Quay container:$ touch config.yaml
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
Create a directory to copy the Red Hat Quay configuration bundle to:
$ mkdir $QUAY/config
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
Add the
SUPER_USERS
array to theconfig.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
Create a local directory that will store registry images by entering the following command:
$ mkdir $QUAY/storage
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
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