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

 

 

🛠 STEP 2. Container Manager에서 프로젝트 생성하기
DSM 7.2의 가장 편리한 기능인 '프로젝트'를 이용해 코드 한 장으로 깔끔하게 빌드하겠습니다.
  1. [Container Manager]를 실행합니다.
  2. 좌측 메뉴에서 [프로젝트] ➡️ 우측 상단 [생성]을 누릅니다.
  3. 아래 정보를 입력합니다:
    • 프로젝트 이름: 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 폴더에 안전하게 저장됩니다.
코드를 사용할 때는 주의가 필요합니다.
 

 

 
Synology Nas Docker Container Manager
Synology Nas Docker Container Manager
 
🛠 STEP 4. Web Station 해제 및 최종 구동하기
  1. 코드를 붙여넣은 뒤 [다음]을 누릅니다.
  2. Web Station을 통해 웹 포털 활성화 체크 박스는 반드시 해제(체크 해제)해 줍니다. 데이터베이스는 웹 브라우저로 직접 들어가는 프로그램이 아니라 외부 포트(5432) 통신만 열어주면 되기 때문에 Web Station이 전혀 필요 없습니다.
  3. [다음]을 누르고 요약 화면에서 [완료]를 누릅니다.
약 1분 뒤 프로젝트 목록에 초록색 불이 들어오면 설치 완료입니다! 이제 내 시놀로지 NAS 내부 및 동일한 네트워크에 있는 모든 가상 앱들이 내_NAS_IP:5432 주소를 통해 이 강력한 DB 저장소를 마음껏 사용할 수 있게 되었습니다.

 

 
 
💬 마치며 & 다음 예고
시놀로지 NAS 위에 독립된 데이터베이스 요새가 완벽하게 세워졌습니다. 기초 체력을 단단히 길러두었으니 어떤 서비스가 들어와도 두렵지 않네요!
다음 포스팅에서는 이렇게 단독으로 설치한 PostgreSQL에 웹 브라우저로 간편하게 접속하여 GUI 화면으로 테이블을 관리하고 모니터링할 수 있는 'pgAdmin4 설치 및 DB 관리 가이드'로 찾아오겠습니다. 🐳

 

 
반응형
반응형
안녕하세요! 시놀로지 NAS(DS220+) Docker Container Manager 에 Git 인프라인 Gitea 구축하는 방법을 포스팅 하려 합니다.
Container Manager의 프로젝트 기능을 활용해 시놀로지 NAS에 나만의 깃허브인 Git 인프라(Gitea)를 10분 만에 구축하는 방법을 알아봅니다. 도커를 활용하면 NAS 시스템을 더럽히지 않는 완벽한 독립성 보장, 쉬운 이동 및 백업, Docker Compose를 통한 코드 기반 관리가 가능합니다.
 
🛠 STEP 1. File Station에서 데이터 폴더 만들기
가상 컨테이너가 삭제되더라도 내 소스코드와 데이터가 안전하게 보관될 물리적 폴더를 먼저 만들어야 합니다. [1]
  1. File Station을 실행합니다.
  2. 좌측 목록에서 docker 공유 폴더를 클릭합니다.
  3. 마우스 우클릭 후 폴더 생성을 눌러 gitea라는 이름의 새 폴더를 만듭니다.
    • 최종 경로 형태: /volume1/docker/gitea

🛠 STEP 2. Container Manager에서 프로젝트 생성하
  1. Container Manager를 실행합니다.
  2. 좌측 메뉴에서 프로젝트 탭을 클릭한 뒤, 우측 상단의 생성 버튼을 누릅니다.
  3. 프로젝트 생성 창이 뜨면 아래 기본 정보를 입력합니다:
    • 프로젝트 이름: my-gitea (소문자 및 하이픈만 가능)
    • 경로: 디렉토리 선택 버튼을 눌러 아까 만든 docker/gitea 폴더를 지정합니다.
    • 원본: Docker-compose.yml 만들기 선택합니다.
  4. 설정 코드(YAML) 입력하기
    • 3000:3000 – 웹 접속 포트
    • 2222:22 – SSH 포트 우회
    • PostgreSQL Database 사용하기 위해 설정 정보도 포함되어있습니다.
🔍 블로그 독자를 위한 코드 포인트 해석 (팁)
  • gitea_secret_password: 보안을 위해 본인만 알 수 있는 안전한 패스워드로 변경해 주세요. server 쪽과 db 쪽의 비밀번호가 반드시 일치해야 통신이 가능합니다!
  • depends_on: - db: 데이터베이스인 PostgreSQL이 완전히 켜진 것을 확인한 후에 Gitea를 실행하도록 순서를 강제하여 연동 오류를 방지합니다.
  • ./gitea & ./postgres: Gitea와 DB의 데이터가 아까 File Station에서 만들었던 폴더 내부에 각각 분리되어 안전하게 누적됩니다. 나중에 NAS를 바꾸더라도 이 폴더만 백업하면 복구가 끝납니다. 🐳
 
yaml
version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea_secret_password # <-- [필독] 원하는 강력한 DB 비밀번호로 수정하세요!
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "2222:22"
    depends_on:
      - db

  db:
    image: postgres:14-alpine
    container_name: gitea_db
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=gitea_secret_password # <-- [필독] 위 server의 PASSWD와 무조건 '똑같이' 맞춰주세요!
      - POSTGRES_DB=gitea
    networks:
      - gitea
    volumes:
      - ./postgres:/var/lib/postgresql/data

Synology Nas 패키지 센터

Docker Container Manager

 

Docker Container Manager Gitea

 
🛠 STEP 3. 웹 포털 설정 무시 하기 
  1. 프로젝트 생성 과정 중 Web Station을 통해 웹 포털 활성화라는 체크 박스가 보인다면, 체크를 해제(비활성화) 하세요. 
  2. YAML 코드 안에 이미 3000:3000이라는 주소 규칙이 들어있습니다.
  3. 마지막 요약 화면에서 완료를 누르면 끝입니다.
Docker Container Manager Gitea
🛠 STEP 4. 대문 열고 들어가 초기 세팅 확인 하기 
  1. 브라우저에서 http://내_시놀로지_IP:3000으로 접속합니다.
  2. 데이터베이스 유형을 Postgresql 로 설정하고 SSH 포트를 2222로 지정합니다.
  3. 하단 [선택 설정]의 [관리자 계정 설정]에서 관리자 정보를 입력한 뒤 [Gitea 설치하기]를 누릅니다.
 
💬 마치며 (추가될 본문 내용)
드디어 시놀로지 NAS 위에 우리만의 프라이빗한 소스코드 저장소, Gitea 서비스를 올리기 위한 기본적인 도커 프로젝트 설계 파일(docker-compose.yml) 세팅까지 무사히 완료했습니다!
하지만 이대로 주소를 치고 들어가서 데이터베이스를 연결하려고 하면, 도커의 독립된 격리망 특성 때문에 connection reset by peer라는 다소 당황스러운 네트워크 연결 거부 에러를 마주하게 될 확률이 높습니다. 주소도 맞고 비밀번호도 맞게 썼는데 왜 오류가 나는 걸까요?
그래서 다음 포스팅에서는 이 막막한 연동 오류 원인을 완벽하게 파헤치고, Gitea와 PostgreSQL 사이에 '가상의 비밀 통로(공유 네트워크)'를 뚫어 에러를 단 한 방에 해결하는 정석 트러블슈팅 가이드로 찾아오겠습니다. 완벽한 빌드를 위해 다음 편에서 바로 해결해 드릴 테니 조금만 기다려주세요! 🐳

 

 
반응형
반응형
안녕하세요! 시놀로지 NAS(DS220+)를 활용하여 Docker Container Manager 를 이용하여 가상화 시스템 구축하는 방법 포스팅 하려 합니다.
오늘의 미션은 시놀로지 NAS 위에 각종 프로그램(Gitea, Portainer, Home Assistant 등)을 독립적으로 자유롭게 올릴 수 있는 핵심 기지, Container Manager(구 Docker)를 설치하는 것입니다. DSM 7.4 버전 기준으로 딱 5분 만에 깔끔하게 인프라를 완성해 보겠습니다.
🧐 시놀로지 패키지 대신 왜 'Container Manager'를 쓸까?
시놀로지 패키지 센터에도 기본 앱들이 많이 존재하지만, 버전 업데이트가 느리고 NAS 고유 시스템의 파일들과 엉켜 장기적으로 시스템이 무거워질 수 있습니다.
Container Manager는 시스템 독립성을 보장하고, 백업과 이동이 간편하며, Docker Compose를 통한 코드 기반 관리가 가능해 홈 서버 구축에 매우 유용합니다.

 

 
🛠 STEP 1. Nas DSM 버전을 먼저 확인하기
  1. 제어판 페이지의 [업데이트 및 복원]로 이동하여 버전을 확인합니다.
  2. DSM 7.4 버전이 아닌 경우 최신버전으로 업데이트 합니다.(업데이트 시 10분 소요)
Synology Nas 제어판

 

 

Synology Nas DSM Version

 
🛠 STEP 2. 패키지 센터에서 엔진 설치하기
  1. DSM 관리자 페이지의 [패키지 센터]로 이동합니다.
  2. Container Manager(DSM 7.1 이하는 Docker)를 검색하여 [설치]합니다.
  3. 설치 시 자동으로 생성되는 docker 공유 폴더를 통해 데이터 관리가 수월해집니다.

Synology Nas 패키지 센터

🛠 STEP 3 & 4. 파일 스테이션 확인 및 UI 둘러보기
  1. [File Station]에서 docker 폴더의 생성을 확인합니다.
  2. 메인 메뉴에서 [Container Manager]를 실행해 대시보드와 자원 사용량을 직관적으로 모니터링합니다.

 

 

 

반응형

+ Recent posts