<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Self-Hosting on Chengyu Wang</title><link>https://chengyu.eu/tags/self-hosting/</link><description>Recent content in Self-Hosting on Chengyu Wang</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Chengyu</copyright><lastBuildDate>Tue, 18 Aug 2026 18:00:12 +0000</lastBuildDate><atom:link href="https://chengyu.eu/tags/self-hosting/index.xml" rel="self" type="application/rss+xml"/><item><title>Building an Automatic Podcast Transcription and AI-Organizing System on My Synology NAS</title><link>https://chengyu.eu/posts/podcast-nas-ai-transcription-system/</link><pubDate>Tue, 18 Aug 2026 18:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/podcast-nas-ai-transcription-system/</guid><description>Rather than trying to run Whisper locally on an underpowered NAS, I offloaded transcription to Cloudflare Workers AI and article cleanup to LiteLLM, turning the NAS into an automation hub with its own web player for listening, searching, and reading.</description></item><item><title>DSM 7.4 Upgrade Log: A Smooth Update With One Small Letdown</title><link>https://chengyu.eu/posts/dsm-7-4-upgrade-storage-efficiency/</link><pubDate>Mon, 20 Jul 2026 08:00:54 +0000</pubDate><guid>https://chengyu.eu/posts/dsm-7-4-upgrade-storage-efficiency/</guid><description>Community reports convinced me DSM 7.4 was stable enough to risk on a production NAS — the upgrade went flawlessly, but the one feature I actually wanted, Storage Efficiency, turned out to be locked out of older hardware entirely.</description></item><item><title>Tinkering Log: Getting New Tricks Out of a DJI 4G Module</title><link>https://chengyu.eu/posts/dji-4g-module-new-tricks/</link><pubDate>Fri, 10 Jul 2026 07:55:28 +0000</pubDate><guid>https://chengyu.eu/posts/dji-4g-module-new-tricks/</guid><description>A DJI 4G module identifies itself with a private USB ID that Linux won&amp;rsquo;t drive properly — spoofing it as a generic Quectel EC25 unlocked full modem support, and it ended up running SMS management on an OpenWrt router instead of the NAS.</description></item><item><title>Immich 3.0 Upgrade Log: Taking a DS218+ From 2.7 to 3.0</title><link>https://chengyu.eu/posts/immich-3-upgrade-ds218plus/</link><pubDate>Thu, 09 Jul 2026 18:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/immich-3-upgrade-ds218plus/</guid><description>The official 3.0 release with built-in AI photo editing was tempting enough to risk an upgrade on a stable NAS setup — the process went smoothly, with the only surprise being a slow first-boot database migration that looked like a crash.</description></item><item><title>Tracking Down a Podsync 'Empty Duration' Crash: From a Bad Format String to Filling In the PO Token Gap</title><link>https://chengyu.eu/posts/podsync-po-token-crash-troubleshooting/</link><pubDate>Thu, 09 Jul 2026 14:08:34 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-po-token-crash-troubleshooting/</guid><description>One feed kept crashing Podsync with a cryptic &amp;lsquo;bad format string&amp;rsquo; error — three wrong turns later, the real fix meant switching Docker images and realizing YouTube&amp;rsquo;s PO Token wasn&amp;rsquo;t actually being generated at all.</description></item><item><title>From a Compromised VPS to Building a Real Website Backup System</title><link>https://chengyu.eu/posts/vps-breach-to-backup-system/</link><pubDate>Fri, 03 Jul 2026 10:00:10 +0000</pubDate><guid>https://chengyu.eu/posts/vps-breach-to-backup-system/</guid><description>After cleaning up malware off a VPS, the bigger realization was that defense alone isn&amp;rsquo;t enough without recoverability — so I built a four-layer backup system covering local snapshots, scheduled automation, off-site NAS sync, and recovery documentation.</description></item><item><title>Reflections After a VPS Security Incident: From Discovery to Building a Full Monitoring System</title><link>https://chengyu.eu/posts/vps-security-incident-reflection/</link><pubDate>Thu, 02 Jul 2026 12:37:21 +0000</pubDate><guid>https://chengyu.eu/posts/vps-security-incident-reflection/</guid><description>A cryptomining-style trojan ran undetected on my Oracle Cloud VPS for nearly 20 days — the real lesson wasn&amp;rsquo;t fixing that one box, but realizing monitoring itself needs to be monitored.</description></item><item><title>From Dropbox to Seafile: Letting the Files on My NAS Slowly Grow Into a Knowledge Base</title><link>https://chengyu.eu/posts/dropbox-to-seafile-nas-knowledge-base/</link><pubDate>Mon, 15 Jun 2026 08:00:48 +0000</pubDate><guid>https://chengyu.eu/posts/dropbox-to-seafile-nas-knowledge-base/</guid><description>After bringing photos home to Immich, files were next — Seafile replaced Dropbox for syncing, then got paired with Open WebUI, RAG, and LiteLLM to turn a plain file store into a searchable, AI-queryable knowledge base.</description></item><item><title>From Google Photos and iCloud to Immich: Building My Own Photo Management Hub</title><link>https://chengyu.eu/posts/google-photos-icloud-to-immich-migration/</link><pubDate>Mon, 15 Jun 2026 08:00:36 +0000</pubDate><guid>https://chengyu.eu/posts/google-photos-icloud-to-immich-migration/</guid><description>Photos scattered across Google Photos, iCloud, a Huawei phone, a DJI drone, and action cameras finally got consolidated into one self-hosted, deduplicated Immich library — though my aging Synology DS218+ is starting to show its limits.</description></item><item><title>AutoReel: A NAS-Oriented Tool for Auto-Organizing Movie and TV Files</title><link>https://chengyu.eu/posts/autoreel-nas-media-organizer/</link><pubDate>Sun, 24 May 2026 22:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/autoreel-nas-media-organizer/</guid><description>Built a small self-hosted tool that watches a download folder, identifies movies and TV episodes, and renames/moves them into an Emby/Jellyfin/Plex-friendly structure — deliberately conservative, preferring to flag unrecognized files rather than guess and rename wrong.</description></item><item><title>Podsync Monitoring and Alerts: Catching Failures Before Episodes Stop Updating</title><link>https://chengyu.eu/posts/podsync-monitoring-alerts/</link><pubDate>Tue, 05 May 2026 18:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-monitoring-alerts/</guid><description>Self-hosted Podsync fails silently when YouTube cookies get rotated out — a simple log-scanning script paired with scheduled tasks now pushes an alert within 10 minutes, plus twice-daily download reports.</description></item><item><title>Building My Own Information Feed Hub With TrendRadar</title><link>https://chengyu.eu/posts/trendradar-information-feed-hub/</link><pubDate>Mon, 04 May 2026 21:00:13 +0000</pubDate><guid>https://chengyu.eu/posts/trendradar-information-feed-hub/</guid><description>Too many English finance and tech RSS feeds to skim by hand — TrendRadar, an open-source aggregator, filters, translates, and summarizes them via AI, then pushes the results to Telegram.</description></item><item><title>Fixing a Broken Cover Image in My Podcast RSS Feeds</title><link>https://chengyu.eu/posts/fixing-podcast-rss-cover-image/</link><pubDate>Mon, 04 May 2026 20:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/fixing-podcast-rss-cover-image/</guid><description>One podcast pipeline&amp;rsquo;s cover art broke when its external image URL died; the fix was routing RSS cover URLs through a single local-file method, plus a couple of quality-of-life tweaks for a language-learning audio feed.</description></item><item><title>How I Rebuilt My Hermes Assistant So My Life's Domains Stop Bleeding Into Each Other</title><link>https://chengyu.eu/posts/hermes-domain-isolation-optimization/</link><pubDate>Wed, 29 Apr 2026 10:00:06 +0000</pubDate><guid>https://chengyu.eu/posts/hermes-domain-isolation-optimization/</guid><description>Investing talk kept leaking into work notes and vice versa — the fix was splitting Hermes into a router plus dedicated stock, work, diary, and life sub-assistants, each with its own knowledge base partition and a strict no-cross-referencing prompt.</description></item><item><title>Podsync Download Troubleshooting Diary</title><link>https://chengyu.eu/posts/podsync-cookie-troubleshooting-diary/</link><pubDate>Wed, 29 Apr 2026 09:00:07 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-cookie-troubleshooting-diary/</guid><description>Podsync started throwing YouTube bot-verification and rate-limit errors — the fix was exporting browser cookies into the container&amp;rsquo;s mounted data directory and wiring them into yt-dlp&amp;rsquo;s args.</description></item><item><title>This Weekend I Finally Built the Three-Part AI System I'd Been Thinking About</title><link>https://chengyu.eu/posts/trinity-ai-system-weekend-build/</link><pubDate>Mon, 20 Apr 2026 02:01:20 +0000</pubDate><guid>https://chengyu.eu/posts/trinity-ai-system-weekend-build/</guid><description>A personal assistant on the home NAS, a home assistant tied into an investment system, and an intelligence-gathering agent on a VPS — three modules starting to work together as a real perception-cognition-action loop, not just a pile of tools.</description></item><item><title>Getting LiteLLM's Model Routing Set Up Properly</title><link>https://chengyu.eu/posts/litellm-model-routing-config/</link><pubDate>Sun, 19 Apr 2026 23:00:11 +0000</pubDate><guid>https://chengyu.eu/posts/litellm-model-routing-config/</guid><description>A full writeup of the LiteLLM gateway config behind my AI stack — free NVIDIA NIM and OpenRouter models as the safety net, cheap paid models like DeepSeek V3 for daily use, and Claude Sonnet as an on-demand top-tier fallback.</description></item><item><title>Migrating Hermes to My Synology NAS</title><link>https://chengyu.eu/posts/hermes-synology-nas-deployment/</link><pubDate>Sun, 19 Apr 2026 22:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/hermes-synology-nas-deployment/</guid><description>After getting Hermes running on a VPS, I moved it to my Synology NAS instead so it could gradually gain access to household journal and investment data as an internal AI hub — and redesigned the model routing along the way.</description></item><item><title>Hermes: Setting Up My New AI Assistant</title><link>https://chengyu.eu/posts/hermes-new-ai-assistant-setup/</link><pubDate>Sun, 19 Apr 2026 01:00:07 +0000</pubDate><guid>https://chengyu.eu/posts/hermes-new-ai-assistant-setup/</guid><description>OpenClaw&amp;rsquo;s buzz is fading and everyone&amp;rsquo;s talking about Hermes — its token compression alone (50%+, reportedly up to 70% in some cases) was reason enough to spin up a VPS and try it.</description></item><item><title>VibeVoice Setup Diary (ASR + TTS Exploration)</title><link>https://chengyu.eu/posts/vibevoice-asr-tts-setup-diary/</link><pubDate>Sat, 18 Apr 2026 10:01:18 +0000</pubDate><guid>https://chengyu.eu/posts/vibevoice-asr-tts-setup-diary/</guid><description>Setting up Microsoft&amp;rsquo;s VibeVoice to test audio-to-subtitle generation and text-to-speech: the ASR side (multi-speaker SRT generation) turned out production-ready, while TTS — especially Chinese — wasn&amp;rsquo;t there yet.</description></item><item><title>Tracking Down Why My Ubuntu Server Kept Auto-Restarting After Shutdown, Post Wake-on-LAN Setup</title><link>https://chengyu.eu/posts/ubuntu-wol-shutdown-auto-restart-fix/</link><pubDate>Sat, 18 Apr 2026 09:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/ubuntu-wol-shutdown-auto-restart-fix/</guid><description>A GPU server configured for Wake-on-LAN would shut down cleanly, then reboot itself ~10 seconds later — the culprit was ACPI wakeup left enabled on the network card, letting ordinary LAN broadcast traffic trigger a wake, not just the magic packet.</description></item><item><title>OpenClaw's Weekend "Zero-Cost" Overhaul</title><link>https://chengyu.eu/posts/openclaw-weekend-zero-cost-overhaul/</link><pubDate>Sat, 11 Apr 2026 17:33:00 +0000</pubDate><guid>https://chengyu.eu/posts/openclaw-weekend-zero-cost-overhaul/</guid><description>When my free Google Cloud credits ran out and Gemini started rate-limiting, I rebuilt OpenClaw&amp;rsquo;s model chain into a three-tier free-and-cheap failover setup — and rethought which use cases were still worth the tokens.</description></item><item><title>Optimizing OpenClaw's Quiz Response Speed</title><link>https://chengyu.eu/posts/openclaw-quiz-speed-optimization/</link><pubDate>Sun, 15 Mar 2026 00:04:00 +0000</pubDate><guid>https://chengyu.eu/posts/openclaw-quiz-speed-optimization/</guid><description>Adding a quiz question was taking 2-3 minutes and getting slower over time — the fix was switching the data file from a JSON array to NDJSON so new items append in one line instead of a full rewrite.</description></item><item><title>Chasing Down OpenClaw's Slow-Reply Problem: Auth Profiles and Session Stickiness</title><link>https://chengyu.eu/posts/openclaw-api-rate-limit-fix/</link><pubDate>Sat, 14 Mar 2026 22:00:47 +0000</pubDate><guid>https://chengyu.eu/posts/openclaw-api-rate-limit-fix/</guid><description>Adding more API keys didn&amp;rsquo;t fix the slowdowns — the real issue was a key that existed in secrets but was never registered for failover, plus session pinning that kept using the same key after a restart.</description></item><item><title>OpenClaw × Blog × WeChat: Wiring Up a Full Automation Pipeline</title><link>https://chengyu.eu/posts/openclaw-blog-wechat-automation/</link><pubDate>Mon, 23 Feb 2026 10:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/openclaw-blog-wechat-automation/</guid><description>From a rough idea in OpenClaw to a published blog post to a WeChat Official Account draft — with a VPS script standing in as the bridge and quietly fixing WeChat&amp;rsquo;s image hotlink problem along the way.</description></item><item><title>Connecting Clawdbot to Obsidian, Apple Notes, and Everything Else</title><link>https://chengyu.eu/posts/clawdbot-obsidian-apple-notes-integration/</link><pubDate>Thu, 12 Feb 2026 11:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/clawdbot-obsidian-apple-notes-integration/</guid><description>Voice in, an Obsidian note out, a blog post and short video out the other end automatically — plus Apple Notes, Google Sheets, and an email pipeline running hands-free.</description></item><item><title>Ops Diary: Expanding My Hyonix VPS</title><link>https://chengyu.eu/posts/hyonix-vps-expansion/</link><pubDate>Wed, 04 Feb 2026 22:00:21 +0000</pubDate><guid>https://chengyu.eu/posts/hyonix-vps-expansion/</guid><description>A WSL2 dead end on an old Windows Server 1809 box turned into a pleasant surprise: one support ticket doubled the disk quota on a four-year-old VPS.</description></item><item><title>Forcing HTTPS on My Typecho Blog on Tencent Cloud Lighthouse</title><link>https://chengyu.eu/posts/forcing-https-typecho-tencent-lighthouse/</link><pubDate>Wed, 28 Jan 2026 22:20:13 +0000</pubDate><guid>https://chengyu.eu/posts/forcing-https-typecho-tencent-lighthouse/</guid><description>The blog answered on both HTTP and HTTPS at once — tracking down the default_server catching every HTTP request and rewriting it into a clean 301 chain to a single canonical domain.</description></item><item><title>Clawdbot 2026: VPS Deployment and Hardening Diary</title><link>https://chengyu.eu/posts/clawdbot-2026-vps-deployment/</link><pubDate>Wed, 28 Jan 2026 21:59:54 +0000</pubDate><guid>https://chengyu.eu/posts/clawdbot-2026-vps-deployment/</guid><description>Working around a broken systemd installer, teaching a model to fetch stock data itself when the plugin store isn&amp;rsquo;t reachable, and locking the firewall down to SSH-only.</description></item><item><title>Today's Ops Log: Switching AI Tools and Reworking the Network</title><link>https://chengyu.eu/posts/todays-ops-log-codex-network-podsync/</link><pubDate>Fri, 23 Jan 2026 15:00:18 +0000</pubDate><guid>https://chengyu.eu/posts/todays-ops-log-codex-network-podsync/</guid><description>Moving from Cursor to OpenAI Codex, two days spent simplifying the network layout, a fix for Podsync&amp;rsquo;s YouTube rate-limiting, and a disposable-container trick for benchmarking a NAS.</description></item><item><title>Making Caddy Reverse-Proxy FreePBX Alongside Another Internal Web Service</title><link>https://chengyu.eu/posts/caddy-reverse-proxy-freepbx/</link><pubDate>Wed, 21 Jan 2026 23:00:24 +0000</pubDate><guid>https://chengyu.eu/posts/caddy-reverse-proxy-freepbx/</guid><description>FreePBX kept redirecting the browser back to its raw :8080 port even behind a reverse proxy — the fix was rewriting the Location header on the way out, not just spoofing headers going in.</description></item><item><title>Switching My Blog to a Free ACME Certificate</title><link>https://chengyu.eu/posts/switching-blog-to-acme-certificate/</link><pubDate>Wed, 21 Jan 2026 17:00:07 +0000</pubDate><guid>https://chengyu.eu/posts/switching-blog-to-acme-certificate/</guid><description>Tired of Tencent Cloud&amp;rsquo;s free certificate silently expiring and needing manual re-binding, I moved my Typecho blog over to acme.sh via a Gitee mirror instead.</description></item><item><title>FreePBX Deployment Diary #3: The First Successful Test Call</title><link>https://chengyu.eu/posts/freepbx-diary-3-first-test-call/</link><pubDate>Mon, 19 Jan 2026 00:01:07 +0000</pubDate><guid>https://chengyu.eu/posts/freepbx-diary-3-first-test-call/</guid><description>Creating extensions, getting UDP registration working first, then chasing down a misleading &amp;lsquo;wrong password&amp;rsquo; error that was actually a TLS transport and certificate mismatch.</description></item><item><title>FreePBX Deployment Diary #2: HTTPS and Automatic Backups</title><link>https://chengyu.eu/posts/freepbx-diary-2-https-backup/</link><pubDate>Sun, 18 Jan 2026 20:00:47 +0000</pubDate><guid>https://chengyu.eu/posts/freepbx-diary-2-https-backup/</guid><description>Getting Let&amp;rsquo;s Encrypt working on the admin panel and setting up a weekly automatic backup — the two unglamorous steps that make a FreePBX box actually production-ready.</description></item><item><title>FreePBX Deployment Diary #1: Install and Network Setup</title><link>https://chengyu.eu/posts/freepbx-diary-1-install-network/</link><pubDate>Sun, 18 Jan 2026 00:01:12 +0000</pubDate><guid>https://chengyu.eu/posts/freepbx-diary-1-install-network/</guid><description>First contact with FreePBX 17 on Debian — a Vultr trial instance, the official one-shot install script, and the firewall gotcha that can lock you out of your own server.</description></item><item><title>Fixing an Exposed Directory Listing in My Podsync Docker Service</title><link>https://chengyu.eu/posts/podsync-directory-exposure-fix/</link><pubDate>Wed, 09 Jul 2025 11:00:06 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-directory-exposure-fix/</guid><description>A missing index.html meant Podsync&amp;rsquo;s web server was serving up a full directory listing of everything it had synced — here&amp;rsquo;s the one-file fix.</description></item><item><title>100 Projects Before I Retire, #4: A MinIO Object Storage Service</title><link>https://chengyu.eu/posts/minio-object-storage-project/</link><pubDate>Mon, 16 Jun 2025 09:00:05 +0000</pubDate><guid>https://chengyu.eu/posts/minio-object-storage-project/</guid><description>Turning a cheap, low-spec server into a dedicated S3-compatible object store for images, audio, and video, instead of hosting another website on it.</description></item><item><title>Reviving a Shelved Router: Reflashing a GL-SFT1200</title><link>https://chengyu.eu/posts/gl-sft1200-router-reflash/</link><pubDate>Wed, 11 Jun 2025 11:00:16 +0000</pubDate><guid>https://chengyu.eu/posts/gl-sft1200-router-reflash/</guid><description>A painfully slow GL.iNet Opal, rescued from a drawer with a two-step official firmware upgrade instead of a U-Boot flash.</description></item><item><title>Bored, So I Coded Up My Own Voice Clone</title><link>https://chengyu.eu/posts/diy-voice-cloning-project/</link><pubDate>Sat, 10 May 2025 10:00:18 +0000</pubDate><guid>https://chengyu.eu/posts/diy-voice-cloning-project/</guid><description>An open-source voice cloning project on a consumer GPU, then wired into my publishing pipeline so blog posts turn into short videos automatically.</description></item><item><title>Running Unlimited AI Translation Locally with Qwen3 4B</title><link>https://chengyu.eu/posts/qwen3-4b-unlimited-local-translation/</link><pubDate>Fri, 09 May 2025 18:00:21 +0000</pubDate><guid>https://chengyu.eu/posts/qwen3-4b-unlimited-local-translation/</guid><description>Pairing a small local Qwen3 4B model with Immersive Translate for a private, uncapped translation setup — plus a prompt trick that speeds it up.</description></item><item><title>Migrating My Image Host From a Self-Built Google Drive Setup to Chevereto</title><link>https://chengyu.eu/posts/migrating-image-host-to-chevereto/</link><pubDate>Sun, 24 Nov 2024 22:00:17 +0000</pubDate><guid>https://chengyu.eu/posts/migrating-image-host-to-chevereto/</guid><description>Swapping a 2TB Google Drive image host that needed re-authorizing every few days for a self-hosted Chevereto setup behind Cloudflare Tunnel.</description></item><item><title>My Free Image Host Died Overnight — and How I Rebuilt It</title><link>https://chengyu.eu/posts/telegram-image-hosting-shutdown/</link><pubDate>Sat, 07 Sep 2024 23:16:00 +0000</pubDate><guid>https://chengyu.eu/posts/telegram-image-hosting-shutdown/</guid><description>Telegram quietly killed Telegraph&amp;rsquo;s image-hosting support, breaking the free image pipeline my blog depended on — here&amp;rsquo;s how I patched it back together in a day.</description></item><item><title>Wrapping Whisper in a FastAPI Service for Remote Transcription</title><link>https://chengyu.eu/posts/whisper-fastapi-remote-service/</link><pubDate>Sun, 25 Aug 2024 19:00:02 +0000</pubDate><guid>https://chengyu.eu/posts/whisper-fastapi-remote-service/</guid><description>Offloading transcription from a GPU-less NAS to a desktop with an actual GPU, exposed as a simple internal API.</description></item><item><title>A Weekend with RAGFlow: Building My Own RAG-Based Knowledge Base</title><link>https://chengyu.eu/posts/ragflow-personal-rag-knowledge-base/</link><pubDate>Sun, 25 Aug 2024 16:00:30 +0000</pubDate><guid>https://chengyu.eu/posts/ragflow-personal-rag-knowledge-base/</guid><description>Deploying the open-source RAGFlow project, testing it against real documents, and wiring it up to local Ollama models to keep costs at zero.</description></item><item><title>Deploying Whisper on My NAS: Two Storage Gotchas</title><link>https://chengyu.eu/posts/whisper-on-nas-storage-fixes/</link><pubDate>Sat, 10 Aug 2024 21:00:17 +0000</pubDate><guid>https://chengyu.eu/posts/whisper-on-nas-storage-fixes/</guid><description>A simple script to auto-transcribe Obsidian voice notes, derailed twice by the NAS running out of space in root and /tmp.</description></item><item><title>Podsync Stopped Fetching New Episodes — Turns Out It Was Google</title><link>https://chengyu.eu/posts/podsync-google-blocking-issue/</link><pubDate>Sat, 10 Aug 2024 10:00:13 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-google-blocking-issue/</guid><description>A morning-commute podcast habit broken by an upstream block, not anything on my end.</description></item><item><title>Trying Out Smart Connections: an AI Plugin for Obsidian</title><link>https://chengyu.eu/posts/obsidian-smart-connections-plugin/</link><pubDate>Thu, 08 Aug 2024 11:00:18 +0000</pubDate><guid>https://chengyu.eu/posts/obsidian-smart-connections-plugin/</guid><description>Chatting with my own notes via a local model, plus a gotcha when pointing the plugin at a self-hosted One API server.</description></item><item><title>Keeping Markdown Formatting Intact When Obsidian Syncs to Typecho</title><link>https://chengyu.eu/posts/obsidian-typecho-markdown-sync-fix/</link><pubDate>Sun, 04 Aug 2024 00:00:38 +0000</pubDate><guid>https://chengyu.eu/posts/obsidian-typecho-markdown-sync-fix/</guid><description>My Obsidian-based writing setup was publishing beautifully, except synced posts landed in Typecho full of raw HTML clutter — a hidden XML-RPC setting fixed it.</description></item><item><title>Building a Personal Knowledge Base with MaxKB on My NAS</title><link>https://chengyu.eu/posts/maxkb-personal-knowledge-base/</link><pubDate>Fri, 10 May 2024 09:00:23 +0000</pubDate><guid>https://chengyu.eu/posts/maxkb-personal-knowledge-base/</guid><description>Self-hosting the open-source MaxKB knowledge-base tool at home, and pointing it at a Qwen-backed model for Chinese-language documents.</description></item><item><title>Running Llama 3 Locally with Open WebUI</title><link>https://chengyu.eu/posts/local-llama3-open-webui/</link><pubDate>Fri, 10 May 2024 09:00:11 +0000</pubDate><guid>https://chengyu.eu/posts/local-llama3-open-webui/</guid><description>Pairing a consumer GPU running local Llama 3 with Open WebUI and One API to combine local and remote models behind one interface.</description></item><item><title>Whisper + Obsidian: Fully Automatic Voice-to-Text Notes</title><link>https://chengyu.eu/posts/whisper-obsidian-voice-notes/</link><pubDate>Wed, 01 May 2024 13:00:11 +0000</pubDate><guid>https://chengyu.eu/posts/whisper-obsidian-voice-notes/</guid><description>Wiring up Obsidian&amp;rsquo;s Whisper plugin to the free Cloudflare-backed OpenAI API from the previous post.</description></item><item><title>Patching the Jasmine Theme to Show a Post's First Image as Its Thumbnail</title><link>https://chengyu.eu/posts/typecho-jasmine-theme-thumbnails/</link><pubDate>Sun, 28 Apr 2024 17:05:00 +0000</pubDate><guid>https://chengyu.eu/posts/typecho-jasmine-theme-thumbnails/</guid><description>Obsidian&amp;rsquo;s sync to Typecho doesn&amp;rsquo;t support custom fields over XML-RPC, so I patched the theme instead.</description></item><item><title>Two Quick Wins for This Blog: Caching and Visitor Analytics</title><link>https://chengyu.eu/posts/website-caching-and-analytics/</link><pubDate>Sun, 28 Apr 2024 13:57:08 +0000</pubDate><guid>https://chengyu.eu/posts/website-caching-and-analytics/</guid><description>Adding a caching plugin for faster page loads, plus wiring up Google Analytics.</description></item><item><title>Trying Out Local LLM Deployment: GPT-3.5 vs. Qwen-7B</title><link>https://chengyu.eu/posts/local-llm-deployment-experience/</link><pubDate>Tue, 23 Apr 2024 15:30:00 +0000</pubDate><guid>https://chengyu.eu/posts/local-llm-deployment-experience/</guid><description>Some hands-on experiments with un-tuned open models, and a few thoughts on where the real value in LLM products actually sits.</description></item><item><title>Self-Hosting Immich on My Synology NAS: Batch-Importing My Photo Library</title><link>https://chengyu.eu/posts/immich-nas-batch-photo-import/</link><pubDate>Sun, 14 Apr 2024 17:44:00 +0000</pubDate><guid>https://chengyu.eu/posts/immich-nas-batch-photo-import/</guid><description>Getting Immich running on a home NAS and bulk-uploading years of photos with the CLI.</description></item></channel></rss>