The template pinned ghcr.io/toeverything/affine-graphql:stable-780dd83 — an ephemeral per-commit tag on the old image name. That tag has been removed from GHCR, so the template fails to pull and can no longer be deployed (issue #777).
Changes
Switch the app and migration services to ghcr.io/toeverything/affine:stable, the rolling stable tag used by the official self-host compose. This also prevents future rot when upstream garbage-collects per-commit tags.
Move postgres to pgvector/pgvector:pg16 and set AFFINE_INDEXER_ENABLED=false, matching current upstream self-host requirements.
Add postgres/redis healthchecks and depends_on conditions so the self-host-predeploy migration job runs only after the database is ready, and the server starts only after migrations complete successfully.
Update meta.json version to stable.
No changes needed in template.toml (same service name, port 3010, and env vars).
Evidence (deploy-tested on a Dokploy instance)
Deploy finished in ~113s; app responds HTTP 200 with the AFFiNE UI on the generated domain.
Container states after deploy: affinepro running, migration exited(0) (one-shot job), db running, redis running.
Migration job logs: Done 8 migrations with all migrations checked, then clean shutdown (Done in 10.64s).
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/Dokploy/templates/pull/995
**Author:** [@Siumauricio](https://github.com/Siumauricio)
**Created:** 7/14/2026
**Status:** ✅ Merged
**Merged:** 7/14/2026
**Merged by:** [@Siumauricio](https://github.com/Siumauricio)
**Base:** `canary` ← **Head:** `fix/affinepro-update`
---
### 📝 Commits (1)
- [`59770d4`](https://github.com/Dokploy/templates/commit/59770d4ae8b47eb0ea02278dfd2d475c7432091c) fix(affinepro): update to current AFFiNE images
### 📊 Changes
**2 files changed** (+29 additions, -10 deletions)
<details>
<summary>View changed files</summary>
📝 `blueprints/affinepro/docker-compose.yml` (+28 -9)
📝 `blueprints/affinepro/meta.json` (+1 -1)
</details>
### 📄 Description
## Problem
The template pinned `ghcr.io/toeverything/affine-graphql:stable-780dd83` — an ephemeral per-commit tag on the old image name. That tag has been removed from GHCR, so the template fails to pull and can no longer be deployed (issue #777).
## Changes
- Switch the app and migration services to `ghcr.io/toeverything/affine:stable`, the rolling stable tag used by the [official self-host compose](https://github.com/toeverything/AFFiNE/blob/canary/.docker/selfhost/compose.yml). This also prevents future rot when upstream garbage-collects per-commit tags.
- Move postgres to `pgvector/pgvector:pg16` and set `AFFINE_INDEXER_ENABLED=false`, matching current upstream self-host requirements.
- Add postgres/redis healthchecks and `depends_on` conditions so the `self-host-predeploy` migration job runs only after the database is ready, and the server starts only after migrations complete successfully.
- Update `meta.json` version to `stable`.
No changes needed in `template.toml` (same service name, port 3010, and env vars).
## Evidence (deploy-tested on a Dokploy instance)
- Deploy finished in ~113s; app responds `HTTP 200` with the AFFiNE UI on the generated domain.
- Container states after deploy: `affinepro` running, `migration` exited(0) (one-shot job), `db` running, `redis` running.
- Migration job logs: `Done 8 migrations` with all migrations checked, then clean shutdown (`Done in 10.64s`).
Closes #777
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Dokploy/templates/pull/995
Author: @Siumauricio
Created: 7/14/2026
Status: ✅ Merged
Merged: 7/14/2026
Merged by: @Siumauricio
Base:
canary← Head:fix/affinepro-update📝 Commits (1)
59770d4fix(affinepro): update to current AFFiNE images📊 Changes
2 files changed (+29 additions, -10 deletions)
View changed files
📝
blueprints/affinepro/docker-compose.yml(+28 -9)📝
blueprints/affinepro/meta.json(+1 -1)📄 Description
Problem
The template pinned
ghcr.io/toeverything/affine-graphql:stable-780dd83— an ephemeral per-commit tag on the old image name. That tag has been removed from GHCR, so the template fails to pull and can no longer be deployed (issue #777).Changes
ghcr.io/toeverything/affine:stable, the rolling stable tag used by the official self-host compose. This also prevents future rot when upstream garbage-collects per-commit tags.pgvector/pgvector:pg16and setAFFINE_INDEXER_ENABLED=false, matching current upstream self-host requirements.depends_onconditions so theself-host-predeploymigration job runs only after the database is ready, and the server starts only after migrations complete successfully.meta.jsonversion tostable.No changes needed in
template.toml(same service name, port 3010, and env vars).Evidence (deploy-tested on a Dokploy instance)
HTTP 200with the AFFiNE UI on the generated domain.affineprorunning,migrationexited(0) (one-shot job),dbrunning,redisrunning.Done 8 migrationswith all migrations checked, then clean shutdown (Done in 10.64s).Closes #777
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.