Linux

[Docker] Firefly III 개인용 가계부 서버 구축 가이드

WindowsHyun 2025. 7. 1. 14:24
반응형

개요

Firefly III는 데이터 소유권을 사용자에게 보장하는 강력한 기능의 오픈소스 개인 재무 관리 도구입니다.

본 포스트에서는 Docker Compose를 이용하여 Firefly III와 데이터베이스를 함께 설치하는 표준적인 방법을 안내합니다.

사전 준비 사항

  • Docker 및 Docker Compose가 설치된 서버 환경.

설치 절차

1. 공식 설정 파일 다운로드

Firefly III를 위한 디렉터리를 생성하고, 공식 docker-compose.yml 파일과 .env 설정 파일을 다운로드합니다.

mkdir ~/firefly
cd ~/firefly
curl -o docker-compose.yaml https://raw.githubusercontent.com/firefly-iii/docker/main/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.env.example

2. .env 환경 변수 설정

다운로드한 .env 파일을 열어 핵심 설정들을 수정합니다. 이 파일은 데이터베이스 접속 정보, URL, 암호화 키 등 민감한 정보를 포함합니다.

vi .env

아래 항목들은 반드시 수정해야 합니다.

  • APP_URL: 리버스 프록시를 통해 접속할 최종 도메인 주소를 입력합니다. (예: https://money.windowshyun.tistory.com)
  • DEFAULT_LANGUAGE: ko_KR 로 언어 설정을 변경해줍니다.
  • TRUSTED_PROXIES: ** 입력하여 리버스 프록시를 허용해줍니다.
  • DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD: 데이터베이스 접속정보를 작성해주세요
  • APP_KEY: 데이터 암호화에 사용되는 키입니다. 아래 명령어를 실행하여 출력되는 키를 복사하여 붙여넣습니다.
    • docker run --rm fireflyiii/core:latest php artisan key:generate --show
      
  • TZ: 시간대를 Asia/Seoul로 설정합니다.

3. Firefly III 컨테이너 실행

설정이 완료된 .env 파일을 저장하고, 아래 명령어로 컨테이너를 실행합니다.

docker-compose up -d

4. 데이터베이스 초기화

컨테이너 실행 후, Firefly III가 사용할 데이터베이스 테이블을 생성하기 위해 자동으로 데이터베이스를 초기화 합니다

docker-compose exec firefly_iii_app php artisan migrate --seed

5. 설치 확인

웹 브라우저에서 설정한 포트(http://<서버_IP>:8080이 기본값)로 접속합니다. 새로운 사용자 계정을 등록하는 화면이 나타나면 설치가 성공적으로 완료된 것입니다.

반응형