107 lines
2.1 KiB
Markdown
107 lines
2.1 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)
|
|
For authentication and TLS, mount a custom `config.yml` file:
|
|
```yaml
|
|
version: 0.1
|
|
auth:
|
|
htpasswd:
|
|
realm: basic-realm
|
|
path: /auth/htpasswd
|
|
http:
|
|
tls:
|
|
certificate: /certs/server.crt
|
|
key: /certs/server.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
|
|
```
|
|
|
|
## Advanced Configuration
|
|
|
|
For authentication, TLS, or other advanced features:
|
|
|
|
1. Create a custom `config.yml` file
|
|
2. Mount it to `/etc/docker/registry/config.yml`
|
|
3. Reference Docker Registry documentation for all options
|
|
|
|
Example with auth and TLS:
|
|
```yaml
|
|
version: 0.1
|
|
auth:
|
|
htpasswd:
|
|
realm: basic-realm
|
|
path: /auth/htpasswd
|
|
http:
|
|
tls:
|
|
certificate: /certs/server.crt
|
|
key: /certs/server.key
|
|
storage:
|
|
delete:
|
|
enabled: true
|
|
```
|
|
|
|
## Resource Usage
|
|
|
|
- **RAM**: ~100-200MB total
|
|
- **Storage**: Minimal base + image storage
|
|
- **CPU**: Very low usage
|
|
|
|
Perfect for resource-constrained environments! |