Skip to content

franklioxygen/MikMok

Repository files navigation

MikMok Logo

MikMok

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.

中文

MikMok preview

Features

  • 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 Uploads source
  • 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

Project Structure

  • frontend/: React + Vite application
  • backend/: Express + SQLite API and media services
  • documents/: system design, API docs, and setup guides
  • stacks/: Docker Compose examples
  • scripts/release/: image build and publish scripts

Local Development

npm install
npm run dev

After startup:

  • Frontend runs on the Vite dev server
  • Backend API runs on http://localhost:5552

Docker Deployment

docker compose -f stacks/docker-compose.yml up -d

Typical container mounts:

  • Data: /app/backend/data
  • Uploads: /app/backend/uploads
  • External media roots: /mounts

Documentation

About

MikMok is a self-hosted short-video web 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.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors