Conversation
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
There was a problem hiding this comment.
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/withdocker-compose.yml,template.toml, andweblate.svg. - Registered the new
weblatetemplate entry inmeta.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>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| depends_on: | ||
| cache: | ||
| condition: service_started | ||
| database: | ||
| condition: service_healthy |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
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: trueis applied for security, and a database healthcheck is included. Themeta.jsonentry is well-formed with the correct version matching the image tag.Key issues found:
docker-compose.ymlline 36–38):depends_onforcacheanddatabasedoes not usecondition: 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.docker-compose.ymlline 53): The volume is mounted at/var/lib/postgresqlrather than the conventional/var/lib/postgresql/data. Data is still persisted, but it's broader than necessary and deviates from the recommended pattern.databaseservice (docker-compose.ymllines 59–60):POSTGRES_HOSTandPOSTGRES_PORTare 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_ondoes not usecondition: 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— thedepends_onand volume path items deserve a second look.Important Files Changed
/var/lib/postgresql/data, andPOSTGRES_HOST/POSTGRES_PORTare unnecessarily set on the database service. One functional concern:depends_ondoes not leverage the database healthcheck, so Weblate may attempt to connect before Postgres is ready.${password:32}helper, domain uses${domain}helper, and the port 8080 matches the Weblate image default.dedupe-and-sort-meta.jsand remains present in the file at a different position.Reviews (1): Last reviewed commit: "chore: remove config.mounts" | Re-trigger Greptile
(3/5) Reply to the agent's comments like "Can you suggest a fix for this @greptileai?" or ask follow-up questions!
Context used: