Container Install

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


  • 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 \

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.


Memos supports advanced startup options to customize the server behavior.

Docker Compose

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

    image: neosmemo/memos:stable
    container_name: memos
      - ~/.memos/:/var/opt/memos
      - 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.


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 `