{{ message }}
Add Quire Ink - #6025
Open
joiha-steven wants to merge 2 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Type
New app
App
App ID: quireink
Upstream project: https://github.com/joiha-steven/quireink
Version: 2.2.1
Summary
Adds Quire Ink, a self-hosted blog platform in one container: Markdown editor with tables,
footnotes and mathematics, scheduled publishing, newsletters over the owner's own SMTP,
comments with a built-in spam gate, cookie-free analytics, full-text search, book-style
reading mode, importers for WordPress/Ghost/Substack/Medium, an MCP server so AI agents can
write and steward the blog, and eleven interface languages. One process, two SQLite files,
one uploads directory — no database sidecar. Readers are served 3.8–8.7 KB of JavaScript
and no third-party request anywhere.
I am the upstream developer.
Verification
Umbrel testing performed: composed the package outside umbrelOS (app_proxy stubbed,
APP_DATA_DIRandDEVICE_DOMAIN_NAMEprovided): the pinned image pulls by digest, theapp answers
/api/healthok, data persists to${APP_DATA_DIR}/data/...bind mountsacross restart, the process drops to UID 1000 (the image's entrypoint adopts PUID/PGID
1000:1000 and chowns the bind mounts only when needed), and the first-run claim link is
printed with the Umbrel-facing URL
http://umbrel.local:3477/....Environment tested:
Architecture tested:
Known lint warnings or caveats: none known.
Notes
PROXY_AUTH_ADD: "false": a blog is intentionally public, and the admin has its ownpassword + TOTP login.
/setup?token=…link into its log at every start until claimed; the description tellsusers to open the app's logs from Troubleshoot right after install. Everything after the
link is in the browser (account, authenticator QR, recovery codes).
SITE_URLis set tohttp://${DEVICE_DOMAIN_NAME}:3477; users who expose the blogpublicly (e.g. Cloudflare Tunnel) change the address later in the app's own Settings.
pinned here is the manifest-list digest, identical on both registries.