本番配置の準備を追加(NAS の DB 定義、配置手順書、保存先の決定)
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# tver 用 PostgreSQL スタック(Synology ds923p / 192.168.10.201)
|
||||
#
|
||||
# 配置先: ds923p の Container Manager「プロジェクト」
|
||||
# /volume1/docker/tver-db/ に本ファイルを compose.yaml として配置する。
|
||||
# パスワードは同じディレクトリの .env(POSTGRES_PASSWORD)から注入し、
|
||||
# このファイルには実値を書かない。
|
||||
#
|
||||
# 注意(初回起動チェックポイント):
|
||||
# 起動前に /volume1/docker/tver-db/pgdata を作成する。
|
||||
# 初回起動後は Container Manager のヘルス状態とログを確認し、
|
||||
# "database system is ready to accept connections" が出てからアプリを起動する。
|
||||
# bind mount の所有権・権限で初期化に失敗した場合は、原因を確認してから
|
||||
# 名前付きボリュームへの切り替えを検討する。
|
||||
|
||||
services:
|
||||
postgres:
|
||||
# Debian ベースの PostgreSQL 17。initdb の UTF-8 ロケールを利用する。
|
||||
image: postgres:17
|
||||
container_name: tver-postgres
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: tver
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: tver
|
||||
# 初回の initdb でのみ有効。既存の pgdata には後から反映されない。
|
||||
POSTGRES_INITDB_ARGS: "--encoding=UTF8 --lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8"
|
||||
ports:
|
||||
# [要確認] Container Manager で 15434 が未使用であることを起動前に確認する。
|
||||
# DSM ファイアウォールでは dockage(192.168.10.155)だけを許可する。
|
||||
- "15434:5432"
|
||||
volumes:
|
||||
- /volume1/docker/tver-db/pgdata:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U tver -d tver"]
|
||||
interval: 10s
|
||||
retries: 5
|
||||
Reference in New Issue
Block a user