Chapter 4. Deploying Red Hat Quay
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: USD 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: USD mkdir USDQUAY/config Copy the Red Hat Quay configuration file to the directory: USD cp -v config.yaml USDQUAY/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 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 Create a local directory that will store registry images by entering the following command: USD mkdir USDQUAY/storage Set the directory to store registry images: USD setfacl -m u:1001:-wx USDQUAY/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:
touch config.yaml 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 mkdir USDQUAY/config cp -v config.yaml USDQUAY/config SERVER_HOSTNAME: quay-server.example.com SETUP_COMPLETE: true SUPER_USERS: - quayadmin 1 mkdir USDQUAY/storage setfacl -m u:1001:-wx USDQUAY/storage sudo podman run -d --rm -p 80:8080 -p 443:8443 --name=quay -v USDQUAY/config:/conf/stack:Z -v USDQUAY/storage:/datastorage:Z registry.redhat.io/quay/quay-rhel8:v3.13.3