Installation
Getting Started

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:

PortPurpose
8000Docker Registry V2 proxy (Docker clients pull through here)
8001Web portal (browser-based admin panel)
8002REST 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.