MikMok is a self-hosted short-video app for local disks and NAS libraries. It opens directly into a TikTok-style full-screen feed so you can browse mounted videos, uploads, and processed clips with a mobile-first playback experience.
It can also connect to a remote MyTube backend as a read-only source, so local and remote libraries can appear in the same feed with proxied streams, thumbnails, and author avatars.
- Full-screen vertical feed with swipe navigation
- Pause, mute, playback speed, favorite, and info card actions
- Resume the last watched video and playback position after refresh
- Mount local or NAS folders and scan them into a persistent SQLite index
- Upload videos into the built-in
Uploadssource - Connect one or more remote MyTube backends and merge their videos into the same feed
- Basic media processing pipeline for metadata, thumbnails, and transcode jobs
- Docker-ready deployment for NAS and home server setups
frontend/: React + Vite applicationbackend/: Express + SQLite API and media servicesdocuments/: system design, API docs, and setup guidesstacks/: Docker Compose examplesscripts/release/: image build and publish scripts
npm install
npm run devAfter startup:
- Frontend runs on the Vite dev server
- Backend API runs on
http://localhost:5552
docker compose -f stacks/docker-compose.yml up -dTypical container mounts:
- Data:
/app/backend/data - Uploads:
/app/backend/uploads - External media roots:
/mounts

