94 lines
2.0 KiB
Markdown
94 lines
2.0 KiB
Markdown
# 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://your-domain:5000
|
|
- Web UI: http://your-domain
|
|
|
|
## Coolify Deployment
|
|
|
|
In Coolify, set these environment variables as needed:
|
|
|
|
### Basic Configuration
|
|
- `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 your-domain:5000/myimage
|
|
docker push your-domain:5000/myimage
|
|
```
|
|
|
|
### Pull an image
|
|
```bash
|
|
docker pull your-domain:5000/myimage
|
|
```
|
|
|
|
### List images
|
|
```bash
|
|
curl http://your-domain: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! |