작성일 댓글 남기기

Stirling-PDF 설치 가이드 – PDF 편집·변환 무료 셀프호스팅

PDF 편집 도구가 열린 노트북이 놓인 깔끔한 책상

PDF 파일을 편집해야 하는 순간은 누구에게나 불쑥 찾아옵니다. 계약서 다섯 장을 하나로 합쳐야 할 때, 스캔한 영수증에서 텍스트를 뽑아야 할 때, 이미지 열 장을 PDF로 변환해 제출해야 할 때. 막상 하려고 보면 생각보다 번거롭고, 마땅한 무료 도구가 없어서 당황하는 경우가 많습니다.

Adobe Acrobat Pro는 월 구독료가 부담스럽고, 온라인 PDF 편집 사이트들은 파일 크기 제한이나 하루 사용 횟수 제한이 걸려 있습니다. 무엇보다 민감한 문서를 잘 모르는 외부 서버에 올려야 한다는 점이 찝찝합니다. 회사 계약서, 의료 기록, 주민등록증 스캔본 같은 파일을 어디에 업로드해야 한다면 아무래도 망설여지죠.

오늘 소개할 Stirling-PDF는 이런 고민을 깔끔하게 해결해 주는 오픈소스 PDF 도구입니다. Docker 명령어 한 줄이면 내 컴퓨터나 홈서버에 바로 설치되고, 웹 브라우저를 열어 100가지가 넘는 PDF 기능을 완전 무료로 쓸 수 있습니다. 파일이 내 장비 밖으로 나가지 않으니 프라이버시 걱정도 없고, 사용 횟수 제한 같은 것도 당연히 없습니다. 가족이나 팀원과 함께 쓸 수도 있어서, 한번 설치해 두면 주변 사람들에게도 요긴한 도구가 됩니다.

Stirling-PDF란 — 내 서버에서 돌리는 올인원 PDF 도구

Stirling-PDF는 자바(Spring Boot) 기반의 오픈소스 웹 애플리케이션으로, GitHub에서 스타 수가 7만 개를 넘기며 셀프호스팅 커뮤니티에서 가장 주목받는 프로젝트 중 하나로 자리 잡았습니다. 2023년 처음 공개된 이후 꾸준히 기능이 추가되어 2026년 현재 100개 이상의 PDF 관련 기능을 제공하고 있습니다.

가장 큰 특징은 완전한 로컬 실행입니다. 설치 후 모든 처리가 내 장비 안에서 이뤄지기 때문에 파일이 외부 서버로 전송되지 않습니다. 인터넷 연결 없이도 작동하고, 처리 속도도 온라인 서비스보다 빠른 경우가 많습니다. 대용량 PDF를 다룰 때 특히 체감됩니다.

기존에 많이 쓰이는 도구들과 비교하면 Stirling-PDF의 위치가 더 명확해집니다.

  • Adobe Acrobat Pro: 기능은 풍부하지만 월 23,000원 수준의 구독료가 필요합니다. 개인 사용자에게는 부담이 큽니다.
  • 온라인 PDF 편집 사이트(iLovePDF, Smallpdf 등): 간편하지만 무료 플랜에 제약이 많고 파일을 외부 서버에 업로드해야 합니다.
  • LibreOffice Draw: 무료이지만 PDF 전용 도구가 아니어서 기능이 제한적이고 인터페이스가 직관적이지 않습니다.
  • Stirling-PDF: 완전 무료, 제한 없음, 로컬 실행, 웹 기반 인터페이스로 기기 무관하게 접속 가능.
Stirling-PDF 핵심 기능 5가지 카테고리 요약

Stirling-PDF가 제공하는 기능을 크게 분류하면 변환(이미지↔PDF, 워드↔PDF, HTML↔PDF 등), 편집(병합, 분할, 회전, 페이지 삭제·재배치), 보안(비밀번호 설정·해제, 워터마크, 서명), OCR(광학 문자 인식으로 스캔 문서 텍스트화), 최적화(압축, 메타데이터 편집) 등으로 나뉩니다. Adobe Acrobat에서 할 수 있는 대부분의 작업을 웹 브라우저 하나로 처리할 수 있다고 보면 됩니다.

Docker로 5분 만에 설치하기

Stirling-PDF는 Docker 이미지로 배포되기 때문에 설치가 매우 간단합니다. 운영체제에 관계없이 Docker만 설치되어 있으면 똑같은 방법으로 실행할 수 있습니다.

사전 준비 — Docker 확인

먼저 Docker가 설치되어 있는지 확인합니다. 터미널(윈도우의 경우 PowerShell)을 열고 다음 명령어를 입력해 보세요.

docker --version
docker compose version

버전 정보가 정상적으로 출력되면 준비 완료입니다. Docker가 설치되어 있지 않다면, 윈도우는 Docker Desktop 공식 사이트에서 설치 파일을 내려받아 실행하면 됩니다. macOS도 마찬가지이고, 리눅스는 패키지 매니저로 설치할 수 있습니다.

docker-compose.yml 작성

원하는 위치에 폴더를 하나 만들고, 그 안에 docker-compose.yml 파일을 다음 내용으로 작성합니다.

services:
  stirling-pdf:
    image: stirlingtools/stirling-pdf:latest
    container_name: stirling-pdf
    ports:
      - "8080:8080"
    volumes:
      - ./data/trainingData:/usr/share/tessdata
      - ./data/extraConfigs:/configs
      - ./data/logs:/logs
      - ./data/customFiles:/customFiles
      - ./data/pipeline:/pipeline
    environment:
      - DOCKER_ENABLE_SECURITY=false
      - LANGS=ko_KR
    restart: unless-stopped

각 설정의 의미를 간단히 짚어 보겠습니다.

  • ports: “8080:8080”: 호스트의 8080 포트를 컨테이너의 8080 포트에 연결합니다. 다른 서비스와 충돌하면 앞의 숫자를 9090 등으로 변경하세요.
  • volumes: OCR 학습 데이터, 설정 파일, 로그 등을 호스트에 저장합니다. 컨테이너를 재시작해도 데이터가 유지됩니다.
  • DOCKER_ENABLE_SECURITY=false: 로그인 기능을 끈 상태로 시작합니다. 혼자 쓰거나 테스트할 때는 이 상태로 충분합니다.
  • LANGS=ko_KR: 인터페이스 기본 언어를 한국어로 설정합니다.
  • restart: unless-stopped: PC를 재부팅해도 자동으로 다시 실행됩니다.

실행하기

docker-compose.yml 파일이 있는 폴더에서 다음 명령어를 실행합니다.

docker compose up -d

처음 실행할 때는 이미지를 내려받느라 1~2분 정도 걸립니다. 완료되면 웹 브라우저를 열고 http://localhost:8080에 접속해 보세요. 깔끔한 Stirling-PDF 대시보드가 나타나면 설치 성공입니다.

Stirling-PDF Docker 설치 4단계 흐름도

운영체제별 참고사항

  • 윈도우: Docker Desktop이 WSL 2 백엔드를 사용하도록 설정되어 있는지 확인하세요. 설정 → General → “Use the WSL 2 based engine”이 체크되어 있으면 됩니다.
  • macOS: Apple Silicon(M 시리즈) 맥에서도 문제없이 동작합니다. Docker Desktop이 ARM 이미지를 자동으로 선택합니다.
  • 리눅스: Docker와 Docker Compose 플러그인이 설치되어 있으면 동일하게 동작합니다. NAS(Synology, QNAP 등)의 Container Manager에서 docker-compose 파일을 업로드하는 방식으로도 설치할 수 있습니다.

매일 쓰게 되는 핵심 기능 7가지

Stirling-PDF의 대시보드에 접속하면 기능이 카테고리별로 정리되어 있습니다. 100개가 넘는 기능 중에서 실생활에서 가장 자주 쓰게 되는 7가지를 골라 사용법을 정리했습니다.

1. PDF 병합 — 여러 파일을 하나로 합치기

가장 많이 쓰는 기능입니다. 대시보드에서 “PDF 병합”을 클릭하고, 합치고 싶은 PDF 파일들을 드래그 앤 드롭으로 올립니다. 파일 순서는 드래그로 자유롭게 바꿀 수 있고, 순서를 확인한 뒤 “병합” 버튼을 누르면 하나로 합쳐진 PDF가 바로 다운로드됩니다.

계약서 본문과 첨부 서류를 하나로 묶거나, 매월 발행되는 보고서를 반기 단위로 합칠 때 유용합니다. 파일 수에 제한이 없으니 수십 개를 한 번에 합치는 것도 문제없습니다.

2. PDF 분할 — 필요한 페이지만 추출하기

“PDF 분할” 기능은 두 가지 모드를 제공합니다. 첫째, 특정 페이지 번호를 지정해서 그 페이지만 추출하는 방식입니다. 예를 들어 100페이지짜리 매뉴얼에서 15~20페이지만 뽑고 싶을 때 “15-20″을 입력하면 됩니다. 둘째, 페이지 단위로 잘라서 여러 파일로 나누는 방식입니다. 50페이지 문서를 10페이지씩 5개 파일로 분리할 수 있습니다.

“1,3,5-8,12” 같은 복합 지정도 가능하기 때문에, 필요한 페이지만 골라서 새 PDF를 만드는 작업이 아주 유연합니다.

3. 이미지 ↔ PDF 변환

이미지를 PDF로 변환하거나, PDF를 이미지로 변환하는 기능입니다. “이미지를 PDF로” 기능에서는 JPG, PNG, WEBP 등 다양한 이미지 포맷을 지원하며, 여러 장의 이미지를 한 번에 올려서 하나의 PDF로 만들 수 있습니다. 이미지 순서를 드래그로 정렬할 수도 있습니다.

반대로 “PDF를 이미지로” 기능은 PDF의 각 페이지를 개별 이미지 파일로 변환합니다. 해상도(DPI)를 조절할 수 있어서 프레젠테이션에 삽입하거나 SNS에 공유할 용도에 맞게 품질을 조절할 수 있습니다.

스마트폰으로 촬영한 영수증 사진 여러 장을 PDF로 묶어서 경비 처리를 하거나, 학교에 제출할 증빙 서류를 이미지에서 PDF로 변환하는 등 일상에서 생각보다 자주 필요한 기능입니다.

4. PDF 압축 — 파일 크기 줄이기

이메일 첨부 파일 용량 제한이나 웹사이트 업로드 용량 제한에 걸릴 때 유용합니다. “PDF 압축” 기능은 이미지 품질과 해상도를 최적화해서 파일 크기를 줄여 줍니다. 압축 수준을 선택할 수 있어서 화질과 용량 사이의 균형을 잡을 수 있습니다.

고해상도 스캔 문서나 이미지가 많이 포함된 PDF에서 효과가 특히 큽니다. 원본 50MB짜리 문서가 5MB 이하로 줄어드는 경우도 흔합니다.

5. 페이지 편집 — 회전, 삭제, 재배치

“페이지 편집” 기능은 PDF의 개별 페이지를 시각적으로 관리할 수 있게 해 줍니다. 각 페이지의 썸네일이 표시되고, 여기서 특정 페이지를 90도 회전시키거나, 불필요한 페이지를 삭제하거나, 드래그로 순서를 바꿀 수 있습니다.

스캔할 때 방향이 뒤집어진 페이지를 바로잡거나, 문서 중간에 끼어든 빈 페이지를 제거할 때 편리합니다. Adobe 없이도 페이지 단위의 세밀한 편집이 가능한 것이죠.

6. OCR — 스캔 문서에서 텍스트 추출하기

OCR(광학 문자 인식)은 이미지로 된 PDF에서 텍스트를 인식하여 검색 가능한 PDF로 바꿔 주는 기능입니다. 스캐너로 스캔한 문서나 사진으로 촬영한 문서에 이 기능을 적용하면, 문서 안의 글자를 복사하거나 검색할 수 있게 됩니다.

Stirling-PDF의 OCR은 Tesseract 엔진을 기반으로 하며, 한국어를 포함한 수십 개 언어를 지원합니다. 한국어 OCR 정확도를 높이려면 한국어 학습 데이터를 추가로 설치하는 것이 좋은데, 이 부분은 아래 고급 설정 섹션에서 다루겠습니다.

7. 보안 — 비밀번호 설정과 워터마크

“비밀번호 보호” 기능으로 PDF에 열기 비밀번호를 설정하거나, 편집·인쇄 권한을 제한할 수 있습니다. 반대로 비밀번호가 걸린 PDF의 비밀번호를 알고 있을 때 이를 해제하는 것도 가능합니다.

“워터마크 추가” 기능은 텍스트 또는 이미지 워터마크를 PDF 전체 페이지에 일괄 적용합니다. 기밀 문서에 “대외비” 워터마크를 넣거나, 포트폴리오에 로고를 삽입할 때 활용할 수 있습니다. 워터마크의 위치, 크기, 투명도, 각도를 세밀하게 조절할 수 있습니다.

이런 상황에서 특히 유용합니다

Stirling-PDF는 범용 도구이지만, 몇 가지 상황에서 특히 빛을 발합니다. 자신의 상황과 맞는지 확인해 보세요.

다양한 사용자가 Stirling-PDF를 활용하는 일상 시나리오

프리랜서·자영업자

계약서, 견적서, 세금계산서 등 업무 문서를 다루는 일이 많습니다. 고객별로 계약서와 첨부 서류를 하나로 병합해 관리하거나, 거래처에 보내기 전 비밀번호를 설정하는 등의 작업을 별도 소프트웨어 없이 처리할 수 있습니다. 월 구독료가 하나 줄어드는 셈이죠.

학생·대학원생

강의자료 PDF에서 필요한 챕터만 추출하거나, 여러 과목의 참고 자료를 하나로 묶어 정리할 때 유용합니다. 과제 제출 시 이미지를 PDF로 변환하거나 용량 제한에 맞게 압축하는 일도 빈번한데, 이 모든 작업을 브라우저 하나로 해결할 수 있습니다.

직장인

부서별로 작성된 보고서를 하나의 종합 보고서로 합치거나, 회의 자료의 특정 페이지만 발췌해서 공유할 때 편리합니다. 특히 스캔한 문서에 OCR을 적용해 텍스트 검색이 가능하게 만들면, 나중에 필요한 내용을 찾을 때 시간을 크게 절약할 수 있습니다.

홈서버를 이미 운영 중인 분

이미 Docker로 여러 서비스를 돌리고 있다면 Stirling-PDF를 추가하는 건 일도 아닙니다. 가족 구성원 누구나 브라우저로 접속해서 PDF 도구를 사용할 수 있어서, 집안의 공용 유틸리티 역할을 톡톡히 합니다. Nginx Proxy Manager와 연동하면 외출 중에도 접속할 수 있습니다.

알아두면 좋은 고급 설정과 운영 팁

기본 설치만으로도 대부분의 기능을 문제없이 쓸 수 있지만, 몇 가지 추가 설정을 해 두면 훨씬 편리해집니다.

한국어 OCR 정확도 높이기

Stirling-PDF의 OCR 기능은 Tesseract 엔진을 사용하는데, 기본 설치에는 영어 학습 데이터만 포함되어 있습니다. 한국어 문서의 OCR 정확도를 높이려면 한국어 학습 데이터를 추가해야 합니다.

docker-compose.yml의 volumes에서 지정한 trainingData 폴더에 한국어 데이터 파일을 내려받아 넣으면 됩니다.

# trainingData 폴더에 한국어 학습 데이터 다운로드
curl -L -o ./data/trainingData/kor.traineddata \
  https://github.com/tesseract-ocr/tessdata_best/raw/main/kor.traineddata

파일을 넣은 뒤 컨테이너를 재시작하면(docker compose restart) OCR 언어 선택에 한국어가 나타납니다. tessdata_best 버전은 용량이 크지만 인식 정확도가 높으므로 권장합니다.

사용자 인증 활성화하기

혼자 쓸 때는 인증 없이 써도 괜찮지만, 가족이나 팀원과 공유하거나 외부 접속을 허용할 때는 로그인 기능을 켜는 것이 안전합니다. docker-compose.yml의 환경변수를 수정합니다.

environment:
  - DOCKER_ENABLE_SECURITY=true
  - SECURITY_ENABLE_LOGIN=true
  - SECURITY_INITIALLOGIN_USERNAME=admin
  - SECURITY_INITIALLOGIN_PASSWORD=내비밀번호

컨테이너를 재시작하면 로그인 화면이 나타납니다. 첫 로그인 후 반드시 비밀번호를 변경하세요. 관리자 패널에서 다른 사용자 계정을 추가할 수도 있어서, 가족 구성원별로 계정을 만들어 줄 수 있습니다.

다른 포맷 변환 기능 확장하기

Stirling-PDF의 기본 이미지는 PDF 관련 핵심 기능만 포함합니다. 워드(DOCX), 엑셀(XLSX), 파워포인트(PPTX) 같은 오피스 문서와 PDF 간의 변환 기능을 사용하려면 LibreOffice가 내장된 확장 이미지를 사용해야 합니다.

services:
  stirling-pdf:
    image: stirlingtools/stirling-pdf:latest-fat
    # 나머지 설정은 동일

이미지 태그를 latest에서 latest-fat으로 바꾸면 됩니다. 이미지 크기가 상당히 커지지만(약 1GB 이상), 워드↔PDF 변환이 필요하다면 충분히 가치 있는 선택입니다.

Nginx Proxy Manager와 연동해 외부 접속 허용하기

홈서버에 Nginx Proxy Manager가 설치되어 있다면 Stirling-PDF에 도메인을 연결해서 외부에서도 접속할 수 있습니다. Nginx Proxy Manager의 대시보드에서 새 Proxy Host를 추가하고, 다음과 같이 설정합니다.

  • Domain Names: pdf.내도메인.com (개인 도메인 필요)
  • Forward Hostname: Stirling-PDF가 실행 중인 호스트의 IP 또는 컨테이너 이름
  • Forward Port: 8080
  • SSL: Let’s Encrypt로 인증서 발급 (자동)

이렇게 설정하면 카페에서도, 출장지에서도 스마트폰 브라우저로 PDF 도구에 접속할 수 있습니다. 단, 외부 접속을 허용할 때는 반드시 위에서 설명한 사용자 인증을 함께 활성화하세요.

자동 업데이트 설정

Stirling-PDF는 업데이트가 활발한 프로젝트라 새 기능이나 버그 수정이 자주 올라옵니다. Watchtower를 함께 설치해 두면 새 이미지가 올라올 때마다 자동으로 업데이트됩니다. docker-compose.yml에 Watchtower 서비스를 추가하면 됩니다.

services:
  stirling-pdf:
    # ... (기존 설정 그대로)

  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_SCHEDULE=0 0 4 * * *
    restart: unless-stopped

WATCHTOWER_SCHEDULE은 cron 표현식으로, 위 설정은 매일 새벽 4시에 업데이트를 확인합니다. 자동 업데이트가 불안하다면 수동으로 docker compose pull && docker compose up -d 명령어를 주기적으로 실행해도 됩니다.

주요 환경변수 정리

docker-compose.yml에서 활용할 수 있는 환경변수 중 알아두면 유용한 것들을 정리했습니다.

  • LANGS: 인터페이스 언어. ko_KR로 설정하면 한국어로 표시됩니다.
  • DOCKER_ENABLE_SECURITY: true로 설정하면 로그인 기능을 활성화합니다.
  • SYSTEM_DEFAULTLOCALE: 시스템 기본 로케일 설정. ko_KR 권장.
  • UI_APPNAME: 웹 인터페이스 상단에 표시되는 앱 이름을 변경할 수 있습니다. “우리집 PDF 도구” 같이 바꾸면 가족이 쓸 때 친근합니다.
  • UI_HOMEDESCRIPTION: 홈 화면의 설명 문구를 변경합니다.
  • SYSTEM_MAXFILESIZE: 업로드 가능한 최대 파일 크기. 기본값은 충분하지만 대용량 파일을 다룬다면 늘려 줄 수 있습니다.

자주 묻는 질문

Stirling-PDF를 처음 접하는 분들이 흔히 궁금해하는 점들을 모았습니다.

Q. 내 컴퓨터 사양이 낮아도 돌아가나요?

기본적인 PDF 편집(병합, 분할, 변환 등)은 사양을 거의 타지 않습니다. 램 2GB 정도면 충분합니다. 다만 OCR 처리는 CPU를 많이 쓰기 때문에 수십 페이지짜리 문서를 OCR 돌릴 때는 시간이 좀 걸릴 수 있습니다. 그래도 돌아가지 않는 것은 아니니 걱정하지 않으셔도 됩니다.

Q. 윈도우에서 Docker 없이 설치할 수 있나요?

Stirling-PDF는 자바 애플리케이션이라 이론적으로는 Java를 직접 설치해서 실행할 수도 있습니다. 하지만 의존성 관리가 번거롭기 때문에 Docker 방식을 강력히 권장합니다. Docker Desktop은 설치도 간단하고, 나중에 다른 셀프호스팅 서비스를 추가할 때도 활용할 수 있으니 이 기회에 익혀 두시는 것을 추천합니다.

Q. 처리한 파일이 어딘가에 저장되나요?

Stirling-PDF는 파일 처리 후 결과를 다운로드 링크로 제공하고, 일정 시간이 지나면 서버에서 자동 삭제합니다. 기본적으로 처리된 파일이 영구 저장되지 않습니다. 물론 이것은 내 서버에서 실행되는 것이니, 외부 유출 걱정은 전혀 없습니다.

Q. 스마트폰에서도 쓸 수 있나요?

네. Stirling-PDF는 반응형 웹 디자인을 적용하고 있어서 스마트폰 브라우저에서도 사용 가능합니다. 같은 와이파이에 연결되어 있다면 스마트폰 브라우저에서 http://PC의IP:8080으로 접속하면 됩니다. 외부에서 접속하려면 위에서 설명한 Nginx Proxy Manager 연동이나 Tailscale 같은 VPN을 활용하세요.

마무리 — PDF 도구 하나로 구독료와 프라이버시 걱정을 동시에 해결

Stirling-PDF를 한 줄로 요약하면 “내 서버에서 돌리는 무료 Adobe Acrobat”입니다. 설치는 Docker 명령어 하나면 끝나고, 웹 브라우저만 있으면 어디서든 접속해서 PDF를 편집할 수 있습니다. 파일이 외부로 나가지 않으니 프라이버시도 안심이고, 사용 횟수나 파일 크기 제한도 없습니다.

특히 이미 홈서버에서 여러 Docker 서비스를 운영하고 있다면 추가하지 않을 이유가 없습니다. 컨테이너 하나 더 올리는 것뿐인데 가족 모두가 쓸 수 있는 실용적인 도구가 생기니까요. 아직 Docker를 써 본 적이 없더라도 이번 기회에 Docker Desktop을 설치하고 Stirling-PDF를 첫 번째 컨테이너로 띄워 보세요. Docker의 편리함을 체험하기에 이보다 좋은 입문 프로젝트가 없습니다.

다음에 PDF 편집이 필요한 순간이 오면, 더 이상 검색창에 “PDF 변환 무료 사이트”를 치는 대신 자기만의 도구를 열어 보는 뿌듯함을 느껴 보시길 바랍니다.

이미지는 Leonardo AI 로 생성되었습니다.

이미지는 Claude AI 로 생성되었습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다