diff --git a/memos/db-184.cnf b/memos/db-184.cnf index 3422783..fc5cad9 100644 --- a/memos/db-184.cnf +++ b/memos/db-184.cnf @@ -3,4 +3,4 @@ DB_USER=postgres DB_PASSWORD=Kevin0412PgSql DB_DATANAME=memos-db DB_HOST=192.168.100.184 -DB_POST=5432 \ No newline at end of file +DB_POST=15432 diff --git a/memos/db-61.cnf b/memos/db-61.cnf index bb6720f..859a8d7 100644 --- a/memos/db-61.cnf +++ b/memos/db-61.cnf @@ -3,4 +3,4 @@ DB_USER=postgres DB_PASSWORD=Kevin0412PgSql DB_DATANAME=memos-db DB_HOST=192.168.10.61 -DB_POST=5432 \ No newline at end of file +DB_POST=15432 diff --git a/memos/env-lkc.cnf b/memos/db-lkc.cnf similarity index 73% rename from memos/env-lkc.cnf rename to memos/db-lkc.cnf index fa26d6b..f846732 100644 --- a/memos/env-lkc.cnf +++ b/memos/db-lkc.cnf @@ -2,6 +2,5 @@ DB_DRIVER=postgres DB_USER=postgres DB_PASSWORD=Kevin0412PgSql DB_DATANAME=memos-db -#DB_HOST=192.168.100.184 DB_HOST=10.0.74.3 -DB_POST=5432 \ No newline at end of file +DB_POST=15432 diff --git a/memos/db-local.cnf b/memos/db-local.cnf new file mode 100644 index 0000000..d34dad3 --- /dev/null +++ b/memos/db-local.cnf @@ -0,0 +1,6 @@ +DB_DRIVER=postgres +DB_USER=postgres +DB_PASSWORD=Kevin0412PgSql +DB_DATANAME=memos-db +DB_HOST=pgsql +DB_POST=15432 diff --git a/memos/env.cfg.example b/memos/env.cfg.example index cf393cf..ebd525a 100644 --- a/memos/env.cfg.example +++ b/memos/env.cfg.example @@ -13,6 +13,7 @@ IMAGE_TAG_VER=0.29.1 # 完整镜像引用(私有仓库示例:hub.tp229.com:3500/neosmemo/memos:${IMAGE_TAG_VER}) IMAGE_TAG=neosmemo/memos:${IMAGE_TAG_VER} +PGSQL_IMAGE_TAG=postgres:18.4 # ---------- 数据卷 ---------- # 宿主机持久化目录,会挂载到容器 /var/opt/memos diff --git a/memos/local.stack.yml b/memos/local.stack.yml index c5db7e9..f850ec9 100644 --- a/memos/local.stack.yml +++ b/memos/local.stack.yml @@ -1,18 +1,47 @@ -# run:: docker compose -p memos -f ./memos/local.stack.yml up -d +# run:: docker compose -p memos --env-file ./memos/env.cfg --env-file ./memos/db-local.cnf -f ./memos/local.stack.yml up -d services: memos: - image: neosmemo/memos:0.20.0 - #command: '--driver mysql --dsn root:Kevin%0412%Mysql@tcp(10.10.13.233:3306)/memos-db' + image: ${IMAGE_TAG} volumes: - - data:/var/opt/memos + - ${Volumes_Path}/data:/var/opt/memos + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro ports: - - '8230:5230' - container_name: memos + - "8230:5230" + container_name: memos_local + restart: always environment: - - MEMOS_DRIVER=postgres - - MEMOS_DSN=postgresql://postgres:Kevin0412PgSql@192.168.100.184:5432/memos-db?sslmode=disable + - MEMOS_DRIVER=${DB_DRIVER} + - MEMOS_DSN=user=${DB_USER} password=${DB_PASSWORD} dbname=${DB_DATANAME} host=${DB_HOST} port=${DB_POST} sslmode=disable - TZ=Asia/Shanghai + pgsql: + image: ${PGSQL_IMAGE_TAG:-postgres:18.4} + container_name: memos_local_pgsql + restart: always + shm_size: 256mb + environment: + - POSTGRES_USER=${DB_USER:-postgres} + - POSTGRES_PASSWORD=${DB_PASSWORD} + - POSTGRES_DB=${DB_DATANAME:-memos-db} + - POSTGRES_HOST_AUTH_METHOD=scram-sha-256 + - TZ=Asia/Shanghai + volumes: + - pgsql_data:/var/lib/postgresql/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "${PGSQL_PORT:-15432}:5432" + healthcheck: + test: + [ + "CMD-SHELL", + "pg_isready -U ${DB_USER:-postgres} -d ${DB_DATANAME:-memos-db}", + ] + interval: 10s + timeout: 5s + retries: 5 + volumes: - data: \ No newline at end of file + pgsql_data: diff --git a/memos/prod.stack.yml b/memos/prod.stack.yml index b5389e3..7005d5f 100644 --- a/memos/prod.stack.yml +++ b/memos/prod.stack.yml @@ -1,7 +1,9 @@ # path:: mkdir -pv /data/volumes/memos/data -# run-61:: docker compose -p memos --env-file ./memos/env.cfg --env-file ./memos/db-61.cnf -f ./memos/prod.stack.yml up -d +# pull:: docker compose -p memos --env-file ./memos/env.cfg -f ./memos/prod.stack.yml pull +# run-61:: docker compose -p memos --env-file ./memos/env.cfg --env-file ./memos/db-61.cnf -f ./memos/prod.stack.yml up -d # run-184:: docker compose -p memos --env-file ./memos/env.cfg --env-file ./memos/db-184.cnf -f ./memos/prod.stack.yml up -d # run-lkc:: docker compose -p memos --env-file ./memos/env.cfg --env-file ./memos/env-lkc.cnf -f ./memos/prod.stack.yml up -d +# run-local:: docker compose -p memos --env-file ./memos/env.cfg --env-file ./memos/db-local.cnf -f ./memos/prod.stack.yml up -d services: memos: @@ -11,8 +13,8 @@ services: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - - '5230:5230' - container_name: memos + - "5230:5230" + container_name: memos_app restart: always environment: - MEMOS_DRIVER=${DB_DRIVER} @@ -21,5 +23,33 @@ services: #- MEMOS_DRIVER=mysql #- MEMOS_DSN=root:password@tcp(localhost)/memos_prod - TZ=Asia/Shanghai -#volumes: -# data: \ No newline at end of file + + pgsql: + image: ${PGSQL_IMAGE_TAG:-postgres:18.4} + container_name: memos_pgsql + restart: always + shm_size: 256mb + environment: + - POSTGRES_USER=${DB_USER:-postgres} + - POSTGRES_PASSWORD=${DB_PASSWORD} + - POSTGRES_DB=${DB_DATANAME:-memos-db} + - POSTGRES_HOST_AUTH_METHOD=scram-sha-256 + - TZ=Asia/Shanghai + volumes: + - pgsql_data:/var/lib/postgresql/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "${DB_POST:-15432}:5432" + healthcheck: + test: + [ + "CMD-SHELL", + "pg_isready -U ${DB_USER:-postgres} -d ${DB_DATANAME:-memos-db}", + ] + interval: 10s + timeout: 5s + retries: 5 + +volumes: + pgsql_data: