반응형
안녕하세요! 시놀로지 NAS(DS220+) Docker Container Manager에 PostgreSQL 데이터베이스 구축하는 방법을 포스팅 하려합니다.
오늘의 미션은 전 세계 개발자들에게 가장 사랑받는 강력한 오픈소스 DB인 PostgreSQL을 Container Manager에 완벽하게 빌드하는 것입니다.
🧐 왜 하필 PostgreSQL 일까?
PostgreSQL은 복잡한 쿼리 처리 능력이 뛰어나고 안정성이 검증되어 있어서, 나중에 NAS에 다른 서비스(예: Nextcloud, Wiki 등)를 추가하더라도 데이터베이스를 확장하여 함께 묶어 쓰기에 가장 강력하고 유용한 선택입니다.
🛠 STEP 1. File Station에서 DB 저장 폴더 만들기
컨테이너(가상 환경)가 지워지더라도 우리가 쌓은 데이터베이스 내역은 안전하게 보존되어야 합니다. 물리 폴더를 먼저 매핑해 주겠습니다.
- [File Station]을 실행합니다.
- docker 공유 폴더 안으로 들어가 마우스 우클릭 후 postgresql이라는 이름의 새 폴더를 생성합니다.
- 최종 경로: /volume1/docker/postgresql

🛠 STEP 2. Container Manager에서 프로젝트 생성하기
DSM 7.2의 가장 편리한 기능인 '프로젝트'를 이용해 코드 한 장으로 깔끔하게 빌드하겠습니다.
- [Container Manager]를 실행합니다.
- 좌측 메뉴에서 [프로젝트] ➡️ 우측 상단 [생성]을 누릅니다.
- 아래 정보를 입력합니다:
- 프로젝트 이름: my-postgres (소문자 입력)
- 경로: 아까 만든 docker/postgresql 폴더를 선택합니다.
- 소스: docker-compose.yml 생성을 선택합니다.
🛠 STEP 3. 도커 컴포즈(YAML) 코드 장착하기
편집기 화면이 나타나면 기존 내용을 싹 지우고, 아래의 PostgreSQL 단독 설치 코드를 그대로 복사해서 붙여넣어 주세요.
yaml
version: "3.8"
services:
postgres_db:
image: postgres:15-alpine
container_name: postgresql
restart: always
environment:
- POSTGRES_USER=root # <-- DB 최고 관리자 아이디 (원하는 대로 변경 가능)
- POSTGRES_PASSWORD=my_password123 # <-- [중요] 외부에서 접속할 강력한 비밀번호를 적어주세요!
- POSTGRES_DB=default_db # <-- 기본으로 생성될 데이터베이스 이름
ports:
- "5432:5432" # <-- 외부 접속 포트 (기본값 5432)
volumes:
- ./data:/var/lib/postgresql/data # <-- 데이터가 NAS 폴더에 안전하게 저장됩니다.
코드를 사용할 때는 주의가 필요합니다.


🛠 STEP 4. Web Station 해제 및 최종 구동하기
- 코드를 붙여넣은 뒤 [다음]을 누릅니다.
- Web Station을 통해 웹 포털 활성화 체크 박스는 반드시 해제(체크 해제)해 줍니다. 데이터베이스는 웹 브라우저로 직접 들어가는 프로그램이 아니라 외부 포트(5432) 통신만 열어주면 되기 때문에 Web Station이 전혀 필요 없습니다.
- [다음]을 누르고 요약 화면에서 [완료]를 누릅니다.

약 1분 뒤 프로젝트 목록에 초록색 불이 들어오면 설치 완료입니다! 이제 내 시놀로지 NAS 내부 및 동일한 네트워크에 있는 모든 가상 앱들이 내_NAS_IP:5432 주소를 통해 이 강력한 DB 저장소를 마음껏 사용할 수 있게 되었습니다.
💬 마치며 & 다음 예고
시놀로지 NAS 위에 독립된 데이터베이스 요새가 완벽하게 세워졌습니다. 기초 체력을 단단히 길러두었으니 어떤 서비스가 들어와도 두렵지 않네요!
다음 포스팅에서는 이렇게 단독으로 설치한 PostgreSQL에 웹 브라우저로 간편하게 접속하여 GUI 화면으로 테이블을 관리하고 모니터링할 수 있는 'pgAdmin4 설치 및 DB 관리 가이드'로 찾아오겠습니다. 🐳
반응형















