Skip to content

feat: add Weblate template#755

Open
enigma972 wants to merge 13 commits intoDokploy:canaryfrom
enigma972:weblate
Open

feat: add Weblate template#755
enigma972 wants to merge 13 commits intoDokploy:canaryfrom
enigma972:weblate

Conversation

@enigma972
Copy link
Copy Markdown

@enigma972 enigma972 commented Mar 26, 2026

What is this PR about?

New PR of Weblate

Checklist

Before submitting this PR, please make sure that:

Greptile Summary

This PR adds a new Weblate template (localization/translation platform) to the blueprint collection. The overall structure is solid — Docker images are pinned to specific versions, secrets use Dokploy helpers, read_only: true is applied for security, and a database healthcheck is included. The meta.json entry is well-formed with the correct version matching the image tag.

Key issues found:

  • Startup reliability (docker-compose.yml line 36–38): depends_on for cache and database does not use condition: service_healthy, so Weblate can attempt to connect to PostgreSQL before it has finished initializing. The database healthcheck is defined but not wired into the dependency condition.
  • PostgreSQL volume path (docker-compose.yml line 53): The volume is mounted at /var/lib/postgresql rather than the conventional /var/lib/postgresql/data. Data is still persisted, but it's broader than necessary and deviates from the recommended pattern.
  • Superfluous env vars on the database service (docker-compose.yml lines 59–60): POSTGRES_HOST and POSTGRES_PORT are Weblate client-side variables; the PostgreSQL image does not recognise them and they should be removed from the database service block.

Confidence Score: 4/5

Template is largely correct and well-structured; one startup-reliability fix recommended before merge.

The template is well-constructed with pinned images, proper secrets handling, and security hardening. The only meaningful functional concern is that depends_on does not use condition: service_healthy, which can cause Weblate to start before PostgreSQL is ready — Weblate does have retry logic so this often recovers, but it is better practice to wire the dependency correctly. The remaining notes are minor style improvements.

blueprints/weblate/docker-compose.yml — the depends_on and volume path items deserve a second look.

Important Files Changed

Filename Overview
blueprints/weblate/docker-compose.yml Adds the Weblate stack (weblate + valkey + postgres). Two style issues: volume path should be /var/lib/postgresql/data, and POSTGRES_HOST/POSTGRES_PORT are unnecessarily set on the database service. One functional concern: depends_on does not leverage the database healthcheck, so Weblate may attempt to connect before Postgres is ready.
blueprints/weblate/template.toml Template variables, domain config, and env passthrough look correct. Secrets use ${password:32} helper, domain uses ${domain} helper, and the port 8080 matches the Weblate image default.
meta.json Adds Weblate entry with correct id, name, version (5.16 matching docker-compose.yml), description, links, logo filename, and tags. The Strapi entry visible as removed in the diff was simply re-sorted by dedupe-and-sort-meta.js and remains present in the file at a different position.
blueprints/weblate/weblate.svg Valid SVG logo for Weblate, no issues.

Reviews (1): Last reviewed commit: "chore: remove config.mounts" | Re-trigger Greptile

Greptile also left 3 inline comments on this PR.

(3/5) Reply to the agent's comments like "Can you suggest a fix for this @greptileai?" or ask follow-up questions!

Context used:

  • Context used - AGENTS.md (source)

Copilot AI review requested due to automatic review settings March 26, 2026 12:40
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Mar 26, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 26, 2026

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

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

Copy link
Copy Markdown
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 Weblate (web-based translation platform), including its required backing services (PostgreSQL + Valkey) and registering it in the central meta.json index.

Changes:

  • Added blueprints/weblate/ with docker-compose.yml, template.toml, and weblate.svg.
  • Registered the new weblate template entry in meta.json (and associated ordering adjustments).

Reviewed changes

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

File Description
meta.json Adds the weblate template metadata (id/name/version/links/tags) to the global template index.
blueprints/weblate/docker-compose.yml Defines the Weblate service plus Valkey cache and PostgreSQL database services with persistent volumes.
blueprints/weblate/template.toml Provides Dokploy variables and environment mapping for Weblate/DB/cache configuration and domain routing.
blueprints/weblate/weblate.svg Adds the Weblate logo asset referenced by meta.json.

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 26, 2026 12:47
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Copy link
Copy Markdown
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.

enigma972 and others added 2 commits March 26, 2026 14:01
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
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 1 comment.

Comment on lines +36 to +40
depends_on:
cache:
condition: service_started
database:
condition: service_healthy
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

depends_on for cache uses condition: service_started, which only guarantees the container process has started—not that Valkey is accepting connections. This can cause intermittent Weblate startup failures if it tries Redis/Valkey before it’s ready. Consider adding a healthcheck to the cache service (e.g., valkey-cli ping) and switch the dependency to condition: service_healthy to make startup deterministic.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@copilot open a new pull request to apply changes based on this feedback

@enigma972 enigma972 requested a review from Copilot March 26, 2026 13:11
Copy link
Copy Markdown
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 no new comments.

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

Labels

new-template size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants