feat: Add Docker support for NAS deployment#9
Closed
EconoBen wants to merge 3 commits into
Closed
Conversation
- Add multi-stage Dockerfile (golang builder + debian-slim runtime) - Add .dockerignore to reduce build context - Add docker-compose.yml template for easy deployment - Add GitHub Actions workflow for multi-arch builds (amd64/arm64) - Add Makefile docker-* targets for local development Tested: - Docker build succeeds - Container runs as non-root user (UID 1000) - Volume persistence works - Image size: 212MB Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
I was about to do this but you got to it already. 🙏 |
- Add trailing newline to .dockerignore - Require MSGVAULT_API_KEY env var (no insecure default) - Update .roborev.toml with beads integration and guidelines Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Member
|
Thank you for working on this, definitely something that has been on my wishlist! I'm backlogged because of the flurry of contributions and activity so once I get out of triage mode to help users onboarding into msgvault I will take a closer look at this, but it may be several days yet |
twigley
reviewed
Feb 4, 2026
|
|
||
| services: | ||
| msgvault: | ||
| image: ghcr.io/econoben/msgvault:latest |
There was a problem hiding this comment.
Suggested change
| image: ghcr.io/econoben/msgvault:latest | |
| image: ghcr.io/wesm/msgvault:latest |
Member
|
superseded by #77 |
webgress
added a commit
to webgress/msgvault
that referenced
this pull request
May 22, 2026
… fixes External review batch. BLOCKER kenn-io#9 — verify silently skipped its integrity check on PG. - Updated cmd/msgvault/cmd/verify.go to print "Skipping database integrity check (PostgreSQL — use pg_amcheck out-of-band)." instead of silently swallowing the step. Rewrote the cobra Long description so both the SQLite branch ("runs PRAGMA integrity_check") and the PG branch ("prints a notice…") are visible to --help readers. Kept the IsPostgreSQL() guard inside runIntegrityCheck as belt-and-braces for any future caller. IMPORTANT kenn-io#4 — legacy SearchMessages bypassed BuildFTSArg. - internal/store/api.go SearchMessages bound the raw user query string straight into FTSSearchClause's placeholder. On PG that fed to_tsquery un-escaped input; multi-word or punctuated queries (the norm) errored at the parser. On SQLite raw FTS5 metacharacters in user input would reach MATCH the same way. Now SearchMessages splits on whitespace and delegates to SearchMessagesQuery so the dialect's BuildFTSArg sanitizes per backend and the just-landed FALSE-fallback handles tokenless inputs uniformly. Whitespace-only input short-circuits to zero hits before invoking the FTS pipeline. NIT kenn-io#1, kenn-io#14 — dialect comments drifted from current behavior. - internal/store/dialect.go BuildFTSArg interface comment now describes the actual prefix-match output shape on both backends and the empty-fallback contract. - internal/store/dialect_pg.go BuildFTSArg comment trimmed of the past-tense plainto_tsquery history; now describes only the current to_tsquery shape and the empty-fallback rule. Tests - TestSearchMessages_LegacyRawString covers multi-word, single-word, pure punctuation, pure dashes, whitespace-only, and mixed punctuation inputs to the legacy entrypoint. Runs on both SQLite and PostgreSQL via storetest.New / testutil.NewTestStore.
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.
Summary
Adds Docker-based deployment infrastructure for running msgvault on Synology NAS and similar devices.
Test plan
msgvault versionworks in containermake test)Notes
This is Phase 1 of the NAS deployment feature. Future phases will add:
🤖 Generated with Claude Code