N100 홈서버에 Proxmox VE를 설치한 뒤, Docker Compose를 이용해 리버스 프록시와 n8n을 같이 운영하는 실제 환경을 정리해봤습니다. 제가 직접 사용하면서 경험한 과정과 설정 방법을 최대한 쉽게 따라할 수 있도록 단계별로 정리했습니다.
도입
N100 홈서버는 단순히 성능이 좋은 것만으로는 충분하지 않습니다. 구조적으로 얼마나 꼼꼼하게 설계되었느냐가 실제 사용에서 더 큰 차이를 만들어냅니다. 설치가 잘 되었다고 해서 끝이 아니라, 서버를 재부팅해도 항상 안정적으로 동작해야 비로소 실용적인 서버라고 할 수 있습니다.
이번 글에서는 Proxmox VE에서 Docker Compose를 활용해 리버스 프록시와 n8n, 그리고 데이터베이스까지 실제 운영 환경에 적합하게 구성하는 방법을 안내하겠습니다. 실전에서 바로 사용할 수 있도록 각 요소를 어떻게 연결하면 좋은지 차근차근 설명드릴게요.

출처: 디지털 장난감
본문
1) VM을 먼저 구분하기보다는 우선 각 역할부터 정리할게요.
Proxmox VE를 설치하면 대체로 여러 VM으로 나눠서 활용하는 경우가 많습니다. 그런데 N100 같은 경우에는 이렇게 분할해서 사용할 때 성능 저하가 바로 느껴질 수 있습니다.
4코어 4스레드 구조에서는 VM의 수가 늘어날수록 CPU 스케줄링이 더 빈번하게 발생합니다. 겉으로 보기엔 CPU 사용률이 낮아 보여도, 실제로는 시스템 반응 속도가 눈에 띄게 느려질 때가 많습니다. 리소스가 남는 것처럼 보이더라도 여러 VM이 한꺼번에 자원을 나눠 쓰면서 이런 문제가 쉽게 생길 수 있습니다.
그래서 구조는 최대한 단순하게 만드는 게 중요합니다.
- VM은 방화벽이나 스토리지처럼 꼭 따로 분리해야 하는 영역에만 쓰고, 실제로 서비스를 운영할 때는 주로 Docker를 이용하는 식이에요.
기준을 제대로 지키기만 해도 체감하는 성능이 확연히 달라질 수 있습니다.
2) Docker Compose를 사용하면 여러 서비스를 한 번에 체계적으로 구성할 수 있습니다. 또, 설정한 구조를 쉽게 그대로 유지할 수 있어 관리가 훨씬 편리해집니다.
나중에 바꿔야 할 일이 생겨도 훨씬 쉽게 수정할 수 있습니다.
홈서버에서 가장 중요한 건 '얼마나 쉽게 복구할 수 있느냐'입니다. Docker Compose를 사용하면 서버 구성을 한 파일에 정리해둘 수 있어서, 문제가 생겨도 금방 다시 설정하고 복구할 수 있습니다.
services:
proxy:
image: nginx:alpine
container_name: proxy
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx:/etc/nginx/conf.d:ro
restart: unless-stopped
n8n:
image: n8nio/n8n:latest
container_name: n8n
ports:
- "5678:5678"
volumes:
- ./n8n:/home/node/.n8n
restart: unless-stopped
이 구조의 가장 큰 장점은 재부팅을 해도 자동으로 복구된다는 점입니다. 그리고 설정도 변함없이 그대로 유지돼서 사용자가 따로 신경 쓸 일이 없습니다.
3) Reverse Proxy를 사용하면 접근 구조를 훨씬 더 간단하게 만들 수 있습니다.
사용자는 각각의 서버에 직접 연결할 필요 없이, 한 번에 쉽게 접속할 수 있습니다. 이런 방식은 관리가 훨씬 수월해지고, 동시에 보안이나 트래픽 분산 면에서도 효과적입니다. 서비스가 늘어나면 포트 관리도 점점 복잡해지는데, 이럴 때 리버스 프록시를 도입하면 구조를 한 곳에 모을 수 있어 전체적인 관리가 훨씬 편리해집니다.
- n8n → /n8n
- Grafana → /grafana
- Jellyfin → /media
외부에서 어떻게 접근하는지와 내부 구조가 어떻게 구성되어 있는지는 각각 따로 살펴보는 게 중요합니다. 이렇게 나눠서 보면 전체 시스템을 훨씬 더 명확하게 파악할 수 있습니다.
4) 작업 스케줄을 적절히 분산해 놓으면 직접 성과가 확실히 좋아지는 걸 체감할 수 있습니다.
N100을 사용해보면, 여러 가지 무거운 작업을 한꺼번에 돌릴 때 성능이 확실히 떨어진다는 점이 금방 느껴집니다.
- 백업 → 새벽 2시
- 미디어 스캔 → 새벽 4시
- DB 정리 → 새벽 5시
작업을 조금만 분산시켜도 성능이 눈에 띄게 향상된다는 걸 금방 알 수 있습니다.
운영 지표 로그
| 항목 | 값(예상 기준) | 조건/메모 |
|---|---|---|
| CPU 사용률(Idle) | 2~6% | Proxy + n8n 대기 상태 |
| CPU 사용률(운영) | 10~25% | 컨테이너 3~5개 |
| 메모리 사용량 | 3~8GB | 8GB 기준 |
| 소비전력(Idle) | 6~10W | 헤드리스 + NVMe 1개, 대기 기준 (구성 편차 존재) |
| 소비전력(혼합 워크로드) | 9~11W | 프록시/자동화/소형 DB 등 상시 서비스 운영 |
| 소비전력(최대 부하) | 22~23W | CPU 지속 부하(압축/백업/스캔 겹침) 상황 가정 |
| 온도 | 45~70°C | 서비스 부하 상태 |
에디터의 해석 노트
- 이 방식은 실제 N100 환경에서 Proxmox와 Docker를 동시에 운영해 보며 직접 검증한 방법입니다.
- 성능을 무작정 높이기보다는, 구조를 더 단순하게 바꾸는 편이 체감 성능에 훨씬 크게 영향을 줍니다.
- 작업 일정을 나눠 분산시키면 튜닝 효과를 높일 수 있는 가장 효과적인 방법 중 하나입니다.
- 실제로 서비스를 운영할 때는 docker stats나 htop처럼 시스템 상태를 확인할 수 있는 도구를 활용하는 것이 좋습니다. 여기에 전력 사용량까지 함께 측정해서 살펴보면, 상황을 훨씬 더 정확하게 파악할 수 있습니다.
참고 링크 (References)
트러블슈팅
문제: Docker 컨테이너가 정상적으로 실행되고 있어도, 밖에서 접속이 안 되는 상황이 의외로 자주 생깁니다.
이럴 때는 보통 어떤 문제가 생기는지 몇 가지 예를 들어 살펴보면 도움이 됩니다.
먼저 컨테이너를 실행할 때 포트가 제대로 연결되어 있는지 꼭 확인해야 합니다. 포트 설정이 잘못되면 서비스에 접근하기 어려울 수 있으니, 실행 전에 반드시 확인하는 것이 좋습니다.
예를 들어 `-p 8080:80`처럼 호스트와 컨테이너 포트를 연결해줘야 외부에서 접속할 수 있습니다. 만약 이 설정을 빼먹거나 포트 번호가 잘못되면 접속이 되지 않으니 주의해야 합니다.
다음 단계로는 컨테이너 안에서 애플리케이션이 실제로 원하는 포트, 예를 들어 80번 포트에서 잘 실행되고 있는지 확인해야 합니다. 애플리케이션이 아예 실행되지 않았거나, 혹은 원래 의도한 포트가 아니라 다른 포트에서만 동작하는 상황도 있을 수 있기 때문입니다.
그리고 방화벽처럼 네트워크 설정도 한 번쯤 점검해보는 게 좋겠어요.
서버 방화벽이나 클라우드 보안 그룹에서 해당 포트를 열지 않으면, 외부에서는 접속이 차단될 수 있습니다.
마지막에는 컨테이너 안에 직접 들어가서 `curl`이나 `netstat` 같은 명령어를 사용해 서비스가 제대로 동작하는지 확인해 보세요. 이렇게 직접 점검해 보면 문제의 원인을 찾는 데 훨씬 수월해집니다.
이렇게 하나씩 점검해 보면, 대부분 외부에서 접속이 되지 않는 원인을 쉽게 찾을 수 있습니다.
포트 매핑이나 리버스 프록시를 설정할 때 문제가 자주 발생하곤 합니다.
docker ps
ss -tuln
포트 상태와 nginx 설정을 꼭 같이 확인해 주세요.
마무리
N100 홈서버는 최고의 성능을 추구하기보다는, 구조적인 안정성과 효율적인 운영에 더 초점을 맞춘 시스템입니다. 가상 머신은 최소한으로만 사용하고, 도커를 중심으로 단순하게 환경을 구성하면 서버 관리가 훨씬 편해지고, 안정성도 높일 수 있습니다.
'코어-테크 : 트러블 슈팅 노트' 카테고리의 다른 글
| Intel N100 홈서버 운영 기록 정리 : 전력·온도·서비스 상태를 데이터로 남기기 (0) | 2026.05.16 |
|---|---|
| Intel N100 홈서버 중간 점검 : 전력·온도·서비스 상태를 운영 로그 정리하기 (1) | 2026.05.15 |
| Intel N100 홈서버 운영 최적화 : Docker Compose 구조의 안정적 유지 (0) | 2026.05.14 |
| Intel N100 홈서버에서 Docker Compose를 사용하다 보면 예상치 못한 문제에 부딪히는 경우가 종종 있습니다. (0) | 2026.05.13 |
| Intel N100 아키텍처 분석 : 직접 홈 서버로 사용해보니 느껴지는 점 (0) | 2026.05.11 |