Turn Your Raspberry Pi Into a Self-Hosted AI Publishing Station
Running an AI-powered content pipeline usually means either paying for SaaS tools or wrestling with cloud APIs. But what if you could run the whole thing — blog generation, social post drafting, and multi-platform publishing — from a $35 Raspberry Pi on your desk?
With social-media-kit (smkit v2.4.1) and Ollama Cloud, that setup is not only possible but surprisingly straightforward. Here is a hands-on walkthrough.
Why Ollama Cloud on a Pi?
Local LLMs on a Raspberry Pi are constrained by RAM. Even a 7B parameter model struggles on 8 GB. Ollama Cloud lets you offload the heavy inference to remote servers while keeping the orchestration, dashboard, and publishing logic local.
The Pi becomes a lightweight publishing station — not a GPU cluster.
Step-by-step: From zero to a live publish
1. Install in a virtual environment
python -m venv smkit-env
source smkit-env/bin/activate
pip install smkit==2.4.1
2. Configure your LLM provider
Point smkit at Ollama Cloud and pick a capable cloud model:
provider: ollama
model: glm-5.1:cloud
No local model weights, no GPU fan noise.
3. Create a channel-limited profile
Define a profile that only enables the channels you intend to test — blog, Facebook, LinkedIn, for example. This prevents accidental cross-publishing if a config file has stale credentials.
4. Run a dry-run first
smkit run \
--topic "Your topic" \
--profile live-blog-fb-linkedin \
--provider ollama \
--model glm-5.1:cloud \
--dry-run \
--verbose
The --dry-run flag skips the actual publish call. It still runs the model and generates the draft and social posts, so you can inspect everything before anything goes live.
5. Inspect the dashboard on your phone
Start the web dashboard:
smkit dashboard --host 0.0.0.0 --port 8081
If you have UFW enabled:
sudo ufw allow from 192.168.40.0/24 to any port 8081 proto tcp
Open http://192.168.40.209:8081 from any device on the same LAN — phone, tablet, laptop. Enter a topic, toggle dry-run, and review the generated article and platform-native posts before committing.
6. Publish live
When everything checks out:
smkit run \
--topic "Your topic" \
--profile live-blog-fb-linkedin \
--provider ollama \
--model glm-5.1:cloud \
--yes \
--verbose
Real-world note: LinkedIn tokens expire
During testing the blog and Facebook pipelines passed cleanly. LinkedIn reached the API but returned INVALID_ACCESS_TOKEN — which means the integration path works, but the stored token had expired.
LinkedIn access tokens are short-lived. Before a live demo or sale call, run the refresh script:
scripts/linkedin_oauth.py
This is not a bug — it's standard OAuth hygiene. Factor it into your demo checklist.
Why this matters
You now have a self-contained, AI-powered publishing station that:
- Runs on a Raspberry Pi (no cloud VM costs)
- Generates blog articles and native social posts from one command
- Lets you review everything via a phone-friendly dashboard before publishing
- Costs nothing beyond the Pi and your Ollama Cloud credits
For founders and indie builders who want to own their pipeline end-to-end, this is a strong alternative to Hootsuite, Buffer, or Jasper — all running on hardware you already own.
Want more hands-on engineering content like this? Follow BuildWithAbdallah for practical AI and infrastructure tutorials.