Github

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

Docker-CLI

1
2
3
4
5
6
docker run -d \
  --init \
  --name memos \
  --publish 5230:5230 \
  --volume ~/.memos/:/var/opt/memos \
  neosmemo/memos:stable

更新

1
2
3
4
5
6
docker run -d \
  --init \
  --name memos \
  --publish 5230:5230 \
  --volume ~/.memos/:/var/opt/memos \
  neosmemo/memos:0.23.0-rc

Docker-compose

1
2
3
4
5
6
7
8
services:
  memos:
    image: neosmemo/memos:stable
    container_name: memos
    volumes:
      - ~/.memos/:/var/opt/memos
    ports:
      - 5230:5230

更新

1
2
3
4
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数据库

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
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 数据库

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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:
1
docker compose up -d