Dependably

Configuration

This page is for operators who deploy and run a Dependably instance.

Dependably is built to be simple to run: start the container, tell it the URL it will be reached at, and manage everything else from the admin UI. There are no config files to maintain — the few deploy-time choices below are set as environment variables on the container.

Deploy

Run the Dependably container on your own infrastructure. The one setting every deployment should have is the public base URL — the address your developers and the web UI will use:

BASE_URL=https://repo.example.com

The base URL fixes the instance's hostname (used for secure cookies, allowed hosts, and the links the UI generates). Point it at your real hostname and use HTTPS in production. Everything else has a working default and starts immediately.

On first boot, Dependably creates your organization and an owner account, and prints the owner's email and a generated temporary password to the container logs. Sign in with those; you are required to change the password on first login, and you are ready to administer the instance.

Environment reference

All variables are optional — an empty environment gives a working local instance.

Instance & first boot

Variable Default Effect
BASE_URL http://localhost:8080 Public URL of the instance. Drives generated links, allowed hosts, and secure cookies (an https:// base URL makes session cookies Secure).
DEFAULT_ORG_SLUG default Slug of the organization created on first boot.
FIRST_BOOT_ADMIN_EMAIL admin@dependably.local Email of the owner account created on first boot.
FIRST_BOOT_ADMIN_PASSWORD generated Password for that account. When unset, a random password is generated and printed to the logs. Either way, rotation is forced on first login.
AIR_GAPPED false true runs the instance air-gapped: fetching from upstream registries is disabled and vulnerability scanning uses the local mirror only.
DEPENDABLY_MASTER_KEY unset Master key used to envelope-encrypt stored secrets (upstream credentials, webhook signing secrets) at rest. Without it, webhook signing secrets cannot be stored.

Invite email (SMTP)

When SMTP_HOST is unset, invite emails are disabled and the UI shows each invite link for you to deliver yourself (see Users & tokens).

Variable Default Effect
SMTP_HOST unset SMTP server to send invite emails through.
SMTP_PORT 587 SMTP port.
SMTP_FROM Envelope From address (for example invites@example.com). Required when SMTP_HOST is set.
SMTP_USERNAME / SMTP_PASSWORD unset Credentials, if your server requires them.
SMTP_STARTTLS true Set false to disable STARTTLS.

Storage

Variable Default Effect
STORAGE_BACKEND local Where package artifacts are stored: local, s3, or azure.
LOCAL_STORAGE_PATH /data/blobs Directory for the local backend — mount a volume here.
S3_BUCKET, S3_REGION Required for the s3 backend.
S3_ENDPOINT unset Point the s3 backend at an S3-compatible service (R2, MinIO, B2, Wasabi).
S3_FORCE_PATH_STYLE false Set true for services that require path-style addressing (R2, MinIO).
AZURE_CONNECTION_STRING, AZURE_CONTAINER Required for the azure backend.

Behind a reverse proxy

Variable Default Effect
TRUSTED_PROXIES unset IPs/CIDRs of your reverse proxy. When unset, X-Forwarded-* headers are ignored (fail-closed). Set this when a TLS-terminating proxy fronts the instance so client IPs and the HTTPS scheme are seen correctly.

Manage the instance in the app

Once it is running, all administration happens in the web UI — no server access required:

  • Access control (RBAC) — roles and what each can do.
  • Users & tokens — invite members, issue personal and service tokens.
  • Settings — anonymous pull, retention, upload limits, and the supply-chain security gates applied to proxied packages.
  • Authentication — forms login, MFA, and SAML 2.0 single sign-on.
  • Upstreams — the public registries Dependably proxies.

Verify

curl https://repo.example.com/health      # 200 when the process is up
curl https://repo.example.com/ready       # 200 when the instance is ready to serve

Then open the base URL in a browser and sign in as the owner created on first boot.