Edward Kenneway on board

This commit is contained in:
2025-11-04 10:13:30 -08:00
parent 65acfb1ff0
commit e922a939f5
7 changed files with 244 additions and 107 deletions

View File

@@ -1,2 +1,96 @@
# Registry
# Lightweight Docker Registry
A simple, lightweight Docker registry with web UI using docker-compose.
## Features
- Lightweight Docker Registry (official registry:2 image)
- Web UI for browsing and managing images
- Configurable via environment variables
- Optional authentication and TLS support
- Perfect for Coolify deployment
## Quick Start
1. Copy environment file:
```bash
cp .env.example .env
```
2. Start the registry:
```bash
docker-compose up -d
```
3. Access:
- Registry API: http://localhost:5000
- Web UI: http://localhost:8080
## Coolify Deployment
In Coolify, set these environment variables as needed:
### Basic Configuration
- `REGISTRY_PORT`: Registry port (default: 5000)
- `UI_PORT`: UI port (default: 8080)
- `REGISTRY_TITLE`: Registry title for UI
- `REGISTRY_URL`: Internal registry URL
### Storage
- `REGISTRY_DATA_PATH`: Data storage path
- `REGISTRY_DELETE_ENABLED`: Allow image deletion (true/false)
### Security (Optional)
- `REGISTRY_AUTH_ENABLED`: Enable authentication (true/false)
- `REGISTRY_SECURED`: Enable HTTPS (true/false)
- `REGISTRY_TLS_CERT_PATH`: Path to TLS certificate
- `REGISTRY_TLS_KEY_PATH`: Path to TLS private key
### UI Settings
- `DELETE_IMAGES`: Allow deletion via UI (true/false)
- `SHOW_CONTENT_DIGEST`: Show image digests (true/false)
- `TAGLIST_PAGE_SIZE`: Number of tags per page
## Usage
### Push an image
```bash
docker tag myimage localhost:5000/myimage
docker push localhost:5000/myimage
```
### Pull an image
```bash
docker pull localhost:5000/myimage
```
### List images
```bash
curl http://localhost:5000/v2/_catalog
```
## Authentication (Optional)
To enable basic authentication:
1. Set `REGISTRY_AUTH_ENABLED=true`
2. Create htpasswd file:
```bash
mkdir -p auth
docker run --rm -it httpd:alpine htpasswd -Bbn user password > auth/htpasswd
```
## TLS/SSL (Optional)
To enable HTTPS:
1. Set `REGISTRY_SECURED=true`
2. Place certificates in `certs/` directory
3. Set `REGISTRY_TLS_CERT_PATH` and `REGISTRY_TLS_KEY_PATH`
## Resource Usage
- **RAM**: ~100-200MB total
- **Storage**: Minimal base + image storage
- **CPU**: Very low usage
Perfect for resource-constrained environments!