Installation
How to install the Drevnix Docker registry proxy using Docker. Configure upstreams, activate your license, and start proxying in minutes.
Using an AI assistant? Give it this file.
/llms.md is a single Markdown file covering installation, configuration, quickstart, clients, upstreams, permissions, TLS, and production deployment. Copy it and paste it into your AI chat, or tell the AI to fetch https://drevnix.tech/llms.md.
Installation
Drevnix is distributed as a Docker image hosted on a private registry. Follow these steps in order, from pulling the image to activating your license.
Prerequisites
- Docker 20.10+ (or Docker Compose v2)
- A database: SQLite (zero setup, recommended for most deployments) or PostgreSQL 14+ (HA, multi-instance)
- A random secret for
ENCRYPTION_KEY: used to encrypt upstream registry credentials at rest
Step 0: Get your license key
Before you do anything else, make sure you have a valid Drevnix license key. Without it, features like pull-through cache, audit log retention, SSO, and REST API access are restricted, and the proxy will stop working after the grace period expires.
If you don’t have a license key yet, get one at drevnix.tech/get-license. The key is delivered instantly and you will need it during initial setup.
Step 1: Authenticate to the Drevnix registry
The image is hosted on a private GitLab registry. Log in once before pulling:
docker login registry.gitlab.com \
--username public-customers \
--password gldt-tYWrqgJtrK5safops-FP
These are shared credentials for all Drevnix customers. Access to the product is controlled by your license key, not the registry credentials.
Step 2: Run Drevnix
docker run -d \
--name drevnix \
-p 8000:8000 \
-p 8001:8001 \
-p 8002:8002 \
-e ENCRYPTION_KEY=your-random-secret-here \
-e JDBC_URL='jdbc:sqlite:/data/drevnix.db?journal_mode=WAL&synchronous=NORMAL&busy_timeout=30000&foreign_keys=on' \
-v drevnix-data:/data \
registry.gitlab.com/drevnix-group/drevnix:1.6
Drevnix starts three listeners:
| Port | Purpose |
|---|---|
8000 | Docker Registry V2 proxy (Docker clients pull through here) |
8001 | Web portal (browser-based admin panel) |
8002 | REST API (programmatic management) |
These are the ports Drevnix listens on inside the container. In production, put a reverse proxy in front to handle TLS and serve on your own domain names. See TLS / HTTPS.
Behind a reverse proxy? You must set
TRUSTED_PROXIES. Without it, audit logs record the proxy’s IP instead of real client IPs, and rate limiting treats all traffic as coming from a single source. If Drevnix is not directly reachable from the internet (nginx, Traefik, a cloud LB, etc. sits in front), add-e TRUSTED_PROXIES=*to your run command. See X-Forwarded-For and real client IPs for the full decision guide.
PostgreSQL is also supported for HA and multi-instance deployments. See Database Setup for configuration details.
Step 3: Create your admin account and activate your license
Once the container is running, open the portal at http://localhost:8001 (or your configured domain if behind a reverse proxy) and create your first admin account. Then go to Settings and paste in your license key. See Initial Setup for the full walkthrough.
Health check
curl http://localhost:8002/health
# → 200 OK
Wire this into your load balancer or container restart policy.
Next steps
Once licensed, go to Initial Setup to configure your first upstream registry.