You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Complete the Marka public-identity cutover for this fork's actively operated web/self-host distribution surfaces: canonical domain, GitHub repository identity, GHCR images, repository/documentation references, deployment configuration, and web discovery metadata.
This issue intentionally does not expand into renaming/publishing browser-extension stores, mobile stores, npm/SDK packages, or MCP distribution identities. Those surfaces should only be audited here for accidental coupling or breakage and handled separately later if desired.
Canonical GHCR images: ghcr.io/absolutepraya/marka:web-main and ghcr.io/absolutepraya/marka:workers-main
Existing ghcr.io/absolutepraya/karakeep images are not a compatibility target. Stop publishing new tags there after cutover; historical images may remain.
keep.abhipraya.dev should eventually become a permanent redirect to marka.abhipraya.dev, preserving path and query string, after the new origin is fully verified.
Existing internal compatibility identifiers such as KARAKEEP_*, @karakeep/*, persisted paths, Compose service names, Docker network names, export/protocol identifiers, etc. remain unchanged in this cutover and are deferred to Rename remaining internal Karakeep identifiers to Marka #35.
Scope
Domain and application origin
Provision and validate marka.abhipraya.dev before retiring the old origin.
Update canonical application URL/origin configuration and every origin-dependent public URL generated by the app.
Audit and update authentication callbacks, allowed origins/CORS, cookies/session behavior, webhooks, RSS, API/OpenAPI examples, canonical URLs, and other hostname-dependent behavior where applicable.
Verify direct authentication and application behavior on the new hostname before enabling the legacy-host redirect.
After successful validation, configure keep.abhipraya.dev as a permanent redirect to the equivalent path/query on marka.abhipraya.dev.
GitHub repository identity
Rename absolutepraya/karakeep to absolutepraya/marka at the controlled cutover point.
Prepare repository-controlled reference changes before the rename where practical, then finish/apply them after the rename.
Update local/operator Git remotes to the new repository URL.
Audit and update current-tree repository references, raw GitHub URLs, badges, issue/PR templates, repository metadata, homepage, description, topics, social preview, Actions/configuration references, GitHub Pages/settings where applicable, and other active repository links.
Do not rewrite Git history or historical issues/PRs/comments solely to erase the old repository name. Update active content only where an old reference would mislead current work.
Do not create a replacement repository at the old absolutepraya/karakeep path; preserve GitHub's rename redirects.
GHCR and deployment
Hard-switch publishing from ghcr.io/absolutepraya/karakeep to ghcr.io/absolutepraya/marka.
Do not dual-publish legacy Karakeep image tags.
Ensure and verify both Marka web-main and workers-main images exist before pointing production at them.
Update the personal VPS production Compose, Watchtower update path, guided installer defaults, deployment docs, and all other active fork-owned references to use the Marka GHCR path.
Historical Karakeep GHCR images may remain available, but no new tags should be published there after cutover.
Discovery metadata and current public presentation
Align active web page titles, title templates, descriptions, Open Graph/Twitter metadata, structured data, manifests, favicons/social cards, canonical URLs, and current fork-owned documentation metadata with Marka where applicable.
Ensure newly generated public/share/RSS URLs use marka.abhipraya.dev after cutover.
Do not turn this issue into an app-store/package-distribution migration. Browser extension, mobile app, npm/SDK package, and MCP distribution identities are out of scope for rename/publishing changes in #27.
Only audit them for dependencies on repository URLs, public hostnames, GHCR paths, or other values changed by this cutover. Record follow-up work separately if required.
Preflight and backup
Inventory active public URLs, repository references, GHCR references, OAuth/auth callbacks, CORS/origin settings, webhooks, RSS/API endpoints, automated deployment dependencies, and current GitHub-side repository settings.
Before production changes, create a fresh production backup and download/store it on the local MacBook used to run the migration.
Include the persistent /data state and the current deployment configuration needed for recovery/reference, including Compose, environment/config files, reverse-proxy configuration, and current image/tag/digest information as applicable.
Never commit or print secrets. Verify the local backup is present/readable before proceeding.
A short controlled maintenance window is acceptable. Do not add complexity solely to achieve zero downtime.
Cutover principles
Configure and verify dependencies before switching consumers to them. In particular, Marka GHCR images must exist before production Compose changes, and marka.abhipraya.dev must work directly before the old hostname redirects.
Use explicit checkpoints and fail fast when a prerequisite is not satisfied.
This migration does not require a designed rollback procedure. If an issue is found during cutover, stop at the checkpoint, diagnose it, and move forward with a fix.
Do not close this issue automatically after implementation; report validation evidence and leave final closure to the repository owner unless explicitly instructed otherwise.
Acceptance criteria
absolutepraya/marka is the canonical repository and active repository references/remotes are updated.
CI publishes the paired Marka GHCR web/workers images and no longer publishes new fork images under absolutepraya/karakeep.
Production uses the Marka GHCR images and the automated Watchtower path remains functional.
https://marka.abhipraya.dev is the canonical working application origin with authentication and core functionality verified.
Newly generated public/share/RSS URLs use the Marka origin.
keep.abhipraya.dev redirects to the equivalent Marka path/query once the new origin is verified.
Current public discovery metadata and repository/documentation identity are coherent with Marka.
A verified pre-cutover production backup is stored locally on the migration MacBook.
Browser/mobile/npm/SDK/MCP surfaces were audited for coupling but not expanded into distribution migrations.
Goal
Complete the Marka public-identity cutover for this fork's actively operated web/self-host distribution surfaces: canonical domain, GitHub repository identity, GHCR images, repository/documentation references, deployment configuration, and web discovery metadata.
This issue intentionally does not expand into renaming/publishing browser-extension stores, mobile stores, npm/SDK packages, or MCP distribution identities. Those surfaces should only be audited here for accidental coupling or breakage and handled separately later if desired.
Relationship
Approved target identity
absolutepraya/markahttps://marka.abhipraya.devghcr.io/absolutepraya/marka:web-mainandghcr.io/absolutepraya/marka:workers-mainghcr.io/absolutepraya/karakeepimages are not a compatibility target. Stop publishing new tags there after cutover; historical images may remain.keep.abhipraya.devshould eventually become a permanent redirect tomarka.abhipraya.dev, preserving path and query string, after the new origin is fully verified.KARAKEEP_*,@karakeep/*, persisted paths, Compose service names, Docker network names, export/protocol identifiers, etc. remain unchanged in this cutover and are deferred to Rename remaining internal Karakeep identifiers to Marka #35.Scope
Domain and application origin
marka.abhipraya.devbefore retiring the old origin.keep.abhipraya.devas a permanent redirect to the equivalent path/query onmarka.abhipraya.dev.GitHub repository identity
absolutepraya/karakeeptoabsolutepraya/markaat the controlled cutover point.absolutepraya/karakeeppath; preserve GitHub's rename redirects.GHCR and deployment
ghcr.io/absolutepraya/karakeeptoghcr.io/absolutepraya/marka.web-mainandworkers-mainimages exist before pointing production at them.Discovery metadata and current public presentation
marka.abhipraya.devafter cutover.Explicitly deferred distribution surfaces
Do not turn this issue into an app-store/package-distribution migration. Browser extension, mobile app, npm/SDK package, and MCP distribution identities are out of scope for rename/publishing changes in #27.
Only audit them for dependencies on repository URLs, public hostnames, GHCR paths, or other values changed by this cutover. Record follow-up work separately if required.
Preflight and backup
/datastate and the current deployment configuration needed for recovery/reference, including Compose, environment/config files, reverse-proxy configuration, and current image/tag/digest information as applicable.Cutover principles
marka.abhipraya.devmust work directly before the old hostname redirects.Required production validation
Validate all applicable behavior after cutover, including:
marka.abhipraya.devweb-mainandworkers-mainavailabilitykeep.abhipraya.devredirect preserving path/query once enabledabsolutepraya/markaGuardrails
.envcontents or other secrets.Acceptance criteria
absolutepraya/markais the canonical repository and active repository references/remotes are updated.absolutepraya/karakeep.https://marka.abhipraya.devis the canonical working application origin with authentication and core functionality verified.keep.abhipraya.devredirects to the equivalent Marka path/query once the new origin is verified.