身為一位逐漸跟不上IT快速變化的7年級中年大叔,若不是近年架設的伺服器種類變多,觀念恐怕還停在資料庫=MYSQL的天下,有些服務要求或支援的DB包含了PostgresSQL,好像效能比較好還是怎樣的,例如discourse、joplin,由於群暉NAS內建的只有MariaDB,遇到這種情況便需要自行搭建,本篇則是利用docker架設postgresql+前端管理伺服器pgadmin的紀錄。
首先在DSM docker路徑下新增postgres資料夾,並且兩個資料夾都要指派Everyone可讀寫的權限
這樣做確實有安全的疑慮,只是目前還不知道有沒有兩全其美的權限設置,只好先這樣了
version: '3.9'
services:
db:
container_name: PostgreSQL
image: postgres
mem_limit: 256m
cpu_shares: 768
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "joplin", "-U", "root"]
environment:
POSTGRES_USER: root #管理帳號,可修改成你需要的
POSTGRES_PASSWORD: *** #管理密碼
POSTGRES_DB: joplin #這行可有可無,用意是安裝時一併新增的資料庫
TZ: Asia/Taipei
volumes:
- /volume1/docker/postgresql:/var/lib/postgresql/data:rw
ports:
- 2665:5432
restart: on-failure:5
pgadmin:
container_name: PostgreSQL_Admin
image: dpage/pgadmin4:latest
mem_limit: 256m
cpu_shares: 768
environment:
PGADMIN_DEFAULT_EMAIL: *** #管理員登入用郵件
PGADMIN_DEFAULT_PASSWORD: *** #管理員登入密碼
TZ: Asia/Taipei
ports:
- 2660:80
volumes:
- /volume1/docker/postgresadmin:/var/lib/pgadmin:rw
depends_on:
- db
restart: on-failure:5