Files
Registry/README.md

107 lines
2.1 KiB
Markdown
Raw Normal View History

2025-11-04 10:13:30 -08:00
# Lightweight Docker Registry
2025-11-04 17:46:53 +00:00
2025-11-04 10:13:30 -08:00
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:
2025-11-04 10:17:37 -08:00
- Registry API: http://your-domain:5000
- Web UI: http://your-domain
2025-11-04 10:13:30 -08:00
## 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)
2025-11-04 10:21:17 -08:00
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
```
2025-11-04 10:13:30 -08:00
### 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
2025-11-04 10:17:37 -08:00
docker tag myimage your-domain:5000/myimage
docker push your-domain:5000/myimage
2025-11-04 10:13:30 -08:00
```
### Pull an image
```bash
2025-11-04 10:17:37 -08:00
docker pull your-domain:5000/myimage
2025-11-04 10:13:30 -08:00
```
### List images
```bash
2025-11-04 10:17:37 -08:00
curl http://your-domain:5000/v2/_catalog
2025-11-04 10:13:30 -08:00
```
2025-11-04 10:21:17 -08:00
## 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
2025-11-04 10:13:30 -08:00
```
## Resource Usage
- **RAM**: ~100-200MB total
- **Storage**: Minimal base + image storage
- **CPU**: Very low usage
Perfect for resource-constrained environments!