Sign inSign up

pepebits/ghost-connector

By pepebits

•Updated about 21 hours ago

AI subagents that finish, optimize (SEO) and illustrate your Ghost drafts. Never publishes.

Image
0

1.0K

pepebits/ghost-connector repository overview

Ghost Connector

AI subagents that finish, optimize (SEO) and illustrate your Ghost⁠ drafts — and hand them back for you to review. A web panel for you or your team, plus a CLI.

It never publishes. Everything stays at status: draft. Publishing is always your call, in Ghost.

📖 Full documentation: github.com/Pepebits/ghost-connector⁠

⁠✨ What it does

  • ✍️ Completes or improves drafts, in the draft's own language, live as it writes
  • 🔎 SEO: meta, slug, tags, social cards, a quality score and Fix with AI
  • 🖼️ Featured images from Unsplash, Pixabay, Pexels, Openverse and Wikimedia Commons, with attribution
  • ✅ Block-by-block review, history and undo
  • 💡 Ideas from Google Search Console and Bing Webmaster Tools
  • 🤖 DeepSeek, Claude or any OpenAI-compatible API, with a daily spending cap
  • 👥 Users with roles (owner, admin, editor), 2FA, invites, notes and an activity log

⁠🚀 Quick start

mkdir -p ghost-data && cd ghost-data/..
# Configure step by step (Ghost Admin API key, AI provider key…):
docker run --rm -it -v "$PWD/ghost-data:/data" pepebits/ghost-connector setup
# Start the panel on http://127.0.0.1:4300
docker run -d --name ghost-connector --restart unless-stopped \
  -v "$PWD/ghost-data:/data" -p 127.0.0.1:4300:4300 pepebits/ghost-connector

Open http://127.0.0.1:4300 and create the first user right away: until it exists, whoever opens the panel becomes its owner.

⚠️ Keep -p 127.0.0.1:4300:4300. To reach it from elsewhere, put a reverse proxy or a tunnel with its own access control in front (for example Cloudflare Tunnel + Access) and set -e PUBLIC_URL=https://your.domain.

A ready-made docker-compose.yml⁠ (with an optional Cloudflare Tunnel) is in the repository.

⁠📦 Image

Tagslatest, X.Y and X.Y.Z
Platformslinux/amd64, linux/arm64
Volume/data: config.env (your configuration, with keys) and data/ (plans, images, users)
Port4300
Basenode:24-alpine, OS updates applied, no npm in the final image, scanned with Trivy on every release
Usernode (uid 1000) — the volume must be writable by it
Also onghcr.io/pepebits/ghost-connector

Any CLI command runs the same way: docker run --rm -v "$PWD/ghost-data:/data" pepebits/ghost-connector list. Full backup from a running container: docker exec ghost-connector ghost-connector backup.

⁠🔒 Security

Users with scrypt passwords and optional TOTP 2FA, owner-only API keys, draft-only writes with Ghost revisions. Report vulnerabilities as described in SECURITY.md⁠.


MIT⁠ © PEPEBITS⁠

Tag summary

Content type

Image

Digest

sha256:2f357b2ab…

Size

80 MB

Last updated

about 21 hours ago

docker pull pepebits/ghost-connector