STREAMLINED PLAYBACK
Watch your courses without the marketing fluff. Resume where you left off. Natural sorted lessons. WebVTT subtitles auto-converted from .srt sidecars.
SkillGoblin is a tiny, self-contained learning platform that lives in a Docker box on your homelab. Drop folders of videos in. Watch. Track progress. No SaaS. No telemetry. No ads. Just you, your cave, and a small green helper.
Watch your courses without the marketing fluff. Resume where you left off. Natural sorted lessons. WebVTT subtitles auto-converted from .srt sidecars.
Runs on your homelab, your tailnet, your basement NAS. argon2id-hashed credentials, opaque cookie sessions, zero outbound calls.
A single Docker container. SQLite on disk. Boots in seconds. Runs on a Raspberry Pi with room to spare.
Drop a folder under data/content/. Add lesson subfolders, mp4 files, a thumbnail.png. The watcher picks it up. No DB editing. No upload UI.
Chokidar keeps an eye on your content directory. New courses appear automatically. Deleted ones vanish along with stale progress rows.
Mobile-first responsive design. Works on phones, tablets, and that one ancient laptop in the kitchen. PWA install supported.
One-click theme switch. Goblin approves.
Resume across sessions. Natural-sorted lessons.
Copy a folder. Watcher picks it up. Done.
Pull the image. Drop a docker-compose.yml.
docker compose up.
Drop video folders into
data/content/.
The goblin handles the rest — natural sort, thumbnails, progress, sessions. Even subtitles.
Yes. The Docker image is built for both amd64 and arm64. It runs happily on a Raspberry Pi 4, Raspberry Pi 5, and any arm64 homelab NAS or SBC.
Yes — SkillGoblin supports multiple accounts. Each user gets their own progress tracking. You can create PIN-protected or password-protected accounts via the admin panel.
Zero. No telemetry, no analytics, no outbound connections after startup. It does not know you exist and it prefers it that way. All data stays in your data/ folder.
Any format your browser can natively play — .mp4 (H.264/H.265), .webm, and .mkv are the most common. Subtitle files (.srt) are auto-converted to WebVTT on the fly.
Drop a folder into data/content/. Name it your course title. Add lesson subfolders with video files. Optionally add a thumbnail.png. The live file watcher picks it up in seconds — no restart needed.
Progress is stored in data/skillgoblin.db (SQLite). As long as your volume mount is in place, updates never touch your data. Pull the new image, restart — progress intact.
Fully. After the initial docker pull, SkillGoblin is completely air-gapped. Fonts are the only external resource on the landing page — the app itself has none.
No native app, but the interface is fully responsive and works great in a mobile browser. You can also use your browser's "Add to Home Screen" to install it as a PWA with a standalone icon.
SkillGoblin is free, open source, and AGPL-3.0. If it saved you from yet another SaaS subscription, drop a coin in the goblin's chest. Every Ko-fi keeps the dungeon torches lit.
☕ BUY THE GOBLIN A COFFEE