| tags:raspberry pi categories:server

Firefly iiiをインストール

今までは、ラフにお金の流れをGNUCashを使って管理してましたが、 ちょっと細かくこずかい帳の様に使えるものを探していて PERSONAL FINANCE MANAGERのFirefly iiiがオススメとRedditで見つけ、 サイトをチェックしてみたところ、見た目も悪くない。 インストールのドキュメントを見てみるとスムースにインストールできそうなので、 試しに入れてみました。(まぁ、何度かエラーにはぶち当たるんですけどね、、)

Firefly Install

https://firefly-iii.org

Firefly Install

Phpライブラリーのインストール

LAMPのアプリですので、Phpのライブラリーが必要になります。 DBはmariaDBを使っています。Postgresqlにも対応、Sqliteはオススメではないそうです。

pi@tacos:~ $ sudo apt install php7.3 php7.3-bcmath php7.3-curl php7.3-fpm php7.3-gd php7.3-intl php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-xml php7.3-zip php7.3-ldap

そして、php設定の設定も必要。コメントを外して、値を変えます。

sudo vi /etc/php/7.3/fpm/php.ini

;cgi.fix_pathinfo=1
cgi.fix_pathinfo=0

データーベース作成

あらかじめデーターベースを作成しておきます。

pi@tacos:~ $ sudo mysql -u root
MariaDB [(none)]> CREATE DATABASE firefly;
MariaDB [(none)]> GRANT ALL ON firefly.* TO 'firefly-user'@localhost IDENTIFIED BY 'firefly-pa$$wd';
MariaDB [(none)]> exit
Bye

ウェブサイトの設定

サブドメインを使ってアクセスするので、nginxの設定をしておきます。 横着なので、デフォルトに付け加えててしまいます。(推奨はされていません) 落ち着いたら整理しようと思ってます。

pi@tacos:~ $ sudo vi /etc/nginx/sites-available/default

server {
  listen 80;
  listen [::]:80;
  server_name firefly.goozen.lab;
  
  root /var/www/firefly-iii/public;
  index index.php index.html index.htm;
  
  location / {
    try_files $uri $uri/ /index.php?$query_string;
    autoindex on;
    sendfile off;
  }
  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
  }
  location ~ /\.ht {
    deny all;
  }
}

そして、/etc/hostsも編集しておきます。


LAMPアプリのインストーラー?のようなcomposerを使ってアプリケーションをインストールします。gitとmakeも必要なので一緒にインストールします。

pi@tacos:~ $ sudo apt install git make composer

インストール時にメモリが足りんとエラーが出たので、動作中のサービスを幾つか切って作業を進めました。

pi@tacos:~ $ cd /var/www/
pi@tacos:~ $ sudo -u www-data /bin/bash
pi@tacos:~ $ composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii 4.7.17.6

Firefly Install

ファイルのインストールが終わった後にデーターベースの初期化、移行を行います。環境ファイルにDBの設定を書き込み、php artisan(何者なのか不明。。)で作業を続けます。

pi@tacos:~ $ vi /var/www/firefly-iii/.env

DB_DATABASE=firefly
DB_USERNAME=firefly-user
DB_PASSWORD=firefly-pa$$wd

pi@tacos:~ $ cd /var/www/firefly-iii
pi@tacos:~ $ php artisan migrate:refresh --seed
pi@tacos:~ $ php artisan firefly:upgrade-database
pi@tacos:~ $ php artisan firefly:verify
pi@tacos:~ $ php artisan passport:install

Firefly Install

エラーがなければ、以上にて終了です。

http://SUB_DOMAIN にてアクセスします。 自動的にインストール作業が続行しますが、OAuth2でエラーが出ます。 ログを見ろといえども、どこにログがあるのやら。。

Firefly

ただ、完全にインストールが失敗というわけではなく、 リロードをするとログイン画面にたどり着きます。

Firefly

認証関連のエラーなので、サイトをオープンにしなければ問題にはならない。と思います。

ユーザーを作成してログインします。

日本語にはローカライズしていないのですが、通貨はデフォルトで入っています。

Firefly

使用感

ちょっと使ってみましたが、完全にはマルチカレンシーには対応してません。 予算(¥)を組んで、ドルやバーツで使ったものはレートは適用されないでそのままの値($10が¥10として)で計算されてしまうので、 あまり使い物にはならないかもしれません。 でも折角なので、現在滞在中のタイ・バーツお小遣い帳として使ってみることにします。

そしてアンドロイドのクライアント・アプリもあるのですが、 前述のOAuthのエラーが多分問題なのか接続時に落ちて使えない。うぬぬ。

でも、通貨ひとつのみでの運用であれば、まま使い勝手は悪くないかもです。

と消極的なレビューでした。

See Also

🏝 tipping

🌷 sat ⚡️ goozenlab@getalby.com
🌻 bitcoin : bc1qnjhnsxgqah050995dkdveav4y3t3d7uxyme4ud

If you do send a tip, Please email me so that I can say thank you.