๐ŸŒฑ Mikochi: a minimalist remote file browser

May 14, 2026 ยท View on GitHub

Mikochi is a remote file browser for your self-hosted server or NAS. It allows you to browse remote folders, upload, delete, rename and download files. You can also use it to generate streaming links which can be played using VLC or mpv

mikochi

Features

  • Browse files on you remote server
  • Fuzzy search
  • Upload new files and create folders
  • Rename and delete files
  • Download files and directories (in .tar.gz)
  • Stream files to VLC/MPV
  • Lightweight web interface built in Preact
  • High-performance server built in Go/Gin

Getting started

Docker

Launch the app using docker:

docker run \
-p 8080:8080 -v $(PWD)/data:/data \
-e DATA_DIR="/data" -e USERNAME=zer0tonin \
-e PASSWORD=horsebatterysomething zer0tonin/mikochi:latest

You'll find a complete tutorial on installing Mikochi securely with Docker and Traefik here.

Kubernetes

For Kubernetes users, Mikochi is installable using a helm chart:

helm repo add zer0tonin https://zer0tonin.github.io/helm-charts/
helm install mikochi zer0tonin/mikochi \
--version 1.10.0 --set mikochi.username=zer0tonin \
--set mikochi.password=my_super_password --set persistence.enabled=true

Debian / Ubuntu / Mint

Install the app using a .deb package from the latest release.

wget -c https://github.com/zer0tonin/Mikochi/releases/download/1.10.0/mikochi-1.10.0-linux-amd64.deb

sudo chmod +x mikochi-1.10.0-linux-amd64.deb
sudo apt install mikochi-1.10.0-linux-amd64.deb
sudo mkdir /data

PASSWORD=horsebatterysomething mikochi

Fedora / Red Hat / CentOS

Install the app using a .rpm package from the latest release.

wget -c https://github.com/zer0tonin/Mikochi/releases/download/1.10.0/mikochi-1.10.0-linux-amd64.rpm

sudo chmod +x mikochi-1.10.0-linux-amd64.rpm
sudo rpm -ivh mikochi-1.10.0-linux-amd64.rpm
sudo mkdir /data

PASSWORD=horsebatterysomething mikochi

Binary

Launch the app using a pre-compiled binary from the latest release:

wget -c https://github.com/zer0tonin/Mikochi/releases/download/1.10.0/mikochi-1.10.0-linux-amd64.tar.gz -O - | tar -xz

sudo mkdir /data
sudo mkdir /usr/share/mikochi
sudo mv ./mikochi-1.10.0/mikochi /usr/bin/mikochi
sudo mv ./mikochi-1.10.0/static /usr/share/mikochi/static

PASSWORD=horsebatterysomething mikochi

Configuration

Mikochi is configured using environment variables

KeyDescriptionDefault
HOSTThe ip:port mikochi will listen on0.0.0.0:80
DATA_DIRThe directory accessed by mikochi/data
JWT_SECRETA secret string for jwt validation[Random]
USERNAMEThe username to login withroot
PASSWORDThe password to login withpass
CERT_CAThe path to a TLS certificatenull
CERT_KEYThe path to the key associated with CERT_CAnull
NO_AUTHIf true, disables all authenticationfalse
GZIPIf true, enables gzip compressionfalse
FRONTEND_FILESThe location of the frontend static files/usr/share/mikochi/static

Note: it is recommended to not manually set JWT_SECRET, as getting a new randomly generated secret everytime when mikochi starts let's you invalidate authentication tokens by restarting the process.

Launching the development environment

The development environment and build pipeline rely on Docker/docker-compose.

Run the dockerized development environment with:

make dev

It will start a frontend container (listening on 5000), a backend container (listening on 4000) and an nginx to wire both (listening on 8080).