Docker部署Memos个人备忘录

0 4.3~5.5 分钟

Github

# 创建文件夹及yaml文件
mkdir /opt/memos && cd /opt/memos
nano docker-compose.yaml

Docker-CLI

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

更新

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

Docker-compose

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

更新

docker stop memos && docker rm memos
cp -r ~/.memos/memos_prod.db ~/.memos/memos_prod.db.bak
docker pull neosmemo/memos:0.23.0-rc.0
docker pull neosmemo/memos:stable

使用外部数据库

Postgres数据库

services:
  memos:
    image: neosmemo/memos:stable
    restart: always
    depends_on:
      - db
    ports:
      - "5230:5230"
    environment:
      MEMOS_DRIVER: postgres
      MEMOS_DSN: "user=memoss password=secrets dbname=memosdb host=db sslmode=disable"

  db:
    image: postgres:16.1
    restart: unless-stopped
    volumes:
      - "./database:/var/lib/postgresql/data/"
    environment:
      POSTGRES_USER: memoss
      POSTGRES_PASSWORD: secrets
      POSTGRES_DB: memosdb

Mysql 数据库

services:
  db:
    image: mysql:8.1.0
    container_name: db
    restart: always
    networks:
      - memos_network
    command: 
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci
      - --explicit_defaults_for_timestamp=true
    volumes:
      - ./mysql:/var/lib/mysql
      - ./mysqlBackup:/data/mysqlBackup
    environment:
      - MYSQL_ROOT_PASSWORD=memos
      - MYSQL_DATABASE=memos
  web:
    image: ghcr.io/usememos/memos:latest
    container_name: memos
    restart: always
    networks:
      - memos_network
    volumes:
      - ./memos/:/var/opt/memos
    ports:
      - "5230:5230"
    environment:
      - MEMOS_DRIVER=mysql
      - MEMOS_DSN=root:memos@tcp(db)/memos
      - TZ=Asia/Chongqing
    depends_on:
      - db
networks:
  memos_network:
docker compose up -d

上一篇 Docker部署Moviepilot媒体库自动化管理
下一篇 Docker部署Sublinkx订阅管理