Who it is forA solo researcher who wants their reading and documents kept on a machine they control, instead of a hosted notes service.
The problemReading material is scattered across feeds, PDFs, and web pages, and there is no single private place to search and trace it.
The outcomeA running single-owner Stru Info instance with its database and data directory kept separate from the app image.
What you need first
- A machine that runs Docker and Docker Compose
- PostgreSQL 18, as recommended in the README
- Access to the docs/getting-started.md setup guide and a host port for STRUIINFO_HTTP_PORT
- Optional: a DeepSeek or OpenAI API key stored in an external key file, only if you want AI features
Steps
- Follow the first-install guide in docs/getting-started.md to set up the database role, configuration, and migrations.
- Start the app with
docker compose -f compose.production.yaml up -d app. - Check that the container is running with
docker compose -f compose.production.yaml ps. - Open Stru Info in a browser on the host port set by STRUIINFO_HTTP_PORT, keeping the port on loopback or a trusted private network.
Prompt for your agent
In the repo tntexploding/StruInfo, follow docs/getting-started.md to deploy a single-owner instance at <host-path> using Docker Compose and PostgreSQL 18. Report the output of `docker compose -f compose.production.yaml ps` and confirm the app container is running.
Caveat. The README says the app has no multi-user login, so the port must stay on loopback or a trusted network, or be reached through an authenticated HTTPS proxy, VPN, or SSH tunnel.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for tntexploding/StruInfo and "Run a private knowledge base on your own server"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer