Initial Setup
Create the first admin account, enter your license key, and add your first upstream registry.
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.
Initial Setup
After starting Drevnix for the first time, complete these steps before issuing client credentials to anyone.
Step 0: Have your license key ready
You will need a valid license key before you can use Drevnix. If you don’t have one yet, get it at drevnix.tech/get-license before continuing. The key is entered in the portal immediately after you log in for the first time.
Step 1: Create the first admin account
Drevnix ships with no accounts. There are two ways to create the first admin:
Option A — environment variables (recommended for scripted or automated setups):
Set DREVNIX_INITIAL_ADMIN_USERNAME and DREVNIX_INITIAL_ADMIN_PASSWORD when starting the container. Drevnix creates the account on first startup and ignores these variables on all subsequent starts.
-e DREVNIX_INITIAL_ADMIN_USERNAME=admin \
-e DREVNIX_INITIAL_ADMIN_PASSWORD=a-strong-password
Option B — interactive CLI (fine for manual installs):
docker exec -it drevnix java -jar /opt/drevnix.jar init-admin --config=/etc/drevnix/config.edn
The command prompts for a username and password, creates the account, and exits.
Both options produce the same result. This is only for bootstrapping — all subsequent users are managed through the portal.
Step 2: Log into the portal and activate your license
Open the portal at http://your-host:8001 and sign in with the credentials you just created.
Keep the portal (
:8001) and REST API (:8002) ports internal or behind a VPN. Only the proxy port (:8000) needs to be reachable by Docker clients.
The first thing to do after logging in is activate your license:
- Go to Settings in the left sidebar
- Paste your license key into the License field
- Click Save
The license takes effect immediately. No restart required. The Settings page shows which features are enabled and any usage limits.
See Licensing for a full breakdown of what each license tier controls.
Step 3: Add your first upstream
An upstream is a registry that Drevnix proxies requests to.
- Go to Upstreams → Add Upstream
- Fill in the ID (short slug used in pull URLs, e.g.
ghcr), URL, and optional credentials - Click Save
Drevnix encrypts the upstream credentials with AES256-GCM immediately. The password is never stored in plaintext and is never returned by the API after creation.
Common upstreams
| Registry | URL |
|---|---|
| GitHub Container Registry | https://ghcr.io |
| Docker Hub | https://registry-1.docker.io |
| Amazon ECR | https://<account>.dkr.ecr.<region>.amazonaws.com |
| Google Artifact Registry | https://<region>-docker.pkg.dev |
| Azure Container Registry | https://<name>.azurecr.io |
Step 4: Create a client and assign permissions
Before any Docker client can pull through the proxy, it needs a client identity and at least one permission granting access to a repository pattern.
Follow the Quick Start Tutorial for a complete end-to-end example, or see Managing Clients and Managing Permissions.