Skip to content

feat: Add imgproxy template#714

Open
vladyslavprosolupov wants to merge 8 commits intoDokploy:canaryfrom
vladyslavprosolupov:canary
Open

feat: Add imgproxy template#714
vladyslavprosolupov wants to merge 8 commits intoDokploy:canaryfrom
vladyslavprosolupov:canary

Conversation

@vladyslavprosolupov
Copy link

@vladyslavprosolupov vladyslavprosolupov commented Feb 19, 2026

What is this PR about?

New PR of imgproxy - fast and secure on the fly image processing

Checklist

Before submitting this PR, please make sure that:

Issues related (if applicable)

Close automatically the related issues using the keywords: closes #ISSUE_NUMBER

Screenshots or Videos

Greptile Summary

This PR adds a new imgproxy template for fast and secure on-the-fly image processing. The implementation includes a two-service setup with imgproxy for image processing and nginx as a caching reverse proxy.

Key changes:

  • Added blueprints/imgproxy/ with docker-compose.yml, template.toml, and logo
  • Created properly configured environment variables with secure defaults (key/salt using ${hash:128})
  • Implemented nginx caching layer with configurable cache settings
  • Updated meta.json with correct metadata and proper alphabetical ordering
  • Used appropriate Docker image versions (imgproxy v3.30.1, nginx 1.28.2-alpine)

Issues found:

  • The nginx service uses ports instead of expose, which violates template requirements (AGENTS.md line 150)
  • The imgproxy service should explicitly declare expose: - 8080 for documentation

Confidence Score: 4/5

  • This PR is largely safe to merge with minor syntax corrections needed
  • The template follows most best practices with proper versioning, secure variable generation, and good architecture. However, it uses ports instead of expose in the nginx service, which violates documented template requirements. Once this syntax issue is corrected, the template will be production-ready.
  • Pay attention to blueprints/imgproxy/docker-compose.yml - needs ports changed to expose

Last reviewed commit: ca6edf5

(2/5) Greptile learns from your feedback when you react with thumbs up/down!

Context used:

  • Context from dashboard - AGENTS.md (source)

@github-actions
Copy link

github-actions bot commented Feb 19, 2026

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
templates ✅ Ready (View Log) Visit Preview 6e87226

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Dokploy blueprint for deploying imgproxy (image processing proxy) with an nginx front-end for response caching, and registers it in the repository’s template index (meta.json).

Changes:

  • Added blueprints/imgproxy/ including docker-compose.yml, template.toml, and a logo.
  • Added imgproxy entry to meta.json (and adjusted strapi placement as part of meta ordering/cleanup).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

File Description
meta.json Registers the new imgproxy template metadata and adjusts ordering around existing entries.
blueprints/imgproxy/template.toml Introduces Dokploy variables/env/domain mapping for imgproxy + nginx caching tunables.
blueprints/imgproxy/docker-compose.yml Defines imgproxy service and nginx caching reverse proxy configuration.
blueprints/imgproxy/imgproxy.png Adds the template logo asset referenced by meta.json.
Comments suppressed due to low confidence (1)

meta.json:3106

  • PR description/checklist claims tests were added, but this PR only adds the blueprint/meta entries and doesn’t introduce any automated tests. Please update the PR description/checklist to reflect the actual validation performed (typically Dokploy preview/manual deploy verification in this repo).
  {
    "id": "imgproxy",
    "name": "imgproxy",
    "version": "v3.30.1",
    "description": "imgproxy is a fast and secure image processing server, fronted by nginx with built-in response caching for repeated transformations.",

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (2)

blueprints/imgproxy/docker-compose.yml:5

  • The imgproxy service should explicitly declare the port it exposes using the expose directive. Add expose: - 8080 after line 5 to document that imgproxy listens on port 8080, which is referenced by the nginx proxy configuration at line 69. This follows the convention used in other multi-service templates and improves clarity.
  imgproxy:
    image: darthsim/imgproxy:v3.30.1
    restart: unless-stopped

blueprints/imgproxy/template.toml:43

  • Several environment variables are set to empty strings (IMGPROXY_CONCURRENCY, IMGPROXY_SO_REUSEPORT, IMGPROXY_USER_AGENT) both in template.toml and docker-compose.yml. Empty strings might not be the intended default for these settings. Consider either removing these variables entirely (letting imgproxy use its own defaults) or providing sensible default values. For example, IMGPROXY_CONCURRENCY could be set based on available CPU cores.
IMGPROXY_CONCURRENCY = ""
IMGPROXY_MAX_CLIENTS = "${imgproxy_max_clients}"
IMGPROXY_SO_REUSEPORT = ""
IMGPROXY_USER_AGENT = ""

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants