Skip to content

Homelab - Fragmentary Notes Tool memos


memos is an open-source, self-hosted memos tool. It supports Markdown syntax, public sharing, iframe embedding, tag management, calendar view, simple data migration, and backup capabilities.

Deployment (Docker Compose)

First, create a compose.yaml file and paste the following content:

version: "3.0"
    container_name: ${STACK_NAME}_app
    image: neosmemo/memos:${APP_VERSION}
      - ${APP_PORT}:5230
      - ${STACK_DIR}:/var/opt/memos
    restart: always

(Optional) It is recommended to create a .env file at the same level as compose.yaml and customize your environment variables. If you don't want to use environment variables, you can also customize your parameters directly within compose.yaml (e.g., replace ${STACK_NAME} with memos).

STACK_DIR=xxx # Customize your project storage path, e.g., ./memos

# memos
APP_PORT=xxxx # Customize the access port, choose one that is not already in use

Finally, execute the docker compose up -d command in the same directory as compose.yaml to start the orchestrated containers.

Configuration Details

For mobile iOS/Android app, you can use Moe Memos. There are also more third-party clients such as WeChat Mini Program, browser extensions, Telegram Bot, and others. Please refer to the contribution·memos documentation for more information.

To import and export user data, you can use the VS Code plugin SQLite. Download and open the memos_prod.db file under ${DIR} to perform various operations like adding, deleting, updating, importing, and exporting backups. Note that the memos_prod.db file is only updated when the Docker container is stopped or restarted.

References and Acknowledgments

This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.

This post is translated using ChatGPT, please feedback if any omissions.