milmilmilmil
Getting Started

Installation

Install milmil with Docker Compose in under five minutes.

Prerequisites

  • Docker Desktop or Docker Engine with the Compose plugin
  • ~2 GB disk space for images and app data
  • ≥ 1 GB free RAM

FFmpeg is bundled in the milmildev/milmil-api image. You do not need to install it on the host.

Install with Docker

Clone the repository

git clone https://github.com/milmil-dev/milmil.git
cd milmil

Create env files

milmil uses two env files with distinct responsibilities:

FileControls
.env (repo root)Compose-level: ports, volume paths, Postgres credentials
api/.envRuntime secrets: JWT_SECRET, DATABASE_URL, Redis, integrations
cp .env.example .env
cp api/.env.example api/.env

Generate a JWT secret (required)

The API refuses to start without a JWT_SECRET of at least 32 characters.

openssl rand -hex 32

Paste the output into the JWT_SECRET= line in api/.env.

Also set MILMIL_ENCRYPTION_KEY — run openssl rand -hex 32 again and paste it into api/.env under MILMIL_ENCRYPTION_KEY=. This encrypts stored storage credentials (rclone tokens, OAuth). If unset it falls back to JWT_SECRET.

Start the stack

docker compose up -d

First run pulls milmildev/milmil-api and milmildev/milmil-web (~1 minute).

Verify

docker compose ps

Every row should show running or healthy.

curl http://localhost:8080/health
# {"status":"ok","version":"1.0.0"}

Open the app

Visit http://localhost:3000 and follow the First-time Setup wizard to create your admin account and add a library.

Advanced

On this page