feat: 部署准备
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
name: doodle-prod
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:18.6-alpine
|
||||
container_name: doodle-postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_DB: postgres
|
||||
POSTGRES_PASSWORD: ${POSTGRES_ADMIN_PASSWORD:?请配置独立的数据库管理密码}
|
||||
DOODLE_MIGRATOR_PASSWORD: ${DOODLE_MIGRATOR_PASSWORD:?请配置迁移账号密码}
|
||||
DOODLE_APP_PASSWORD: ${DOODLE_APP_PASSWORD:?请配置应用账号密码}
|
||||
POSTGRES_INITDB_ARGS: '--encoding=UTF8 --locale=C --auth-host=scram-sha-256'
|
||||
TZ: UTC
|
||||
PGTZ: UTC
|
||||
command:
|
||||
- postgres
|
||||
- -c
|
||||
- timezone=UTC
|
||||
- -c
|
||||
- max_connections=50
|
||||
- -c
|
||||
- shared_buffers=128MB
|
||||
- -c
|
||||
- work_mem=4MB
|
||||
# PostgreSQL 18 持久化父目录;不发布宿主机端口。
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql
|
||||
- ./postgres/10-create-roles.sh:/docker-entrypoint-initdb.d/10-create-roles.sh:ro
|
||||
networks:
|
||||
- database
|
||||
mem_limit: 512m
|
||||
cpus: 1.0
|
||||
pids_limit: 128
|
||||
shm_size: 128m
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'pg_isready -U postgres -d doodle_prod']
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 12
|
||||
start_period: 15s
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: '10m'
|
||||
max-file: '3'
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
name: doodle-prod-postgres-data
|
||||
|
||||
networks:
|
||||
database:
|
||||
name: doodle-prod-db
|
||||
internal: true
|
||||
Reference in New Issue
Block a user