Container Install

This document provides a basic guide on deploying Memos with Docker.

Prerequisites

  • Access to a server with Docker installed

Docker Run

To set up Memos using docker run, execute the following one command to start Memos:

docker run -d \
  --init \
  --name memos \
  --publish 5230:5230 \
  --volume ~/.memos/:/var/opt/memos \
  neosmemo/memos:stable

This command will launch Memos in the background, exposing it on port 5230. Data will be stored in ~/.memos/, a hidden directory inside your user's home.

Note

Memos supports advanced runtime options to customize the server behavior.

Docker Compose

To deploy Memos using docker compose, create a docker-compose.yml file with the following configuration:

services:
  memos:
    image: neosmemo/memos:stable
    container_name: memos
    volumes:
      - ~/.memos/:/var/opt/memos
    ports:
      - 5230:5230

Now, execute docker compose up -d to initiate Memos. While editing the port and data directory is possible, only modify the first port (e.g., 8081:5230) to specify an alternative port. The second port designates the port Memos is listening on inside the container. The same principle applies to directory paths, where the first path represents the location on your host system, and the second path signifies the directory inside the container.

Docker on Windows

As long as you have plenty of RAM, you can use Docker Desktop to run Memos.

Important

To store the data directly on the host, use /c/Users/<username>/memos/ or an absolute Windows path.

Docker Run on PowerShell

docker run -d `
  --init `
  --name memos `
  --publish 5230:5230 `
  --volume $Env:USERPROFILE\memos:/var/opt/memos `
  neosmemo/memos:stable