WIUNIX ACADEMY
Private Docker registry with Nginx HTTPS and native authentication
Page 5 of 5. Review the earlier steps and prerequisites before continuing.
YOUR SYSTEM. YOUR STEPS.
Where are you working?
Choose your OS and version. The prerequisites, commands and troubleshooting follow your environment.
USE YOUR OWN VALUES
Configure this tutorial
Set the example values for your environment; related explanations and copy panels update together. Never enter passwords, private keys or tokens. Values stay in this tab and are not sent to the server or share links. Check actual DNS, certificates and network policy before running commands.
Different IP addresses, domains or ports? Open the settings below, change the values and select “Apply to tutorial”, then copy the updated commands.
Set values for my environment8 editable values
What was actually tested
25 real isolated checks passed with Distribution3.1.2, Nginx1.24.0 and Python3.12.3 on Ubuntu24.04. The exact official-image registry binary ran as a nonroot child; the proxy retained the published directives with fixture paths and loopback listeners. A private-CA TLS OCI HTTP client proved missing/wrong/correct bcrypt auth, challenge/API header, Host rejection, trusted HTTPS upload Location despite spoofed headers, real chunked PATCH/commit, OCI manifest push, fresh exact manifest/config/layer pull, disabled deletion, nonroot storage ownership, restart persistence,413 upload cap, readonly write denial and stopped-writer GC dry-run followed by another exact pull. No host ports were published.
Your acceptance still requires a real managed Docker client/helper login, independent push/pull, trusted DNS/TLS from the intended network, a suitable large-layer transfer, renewal, host reboot, encrypted off-host backup and isolated restoration. A browser setting, successful schema validation or generated DEMO hero is not runtime evidence.
The fixture did not execute Docker Engine/container publishing or pass/GPG helper login, public ACME/renewal, every-OS installation, real large-layer performance, systemd/host reboot, HA or actual backup restoration. It tested OCI transfer semantics, not a production acceptance certificate.
Seven additional exact published Python creation/bcrypt/config/secret checks passed inside the same disposable container, including no-clobber and repeat-secret refusal. Separate327 source/schema/syntax/settings checks include20 correct/wrong OS guard executions; they are not327 service tests. Some Ubuntu package-catalog requests timed out; no unverified package version pin was invented.
Move from pilot to controlled operations
Before connecting CI, assign ownership for disk/inode/certificate-expiry and failed-auth monitoring, credential rotation, encrypted recovery and digest-pinned deployment. Choose repository authorization and retention rules for your actual teams. Benchmark the intended layer sizes and concurrency; this tutorial makes no throughput, HA, SLA or universal security compliance claim.
GO TO THE SOURCE
Official references
Each environment states how it was reviewed. A documentation review does not claim a hands-on test of every version.
- Distribution 3.1.2 release and security fixes
- Registry deployment and native bcrypt
- Registry configuration and readonly maintenance
- Filesystem storage driver
- Consistent garbage collection
- Registry Nginx recipe
- OCI Distribution specification
- Docker login and credential helpers
- Official credential helper setup
- Docker certificate trust
- Nginx streaming proxy directives
- Nginx HTTPS and certificate chains
- Ubuntu support cycle
- Debian release support
- Docker loopback publishing and pre28 warning
KEEP LEARNING