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