Edward Kenneway on board
This commit is contained in:
96
README.md
96
README.md
@@ -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!
|
||||
Reference in New Issue
Block a user