Dokploy

Docker Registry

Distribution implementation for storing and distributing of Docker container images and artifacts.

Docker Registry logo

Configuration

services:
  registry:
    restart: always
    image: registry:2
    ports:
      - 5000
    volumes:
      - ../files/auth/registry.password:/auth/registry.password
      - registry-data:/var/lib/registry
    environment:
      REGISTRY_STORAGE_DELETE_ENABLED: true
      REGISTRY_HEALTH_STORAGEDRIVER_ENABLED: false
      REGISTRY_HTTP_SECRET: ${REGISTRY_HTTP_SECRET}
      REGISTRY_AUTH: htpasswd
      REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
      REGISTRY_AUTH_HTPASSWD_PATH: /auth/registry.password

volumes:
  registry-data:
[variables]
main_domain = "${domain}"
registry_http_secret = "${password:30}"

[[config.domains]]
serviceName = "registry"
port = 5_000
host = "${main_domain}"

[config.env]
REGISTRY_HTTP_SECRET = "${registry_http_secret}"

[[config.mounts]]
filePath = "/auth/registry.password"
content = """
# from: docker run --rm --entrypoint htpasswd httpd:2 -Bbn docker password
docker:$2y$10$qWZoWev/u5PV7WneFoRAMuoGpRcAQOgUuIIdLnU7pJXogrBSY23/2
"""

Base64

To import this template in Dokploy: create a Compose service → AdvancedBase64 import and paste the content below:

ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICByZWdpc3RyeTpcbiAgICByZXN0YXJ0OiBhbHdheXNcbiAgICBpbWFnZTogcmVnaXN0cnk6MlxuICAgIHBvcnRzOlxuICAgICAgLSA1MDAwXG4gICAgdm9sdW1lczpcbiAgICAgIC0gLi4vZmlsZXMvYXV0aC9yZWdpc3RyeS5wYXNzd29yZDovYXV0aC9yZWdpc3RyeS5wYXNzd29yZFxuICAgICAgLSByZWdpc3RyeS1kYXRhOi92YXIvbGliL3JlZ2lzdHJ5XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBSRUdJU1RSWV9TVE9SQUdFX0RFTEVURV9FTkFCTEVEOiB0cnVlXG4gICAgICBSRUdJU1RSWV9IRUFMVEhfU1RPUkFHRURSSVZFUl9FTkFCTEVEOiBmYWxzZVxuICAgICAgUkVHSVNUUllfSFRUUF9TRUNSRVQ6ICR7UkVHSVNUUllfSFRUUF9TRUNSRVR9XG4gICAgICBSRUdJU1RSWV9BVVRIOiBodHBhc3N3ZFxuICAgICAgUkVHSVNUUllfQVVUSF9IVFBBU1NXRF9SRUFMTTogUmVnaXN0cnkgUmVhbG1cbiAgICAgIFJFR0lTVFJZX0FVVEhfSFRQQVNTV0RfUEFUSDogL2F1dGgvcmVnaXN0cnkucGFzc3dvcmRcblxudm9sdW1lczpcbiAgcmVnaXN0cnktZGF0YToiLAogICJjb25maWciOiAiW3ZhcmlhYmxlc11cbm1haW5fZG9tYWluID0gXCIke2RvbWFpbn1cIlxucmVnaXN0cnlfaHR0cF9zZWNyZXQgPSBcIiR7cGFzc3dvcmQ6MzB9XCJcblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwicmVnaXN0cnlcIlxucG9ydCA9IDVfMDAwXG5ob3N0ID0gXCIke21haW5fZG9tYWlufVwiXG5cbltjb25maWcuZW52XVxuUkVHSVNUUllfSFRUUF9TRUNSRVQgPSBcIiR7cmVnaXN0cnlfaHR0cF9zZWNyZXR9XCJcblxuW1tjb25maWcubW91bnRzXV1cbmZpbGVQYXRoID0gXCIvYXV0aC9yZWdpc3RyeS5wYXNzd29yZFwiXG5jb250ZW50ID0gXCJcIlwiXG4jIGZyb206IGRvY2tlciBydW4gLS1ybSAtLWVudHJ5cG9pbnQgaHRwYXNzd2QgaHR0cGQ6MiAtQmJuIGRvY2tlciBwYXNzd29yZFxuZG9ja2VyOiQyeSQxMCRxV1pvV2V2L3U1UFY3V25lRm9SQU11b0dwUmNBUU9nVXVJSWRMblU3cEpYb2dyQlNZMjMvMiBcblwiXCJcIlxuIgp9

Tags

registry, docker, self-hosted


Version: 2

On this page