Actual Budget: VPS에서 운영하는 나만의 개인 예산 관리 도구
은행 앱은 돈이 이미 어디에 쓰였는지 보여 줍니다. Actual Budget은 다른 질문에 답합니다. 잔액의 일부가 이미 월세, 식비, 휴가, 예상치 못한 지출을 위해 정해져 있다면 실제로 자유롭게 쓸 수 있는 돈은 얼마일까요?
Actual Budget은 무료 오픈 소스 개인 재무 관리 도구입니다. 로컬에서 작동하고, 자신의 서버를 통해 동기화하며, 종단 간 암호화를 지원합니다. 이 글에서는 주요 기능과 제한 사항, VPS 설치 방법을 살펴봅니다.
Actual Budget을 설치하는 일곱 단계
- Linux VPS를 만들고
budget.example.com과 같은 하위 도메인을 연결합니다. - Docker와 Docker Compose를 설치합니다.
- 영구 데이터 디렉터리를 사용해 공식 컨테이너를 실행합니다.
- Caddy를 통해 HTTPS를 연결합니다.
- 서버 암호를 설정하고 예산을 만듭니다.
- 계좌, 카테고리, 규칙, 정기 결제를 추가합니다.
- 암호화를 활성화하고 외부 백업을 설정합니다.
Actual Budget이란?
Actual Budget은 개인 또는 가족 예산을 관리하는 셀프 호스팅 애플리케이션입니다. YNAB의 오픈 소스 대안으로 자주 언급되지만, 기존 데이터를 가져오지 않고 새로운 예산부터 시작할 수도 있습니다.
이 서비스는 가상 봉투 예산법을 사용합니다. 계좌에 100,000루블이 있다고 가정해 보겠습니다. 이 중 40,000루블은 주거비, 20,000루블은 식비, 10,000루블은 공과금, 15,000루블은 비상금으로 필요합니다. 돈을 모두 배정하고 나면 선택적 소비에 쓸 수 있는 금액은 100,000루블이 아니라 15,000루블입니다.
이 방식은 애플리케이션의 역할을 바꿉니다. 일반적인 지출 추적기는 과거에 돈을 어디에 썼는지 설명하지만, Actual Budget은 구매하기 전에 결정을 내리도록 돕습니다. 카테고리에서 사용하지 않은 잔액은 다음 기간으로 넘어가며, 초과 지출이 발생하면 다른 봉투에서 돈을 옮길 수 있습니다.
또 다른 차이점은 로컬 우선 아키텍처입니다. 예산은 연결된 기기에 저장되며 인터넷이 없어도 사용할 수 있습니다. 연결이 복구되면 변경 사항이 서버를 통해 동기화됩니다. VPS는 모든 작업을 처리하기보다 컴퓨터, 휴대전화, 브라우저 사이에서 데이터를 교환하는 데 주로 사용됩니다.
Actual Budget의 주요 기능
- 봉투 예산. 이미 실제로 받은 돈만 배정합니다.
- 계좌와 거래. 이체, 한 건의 구매를 여러 카테고리로 분할하기, 메모, 잔액 조정을 지원합니다.
- 규칙과 일정. 은행 거래 설명을 정리하고, 카테고리를 지정하며, 급여, 월세, 구독료를 미리 반영할 수 있습니다.
- 가져오기. CSV, QIF, OFX, QFX, CAMT를 지원합니다. 거래 식별자가 포함된 형식은 중복을 더 잘 방지합니다.
- 보고서. 현금 흐름, 순자산, 지출, 사용자 지정 그래프를 확인할 수 있습니다.
- 이전과 API. YNAB4와 현재 버전의 YNAB에서 데이터를 가져올 수 있으며, 자체 연동을 위한 API도 제공합니다.
휴대전화에서는 Actual Budget을 PWA, 즉 홈 화면에 추가하는 웹 애플리케이션으로 설치합니다. 모바일 인터페이스가 자신에게 편리한지 미리 확인하는 것이 좋습니다.
| 항목 | 클라우드 서비스 | Actual Budget |
|---|---|---|
| 저장 위치 | 서비스 제공업체 | 기기와 자신의 서버 |
| 오프라인 사용 | 서비스에 따라 다름 | 핵심 기능을 로컬에서 사용 가능 |
| 유지 관리 | 서비스 제공업체가 담당 | 소유자가 담당 |
| 프로그램 비용 | 구독 또는 무료 요금제 | 필수 구독 없음 |
| 데이터 통제 | 서비스 제공업체 정책에 따름 | 서버 소유자가 통제 |
Actual Budget은 개인정보 보호와 통제권을 중요하게 생각하는 사람에게 적합합니다. 서버를 직접 관리하고 싶지 않다면 클라우드 서비스가 더 편리합니다.
Actual Budget 서버 요구 사항
프로젝트는 CPU와 RAM의 엄격한 최소 사양을 공개하지 않습니다. 서버는 주로 용량이 작은 재무 데이터를 동기화하므로, 개인 또는 가족이 시작하기에 적절한 구성은 다음과 같습니다.
- 1 vCPU;
- RAM 1GB;
- SSD 10GB;
- Ubuntu 24.04 LTS;
- 도메인 또는 하위 도메인;
- 백업을 위한 외부 저장 공간.
이는 실용적인 권장 사항이며 공식 최소 사양은 아닙니다. 다른 컨테이너도 실행할 계획이라면 RAM 2GB를 준비하는 편이 좋습니다.
VPS에 Actual Budget을 설치하는 방법
이 예시에서는 Ubuntu 24.04와 하위 도메인 budget.example.com을 사용합니다.
1. 서버 준비하기
VPS의 IP 주소를 가리키는 DNS A 레코드를 만들고 SSH로 접속한 뒤 필요한 포트만 엽니다.
ssh root@SERVER_IP
apt update && apt upgrade -y
apt install -y ca-certificates curl ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable2. Docker 설치하기
Docker 공식 저장소를 추가합니다.
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin3. Actual Budget 실행하기
mkdir -p /opt/actual-budget/data
cd /opt/actual-budget
cat > compose.yml <<'EOF'
services:
actual:
image: actualbudget/actual-server:latest
restart: unless-stopped
ports:
- "127.0.0.1:5006:5006"
volumes:
- ./data:/data
EOF
docker compose up -d
docker compose ps127.0.0.1에 바인딩하면 포트 5006이 인터넷에 직접 노출되지 않습니다. 예산 데이터는 /opt/actual-budget/data에 저장되며 컨테이너를 업데이트해도 사라지지 않습니다.
4. HTTPS 연결하기
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
budget.example.com {
reverse_proxy 127.0.0.1:5006
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyDNS가 VPS를 가리키고 포트 80과 443에 접근할 수 있으면 Caddy가 TLS 인증서를 자동으로 발급받습니다. https://budget.example.com을 열고 긴 서버 암호를 설정합니다.
첫 번째 예산을 설정하는 방법
처음부터 몇 년치 기록을 가져올 필요는 없습니다. 현재 사용하는 계좌를 추가하고 현재 잔액을 입력한 다음, 필수 결제, 일상 지출, 저축, 비정기 지출을 위한 카테고리를 만드는 편이 더 빠릅니다.
“배정할 금액”이 0이 될 때까지 현재 보유한 돈만 배정합니다. 그런 다음 최근 거래를 가져오고 잔액을 확인한 뒤 자주 이용하는 상점, 구독, 이체에 대한 규칙을 만듭니다.
카테고리는 의사결정에 도움이 되어야 합니다. “의료비”, “기기 수리”, “연간 구독”을 각각 별도 봉투로 만드는 것이 하나의 포괄적인 “기타” 카테고리보다 유용합니다.
은행 동기화에 대해 알아야 할 점
은행 연결은 모든 국가에서 제공되는 것이 아니며 지원되는 API 제공업체에 따라 달라집니다. 자신의 서버와 추가 인증 정보가 필요합니다. Actual Budget은 동기화를 완전히 자동으로 실행하지 않으며, 사용자가 인터페이스에서 직접 시작합니다.
은행 연결 토큰은 서버에 별도로 저장되며 예산의 종단 간 암호화 범위에 포함되지 않습니다. 특정 은행을 지원하지 않으면 거래 내역서에서 거래를 가져올 수 있습니다. OFX와 QFX에는 거래 식별자가 포함되므로 일반적으로 CSV보다 편리합니다.
암호화, 백업, 업데이트
종단 간 암호화는 예산마다 별도로 활성화합니다. 서버에서는 암호를 복구할 수 없으므로 암호 관리자에 저장해야 합니다. Actual Budget 자체는 기기에 저장된 로컬 사본을 암호화하지 않으므로 휴대전화와 컴퓨터를 잠금 코드와 디스크 암호화로 보호해야 합니다.
동기화는 백업을 대신하지 않습니다. 설정에서 예산을 정기적으로 내보내고 데이터 디렉터리를 다른 위치로 복사합니다.
cd /opt/actual-budget
docker compose stop
tar -czf /root/actual-budget-$(date +%F).tar.gz data
docker compose start압축 파일은 VPS 외부로 옮겨야 합니다. 업데이트 전에도 사본을 만든 다음 다음 명령을 실행합니다.
cd /opt/actual-budget
docker compose pull
docker compose up -d상시 사용에는 실험적인 nightly 태그가 아니라 안정적인 latest 태그를 선택합니다.
Actual Budget에는 어떤 VPS가 적합한가?
개인용 인스턴스에는 강력한 서버가 필요하지 않습니다. tropic.host의 기본 Linux VPS에서 Actual Budget과 Caddy, HTTPS가 적용된 하위 도메인을 운영할 수 있습니다. RAM 1GB로 시작하고 다른 셀프 호스팅 서비스를 추가할 때만 자원을 늘리는 것이 합리적입니다.
포트 5006을 직접 노출하지 말고, 업데이트를 설치하며, 기본 VPS 외부에 백업을 최소 한 개 보관하십시오. 셀프 호스팅 서비스의 보안은 소유자가 어떻게 설정하느냐에 달려 있습니다.
Actual Budget의 제한 사항
Actual Budget은 직접 유지 관리해야 합니다. 은행 동기화는 국가와 제공업체의 제한을 받으며, 모바일 버전은 PWA로 작동하고, 암호화 암호를 잃어버리면 예산에 접근하지 못할 수 있습니다.
모든 사람에게 맞는 서비스는 아니지만, 필수 구독 없이 봉투 예산, 자동화, 데이터 통제권을 결합한다는 구체적인 목적은 잘 해결합니다.
요약
Actual Budget은 지출 기록을 계획으로 바꿉니다. 받은 모든 돈에 미리 용도를 지정하는 방식입니다. 애플리케이션은 로컬에서 작동하고 자신의 서버를 통해 동기화하며, 가져오기, 규칙, 보고서, 암호화를 지원합니다.
실행에는 소규모 VPS면 충분합니다. 설치 후 가장 중요한 작업은 HTTPS를 연결하고, 암호화 암호를 안전하게 보관하며, 외부 백업을 설정하는 것입니다.
FAQ
Actual Budget은 무료인가요?
네. 애플리케이션은 오픈 소스로 배포되며 필수 구독이 없습니다. VPS, 도메인, 백업 저장 공간 비용은 별도로 발생합니다.
Actual Budget을 반드시 VPS에 설치해야 하나요?
아니요. 한 대의 컴퓨터에서 로컬로만 사용할 수도 있습니다. 서버는 기기 간 동기화, 은행 연결, API, 상시 웹 접속이 필요할 때 사용합니다.
Actual Budget을 은행에 연결할 수 있나요?
네. 사용하는 은행과 지역이 제공되는 업체 중 하나의 지원 대상이라면 가능합니다. 그렇지 않으면 CSV, QIF, OFX, QFX, CAMT 파일에서 거래를 가져올 수 있습니다.
예산을 자신의 서버에 저장해도 안전한가요?
올바르게 설정하면 안전하지만 책임은 소유자에게 있습니다. HTTPS, 긴 암호, 암호화, 업데이트, 외부 백업이 필요합니다.
Actual Budget에는 RAM이 얼마나 필요한가요?
공식 최소값은 없습니다. 개인용 인스턴스는 RAM 1GB가 실용적인 시작점이며, 다른 서비스도 운영한다면 2GB를 준비하는 편이 좋습니다.
