{"id":28528372,"url":"https://github.com/dokku/openresty-docker-proxy","last_synced_at":"2025-10-14T11:38:39.834Z","repository":{"id":138881951,"uuid":"600288373","full_name":"dokku/openresty-docker-proxy","owner":"dokku","description":"OpenResty as a reverse proxy for Docker","archived":false,"fork":false,"pushed_at":"2025-06-08T03:05:56.000Z","size":197,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-15T04:42:32.874Z","etag":null,"topics":["docker","docker-image","dokku","nginx","openresty"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dokku.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"dokku","open_collective":"dokku","patreon":"dokku"}},"created_at":"2023-02-11T02:53:46.000Z","updated_at":"2025-06-08T03:05:59.000Z","dependencies_parsed_at":"2023-12-22T10:03:48.839Z","dependency_job_id":"af7ff206-774d-41f7-843d-6b0f416cc6e1","html_url":"https://github.com/dokku/openresty-docker-proxy","commit_stats":{"total_commits":117,"total_committers":3,"mean_commits":39.0,"dds":0.5811965811965811,"last_synced_commit":"1d885e14b9a0fa8f324a27b9737adac6a21eff20"},"previous_names":["dokku/nginx-docker-proxy"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/dokku/openresty-docker-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokku%2Fopenresty-docker-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokku%2Fopenresty-docker-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokku%2Fopenresty-docker-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokku%2Fopenresty-docker-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dokku","download_url":"https://codeload.github.com/dokku/openresty-docker-proxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokku%2Fopenresty-docker-proxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261584740,"owners_count":23180757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-image","dokku","nginx","openresty"],"created_at":"2025-06-09T12:41:20.515Z","updated_at":"2025-10-14T11:38:34.814Z","avatar_url":"https://github.com/dokku.png","language":"Shell","funding_links":["https://github.com/sponsors/dokku","https://opencollective.com/dokku","https://patreon.com/dokku"],"categories":[],"sub_categories":[],"readme":"# openresty-docker-proxy\n\nUses Openresty - an nginx-compatible server distribution - to proxy requests to other Docker containers based on configured labels.\n\n## Usage\n\n### Environment Variables\n\n#### `OPENRESTY_APP_LABEL`\n\n\u003e default: `com.dokku.app-name`\n\nAn docker label to group server blocks by.\n\n#### `OPENRESTY_DEBUG`\n\n\u003e default: `` (none)\n\nSet to `true` to enable debugging comments in the generated config files.\n\n#### `OPENRESTY_IGNORE_DEFAULT_DOMAIN`\n\n\u003e default: `true`\n\nWhen `true`, all requests to a domain where there is a port listener will be ignored. Set to `false` to allow openresty to handle the default domain normally.\n\n#### `OPENRESTY_LABEL_PREFIX`\n\n\u003e default: `openresty.`\n\nThe default prefix to use when looking up labels. All examples below assume the default label prefix.\n\n#### `OPENRESTY_LETSENCRYPT_ALLOWED_DOMAINS_FUNC_BASE64`\n\n\u003e default: `return true`\n\nThe body of a function that returns whether or not the variable `domain` containing a domain name is allowed to have a letsencrypt ssl certificate provisioned.\n\n#### `OPENRESTY_LETSENCRYPT_EMAIL`\n\n\u003e default: `` (none)\n\nThe email to use for enabling letsencrypt (required).\n\n#### `OPENRESTY_LETSENCRYPT_CA`\n\n\u003e default: `https://acme-v02.api.letsencrypt.org/directory`\n\nThe certificate authority to use\n\n#### `OPENRESTY_PROCESS_LABEL`\n\n\u003e default: `com.dokku.process-type`\n\nA secondary docker label to group process types within servers by.\n\n#### `OPENRESTY_WEB_PROCESS`\n\n\u003e default: `web`\n\nThe value of the `OPENRESTY_PROCESS_LABEL` that denotes the primary `web` process to proxy.\n\n#### `OPENRESTY_DEFAULT_NETWORK`\n\n\u003e default: `bridge`\n\nThe default network to proxy requests to.\n\n#### `OPENRESTY_OS_PAGESIZE`\n\n\u003e default: computed on container start\n\nThe default os page size to base default proxy values on.\n\n### Labels\n\n#### `openresty.access-log-format`\n\nThe format of the openresty access log for the app.\n\n#### `openresty.access-log-path`\n\nThe path - in the container - where the access logs will be written.\n\n#### `openresty.bind-address-ipv4`\n\nThe IPv4 address - in the container - openresty will bind to when proxying requests.\n\n#### `openresty.bind-address-ipv6`\n\nThe IPv6 address - in the container - openresty will bind to when proxying requests.\n\n#### `openresty.client-max-body-size`\n\nThe value of `client_max_body_size`, used for limiting file upload size.\n\n#### `openresty.domains`\n\nA space-delimited set of domains to proxy.\n\n#### `openresty.error-log-path`\n\nThe path - in the container - where the error logs will be written.\n\n#### `openresty.https-port`\n\nPort treated as https when parsing port mappings.\n\n#### `openresty.include-grpc-*`\n\n#### `openresty.include-location-grpc-*`\n\n#### `openresty.include-http-*`\n\n#### `openresty.include-location-http-*`\n\n#### `openresty.include-tcp-*`\n\n#### `openresty.include-udp-*`\n\n#### `openresty.initial-network`\n\nThe network name to use when proxying requests to the app container.\n\n#### `openresty.letsencrypt`\n\nWhen set to `true`, this enables dynamic SSL certificate provisioning via Let's Encrypt for any `https:443` port mappings. Note that the corresponding `http:80` port mapping must exist in order for this to succeed.\n\n#### `openresty.port-mapping`\n\nHolds a space-delimited set of port mappings, where the port mapping is of the format `$scheme:$host_port:$container_port`. Supported schemes:\n\n- grpc/grpcs: For grpc(s) proxying. Only labels that are explicitely called out are supported.\n- tcp/udp: For stream proxying. Only labels that are explicitely called out are supported.\n- http/https: For normal request proxying. Supports most labels unless otherwise specified.\n\n#### `openresty.proxy-buffer-size`\n\nSets the size of the buffer proxy_buffer_size used for reading the first part of the response received from the proxied server. By default proxy buffer size is set as the pagesize.\n\n#### `openresty.proxy-buffering`\n\nEnable or disable proxy buffering proxy_buffering. By default proxy buffering is disabled in the NGINX config.\n\n#### `openresty.proxy-buffers`\n\nSets the number of the buffers in proxy_buffers used for reading the first part of the response received from the proxied server. By default proxy buffers number is set as 4\n\n#### `openresty.proxy-busy-buffer-size`\n\nSets the size of the buffer proxy_busy_buffer_size used for reading the first part of the response received from the proxied server. By default proxy busy buffer size is set as twice the pagesize.\n\n#### `openresty.proxy-connecting-timeout`\n\nDefines a timeout for connect to a proxied server.\n\n#### `openresty.proxy-read-timeout`\n\nDefines a timeout for reading a response from the proxied server.\n\n#### `openresty.proxy-send-timeout`\n\nDefines a timeout for sending a request to the proxied server.\n\n#### `openresty.send-timeout`\n\nDefines a timeout for sending a response to the client.\n\n#### `openresty.x-forwarded-for-value`\n\n#### `openresty.x-forwarded-port-value`\n\n#### `openresty.x-forwarded-proto-value`\n\n#### `openresty.x-forwarded-ssl`\n\n## TODO\n\n- Add documentation for all labels\n- Skip apps without domain\n- Skip apps without proxy port mapping\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdokku%2Fopenresty-docker-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdokku%2Fopenresty-docker-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdokku%2Fopenresty-docker-proxy/lists"}