sharenet/registry
continuist 5d6a4d8689
Some checks are pending
CI/CD Pipeline / Test Backend (push) Waiting to run
CI/CD Pipeline / Test Frontend (push) Waiting to run
CI/CD Pipeline / Build and Push Docker Images (push) Blocked by required conditions
CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
Try to fix CORS issue
2025-06-28 23:30:36 -04:00
..
config.yml Updated procedure to have project cloned to /opt/APP_NAME to be with registry 2025-06-28 19:51:45 -04:00
docker-compose.yml Remove healthcheck dependency 2025-06-28 23:23:22 -04:00
nginx.conf Try to fix CORS issue 2025-06-28 23:30:36 -04:00
README.md Updated procedure to have project cloned to /opt/APP_NAME to be with registry 2025-06-28 19:51:45 -04:00

Docker Registry Configuration

This folder contains the configuration files for the Docker Registry setup used in the CI/CD pipeline.

Files

  • docker-compose.yml - Docker Compose configuration for registry, registry-ui, and nginx services
  • nginx.conf - Nginx reverse proxy configuration for SSL termination and routing
  • config.yml - Docker Registry configuration file
  • README.md - This file

Architecture

This setup uses a hybrid approach for optimal maintainability and security:

Repository Files (Version Controlled)

  • Configuration files in /opt/APP_NAME/registry/
  • Easy to update via git pull
  • Version controlled and tracked

System Files (Not Version Controlled)

  • SSL certificates in /etc/ssl/registry/
  • Authentication files in /etc/registry/auth/
  • Registry data in Docker volume /var/lib/registry

Usage

The setup process will:

  1. Clone the repository to /opt/APP_NAME/
  2. Create system directories for certificates and auth
  3. Generate SSL certificates in /etc/ssl/registry/
  4. Create authentication files in /etc/registry/auth/
  5. Start the registry services using the hybrid configuration

Configuration Notes

  • Registry: Runs on port 5000 with HTTPS
  • Nginx: Provides SSL termination and reverse proxy on port 8080
  • Registry UI: Web interface accessible via nginx on port 8080
  • Authentication: Uses htpasswd for push authentication
  • Storage: Uses Docker volume for persistent data
  • Configuration: Version controlled in repository
  • Certificates: Stored in system SSL directory

Security

  • SSL certificates are self-signed and stored in system SSL directory
  • Authentication files are stored in system auth directory
  • Configuration is version controlled and easily auditable
  • All communication uses HTTPS
  • Clear separation between config, auth, and data