Some checks are pending
CI/CD Pipeline (Fully Isolated DinD) / Run Tests (DinD) (push) Waiting to run
CI/CD Pipeline (Fully Isolated DinD) / Build and Push Docker Images (DinD) (push) Blocked by required conditions
CI/CD Pipeline (Fully Isolated DinD) / Deploy to Production (push) Blocked by required conditions
39 lines
No EOL
1.4 KiB
Markdown
39 lines
No EOL
1.4 KiB
Markdown
# Docker Registry Configuration
|
|
|
|
This folder contains the configuration files for the Docker Registry setup used in the CI/CD pipeline.
|
|
|
|
## Files
|
|
|
|
- **`docker-compose.registry.yml`**: Docker Compose configuration for the registry and Caddy reverse proxy
|
|
- **`Caddyfile`**: Caddy configuration for HTTPS and authentication
|
|
- **`README.md`**: This documentation file
|
|
|
|
## Architecture
|
|
|
|
The registry setup uses:
|
|
- **Docker Registry**: Basic registry for storing Docker images
|
|
- **Caddy**: Reverse proxy with automatic HTTPS and authentication
|
|
- **Environment Variables**: For authentication credentials
|
|
|
|
## Authentication Model
|
|
|
|
- **Pulls**: Unauthenticated (public read access)
|
|
- **Pushes**: Require authentication with `registry-user` credentials
|
|
|
|
## Configuration
|
|
|
|
The setup is configured through:
|
|
1. **Environment Variables**: Stored in `.env` file (created during setup)
|
|
2. **Caddyfile**: Handles HTTPS and authentication
|
|
3. **Docker Compose**: Orchestrates the registry and Caddy services
|
|
|
|
## Usage
|
|
|
|
The registry is automatically set up during the CI/CD pipeline setup process. The configuration files are copied from this folder to the registry server and customized with the appropriate IP address and credentials.
|
|
|
|
## Security
|
|
|
|
- Authentication is handled by Caddy using environment variables
|
|
- HTTPS is automatically managed by Caddy
|
|
- Registry data is persisted in Docker volumes
|
|
- Environment file contains sensitive credentials and should be properly secured |