Skip to content

feat: docker-compose maildev update, traefik localhost domains#10843

Merged
Meldiron merged 4 commits intomainfrom
pla-3693
Nov 20, 2025
Merged

feat: docker-compose maildev update, traefik localhost domains#10843
Meldiron merged 4 commits intomainfrom
pla-3693

Conversation

@levivannoort
Copy link
Copy Markdown
Member

What does this PR do?

The appwrite/mailcatcher image has been updated as it wasn't updated for quite some time - i.e., 5 years, it was missing quite some features. In addition traefik configuration through labels adds the option to navigate to localhost domain names for easy access.

Test Plan

Run the docker-compose and check whether the latest images works in addition to the mail.localhost, redis.localhost, mysql.localhost, e.g.:

image

Related PRs and Issues

Checklist

  • Have you read the Contributing Guidelines on issues?
  • If the PR includes a change to an API's metadata (desc, label, params, etc.), does it also include updated API specs and example docs?

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Nov 19, 2025

📝 Walkthrough

Walkthrough

This PR updates docker-compose.yml and adds configs to extend local dev tooling. Changes: bump maildev image version, attach maildev, adminer, and redis-insight services to a gateway network, add Traefik labels for host-based routing and TLS (mail.localhost, mysql.localhost, redis.localhost), expose service ports and mappings, add an env var RI_PRE_SETUP_DATABASES_PATH for RedisInsight, and include two new config files: redisinsight-connections.json and adminer-index.php.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Review Traefik label syntax and routing/entrypoint names for maildev, adminer, redis-insight
  • Validate hostnames and port mappings (mail.localhost, mysql.localhost, redis.localhost)
  • Inspect configs/redisinsight-connections.json contents and configs/adminer-index.php mount correctness
  • Confirm RI_PRE_SETUP_DATABASES_PATH usage and volume mount for RedisInsight
  • Check that gateway network is consistently attached to updated services

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The PR title accurately describes the main changes: updating maildev (mailcatcher) and adding Traefik localhost domain configuration.
Description check ✅ Passed The PR description clearly explains the motivation (updating outdated mailcatcher image), implementation details (Traefik labels for localhost domains), and includes test plan with examples.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch pla-3693

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 19, 2025

Security Scan Results for PR

Docker Image Scan Results

Package Version Vulnerability Severity
binutils 2.44-r2 CVE-2025-5244 HIGH
binutils 2.44-r2 CVE-2025-5245 HIGH
imagemagick 7.1.2.0-r0 CVE-2025-62171 HIGH
imagemagick-c++ 7.1.2.0-r0 CVE-2025-62171 HIGH
imagemagick-dev 7.1.2.0-r0 CVE-2025-62171 HIGH
imagemagick-heic 7.1.2.0-r0 CVE-2025-62171 HIGH
imagemagick-jpeg 7.1.2.0-r0 CVE-2025-62171 HIGH
imagemagick-jxl 7.1.2.0-r0 CVE-2025-62171 HIGH
imagemagick-libs 7.1.2.0-r0 CVE-2025-62171 HIGH
imagemagick-openexr 7.1.2.0-r0 CVE-2025-62171 HIGH
libecpg 17.6-r0 CVE-2025-12818 HIGH
libecpg-dev 17.6-r0 CVE-2025-12818 HIGH
libpq 17.6-r0 CVE-2025-12818 HIGH
libpq-dev 17.6-r0 CVE-2025-12818 HIGH
libxml2 2.13.8-r0 CVE-2025-49794 CRITICAL
libxml2 2.13.8-r0 CVE-2025-49796 CRITICAL
libxml2 2.13.8-r0 CVE-2025-49795 HIGH
libxml2 2.13.8-r0 CVE-2025-6021 HIGH
pcre2 10.43-r1 CVE-2025-58050 CRITICAL
postgresql17-dev 17.6-r0 CVE-2025-12818 HIGH
github.com/containerd/containerd/v2 v2.0.2 CVE-2024-25621 HIGH
golang.org/x/crypto v0.31.0 CVE-2025-22869 HIGH
golang.org/x/oauth2 v0.24.0 CVE-2025-22868 HIGH
stdlib 1.22.10 CVE-2025-47907 HIGH
stdlib 1.22.10 CVE-2025-58183 HIGH
stdlib 1.22.10 CVE-2025-58186 HIGH
stdlib 1.22.10 CVE-2025-58187 HIGH
stdlib 1.22.10 CVE-2025-58188 HIGH

Source Code Scan Results

🎉 No vulnerabilities found!

@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 19, 2025

✨ Benchmark results

  • Requests per second: 1,209
  • Requests with 200 status code: 217,706
  • P99 latency: 0.159951409

⚡ Benchmark Comparison

Metric This PR Latest version
RPS 1,209 1,249
200 217,706 224,877
P99 0.159951409 0.162835967

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 26f506b and 5775829.

📒 Files selected for processing (1)
  • docker-compose.yml (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (16)
  • GitHub Check: E2E Service Test (Proxy)
  • GitHub Check: E2E Service Test (Storage)
  • GitHub Check: E2E Service Test (Tokens)
  • GitHub Check: E2E Service Test (Users)
  • GitHub Check: E2E Service Test (Sites)
  • GitHub Check: E2E Service Test (Realtime)
  • GitHub Check: E2E Service Test (Health)
  • GitHub Check: E2E Service Test (Databases/Legacy)
  • GitHub Check: E2E Service Test (Databases/TablesDB)
  • GitHub Check: E2E Service Test (Account)
  • GitHub Check: E2E Service Test (Avatars)
  • GitHub Check: E2E Service Test (Site Screenshots)
  • GitHub Check: E2E Service Test (Dev Keys)
  • GitHub Check: Unit Test
  • GitHub Check: E2E General Test
  • GitHub Check: scan
🔇 Additional comments (4)
docker-compose.yml (4)

1085-1104: Approve maildev service updates with Traefik routing.

The maildev service correctly adds the gateway network and Traefik labels for mail.localhost routing. Image bump to 1.1.1 is appropriate per the PR objective.


1124-1155: Approve adminer service with auto-login configuration and Traefik routing (pending PHP fix).

The adminer service properly configures:

  • Gateway network for Traefik routing
  • Environment variables for auto-login (server, username, password, db)
  • Traefik labels for mysql.localhost host-based routing
  • Custom adminer-index.php via configs for auto-login script

Once the PHP syntax error (line 1246-1258) is corrected, auto-login will function as intended.


1157-1182: Approve redis-insight service with auto-configuration and Traefik routing.

The redis-insight service correctly:

  • Adds gateway network for Traefik routing
  • Sets RI_PRE_SETUP_DATABASES_PATH to auto-load connection config
  • References redisinsight-connections.json via configs
  • Adds Traefik labels for redis.localhost host-based routing

Note: The latest image tag may affect reproducibility; consider pinning to a specific version in production environments.


1205-1244: Approve redisinsight-connections.json configuration.

The Redis connection config is well-formed JSON with appropriate metadata (host, port, db, connection type, modules). Matches the RI_PRE_SETUP_DATABASES_PATH environment variable setup.

@Meldiron Meldiron merged commit b484dd8 into main Nov 20, 2025
45 checks passed
@stnguyen90 stnguyen90 mentioned this pull request Dec 10, 2025
2 tasks
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