설치
시놀로지에 n8n + Postgres DB Docker를 설치하는Portainer을 활용한 설치 방법을 설명합니다. Portainer를 사용하지 않을 시 yaml 파일 생성해 설치하시면 됩니다.
- Nginx Proxy Manager 같은 역방향 프록시를 설정합니다.
- 볼륨을 Mapping할 "n8n"과 하위에 "data", "db", "files" 3개의 디렉토리를 생성합니다. 제 경우 "/volume1/docker/"하위에 생성을 하였습니다.


- 생성한 "n8n" 속성 (오른쪽 마우스 클릭)에 들어가 "권한" 탭으로 이동 후 "고급옵션"에서 "상속된 권한을 명시적으로 만들기"를 선택하고 "저장"을 누릅니다.

- 목록에서 "Everyone"의 "편집"을 선택하고, "읽기", "쓰기"의 모든 옵션을 체크 합니다.

- "이 폴더, 하위 폴더 및 파일에 적용"을 선택하고 "저장"을 누릅니다.



"Name"에 원하시는 컨테이너 이름을 입력하고, "Web editor"를 선택해 yaml 문장을 작성 합니다.

version: "3.ㄹㅇㅎㄹㅇ9"
services:
db:
image: postgres
container_name: n8n-DB
hostname: n8n-db
mem_limit: 512m
cpu_shares: 768
security_opt:
- no-new-privileges:true
user: 1026:100
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "n8n", "-U", "n8n"]
timeout: 45s
interval: 10s
retries: 10
volumes:
- /volume1/docker/n8n/db:/var/lib/postgresql/data:rw
environment:
TZ: Asia/Seoul
POSTGRES_DB: n8n
POSTGRES_USER: n8n
POSTGRES_PASSWORD: DB_PASSWORD //원하시는 DB패스워드를 입력합니다.
restart: on-failure:5
n8n:
image: n8nio/n8n:latest
container_name: n8n
hostname: n8n
mem_limit: 1g
cpu_shares: 768
security_opt:
- no-new-privileges:true
ports:
- 5678:5678
volumes:
- /volume1/docker/n8n/data:/home/node/.n8n:rw
- /volume1/docker/n8n/files:/files:rw
environment:
N8N_HOST: n8n_도메인주소 //사용하실 n8n 도메인을 입력하고, http는 생략합니다.
N8N_PORT: 5678
N8N_PROTOCOL: https
NODE_ENV: production
WEBHOOK_URL: https://n8n_도메인주소 //사용하실 n8n 도메인을 입력합니다.
GENERIC_TIMEZONE: Asia/Seoul
TZ: Asia/Seoul
DB_TYPE: postgresdb
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_HOST: n8n-db
DB_POSTGRESDB_PORT: 5432
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: DB_PASSWORD //위에서 설정한 DB패스워드를 입력합니다.
restart: on-failure:5
depends_on:
db:
condition: service_healthy
yaml 작성이 완료 됐으면 "Deploy the stack"을 눌러 컨테이너를 생성 합니다.

4.