정보의 홍수 속에서 나에게 꼭 필요한 소식만 골라보는 것은 무엇보다 중요합니다. RSS는 바로 이러한 필요를 충족시켜주는 훌륭한 기술이지만, 나만의 취향과 필요에 맞는 완벽한 구독기를 찾기란 쉽지 않습니다.
이번 글에서는 도커(Docker) 기술을 활용하여, 광고나 외부 서비스의 제약 없이 온전히 내 소유의 RSS 구독기, FreshRSS를 우분투 서버에 구축하는 방법을 안내해 드리고자 합니다. 이 방법을 사용하면 복잡한 서버 지식 없이도, 놀라울 정도로 빠르고 효율적으로 ‘나만의 정보 허브’를 만들 수 있습니다.
설치 전 준비사항#
Docker Compose를 이용한 설치는 준비 과정이 매우 간단합니다.
우분투 서버(Ubuntu Server): 최신 LTS 버전이면 충분합니다.
도커(Docker) 및 도커 컴포즈(Docker Compose): 서버에 미리 설치되어 있어야 합니다.
작업 공간 및 Docker Compose 파일 생성#
가장 먼저, FreshRSS 관련 파일들을 보관할 폴더를 만들고 그 안에 설정 파일을 생성합니다.
작업 폴더 생성 및 이동#
mkdir freshrss-docker
cd freshrss-docker
mkdir data
mkdir extensions
docker-compose.yml 파일 생성#
nano 또는 선호하는 텍스트 편집기를 사용하여 설정 파일을 만듭니다.
nano docker-compose.yml
설정 파일 내용 붙여넣기#
아래 내용을 그대로 복사하여 docker-compose.yml 파일에 붙여넣습니다.
version: '3'
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
restart: unless-stopped
ports:
- '8080:80'
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Seoul
- CRON_MIN=*/30
volumes:
- ./data:/var/www/FreshRSS/data
- ./extensions:/var/www/FreshRSS/extensions
services
: 이 파일로 실행할 서비스(컨테이너)의 목록입니다. 여기서는freshrss
하나만 실행합니다.image
: 컨테이너를 만들 때 사용할 원본 이미지(설계도)입니다.container_name
: 실행될 컨테이너에 부여하는 고유한 이름입니다.restart: unless-stopped
: 서버가 재시작되더라도, 내가 직접 중지시키지 않는 한 컨테이너가 자동으로 다시 실행되도록 합니다.ports
: 서버의 포트(:
의 왼쪽)와 컨테이너의 포트(:
의 오른쪽)를 연결합니다.8080:80
은 서버의 8080 포트로 들어오는 요청을 컨테이너의 80번 포트로 전달하라는 의미입니다.environment
: 컨테이너 내부에 환경 변수를 설정합니다.TZ=Asia/Seoul
은 시간대를 서울로,CRON_MIN=*/30
은 30분마다 새로운 RSS 피드를 가져오도록 설정합니다.volumes
: 컨테이너의 특정 폴더(:
의 오른쪽)를 우리 서버의 실제 폴더(:
의 왼쪽)와 연결합니다. 이렇게 하면 컨테이너가 삭제되어도 데이터가 안전하게 보존됩니다.
Docker Compose 실행#
설정 파일 작성이 끝났다면, 이제 마법의 주문을 외칠 차례입니다. docker-compose.yml
파일이 있는 폴더에서 아래의 명령어를 입력하십시오.
docker compose up -d
-d
옵션은 컨테이너를 백그라운드에서 실행하라는 의미입니다.- 처음 실행하면
freshrss/freshrss
이미지를 다운로드하므로 약간의 시간이 걸릴 수 있습니다. “Done” 메시지가 나타나면 성공적으로 실행된 것입니다.
FreshRSS 접속 및 설정#
모든 서버 설정이 끝났습니다. 이제 웹 브라우저에서 FreshRSS에 접속하여 마지막 설정을 진행합니다.
FreshRSS 접속#
웹 브라우저에서 http://[내 서버의 IP 주소]:8080 주소로 접속합니다.
초기 설정 진행#
- 언어를 ‘한국어’로 선택하고 다음 단계로 진행합니다.
- “설치 요구 사항 확인” 체크 화면에서 모든 항목이 녹색으로 표시되는지 확인합니다.
- 데이터베이스 유형은 기본값인 SQLite를 그대로 사용하면 됩니다. Docker 볼륨을 통해 데이터가 안전하게 저장되므로 별도의 데이터베이스 설정이 필요 없습니다.
- 기본 사용자 계정을 생성하고, 인증 방식을 선택합니다.
- [설치] 버튼을 누르면 모든 과정이 완료됩니다.
마무리하며#
이제 당신은 가장 현대적이고 효율적인 방식으로 FreshRSS 서버 구축을 완료했습니다. 잘 작성된 docker-compose.yml
파일 하나가 복잡한 서버 설정을 얼마나 간단하게 만드는지 경험하셨을 겁니다.
직접 구축한 FreshRSS에 원하는 언론사, 블로그, 커뮤니티의 RSS 피드를 하나씩 추가하며, 나만의 지식 정원을 가꾸는 즐거움을 만끽하시길 바랍니다. 이 가이드가 그 여정에 든든한 첫걸음이 되었기를 바랍니다.
참조