actual-server - 実際のサーバー

(Actual's server)

Created at: 2022-04-01 01:14:34
Language: JavaScript
License: MIT

これは、ローカル初のパーソナルファイナンスツールであるActualを実行するためのメインプロジェクトです。最新バージョンのActualと、変更を永続化し、すべてのデバイスでデータを利用できるようにするサーバーが付属しています。

不和に加わろう!

技術者以外のユーザー

実際のワンボタンクリッククリック展開の機能を検討しています。これにより、コマンドラインに慣れていない人の摩擦が軽減されます。

ランニング

始めるのはとても簡単です。このリポジトリのクローンを作成し、depsをインストールして、開始します。

git clone https://github.com/actualbudget/actual-server.git
cd actual-server
yarn install
yarn start

ブラウザでhttps:// localhost:5006にアクセスすると、Actualが表示されます。

Docker経由で実行

Dockerコンテナーを使用して実行するには、次のコマンドを使用できます。

git clone https://github.com/actualbudget/actual-server.git
cd actual-server
docker build -t actual-server .
docker run -p 5006:5006 actual-server

展開

サーバーが常に稼働するようにサーバーをデプロイする必要があります。信じられないほど簡単で無料のプランを提供するfly.ioをお勧めします。

アカウントを作成します。お支払いの詳細を入力する必要がありますが、ここで行うことはすべて無料枠で機能し、料金は発生しません。

次に、ユーティリティをインストールし

flyctl
ます。
flyctl auth login
アカウントにサインインするために実行します。

にコピー

fly.template.toml
fly.toml
ます。ファイルの最初の行にあるアプリ名を開い
fly.toml
てカスタマイズします。

ここで、から実行

flyctl launch
actual-server
ます。あなたは今実行中のアプリを持っているはずです!

実績を更新するときはいつでも、とのバージョンを更新

@actual-app/api
@actual-app/web
package.json
実行して
flyctl  deploy
ください。

注: flyを使用したくない場合でも

Dockerfile
、アプリをビルドするためのを提供しているため、Dockerイメージをコンパイルできる場所であればどこでも機能するはずです。

サーバーデータの永続化

上記の設定の問題の1つは、デプロイするたびに、サーバー上のすべてのデータが消去されることです。インスタンスを再度ブートストラップして、ファイルをアップロードする必要があります。

持続する場所にデータを移動してみましょう。fly.ioを使用して、ボリュームを作成できます。次のコマンドを実行します。

flyctl volumes create actual_data

次に、Actualにこのボリュームを使用するように指示する必要があります。これを追加し

fly.toml
ます:

[mounts]
  source="actual_data"
  destination="/data"

それでおしまい!実際には、

/data
ディレクトリが存在するかどうかが自動的にチェックされ、自動的に使用されます。

ACTUAL_USER_FILES
環境変数を使用してデータディレクトリを構成することもできます。

サーバーURLの構成

実際のアプリはサーバーから完全に分離されています。このプロジェクトでは、両方が同じサーバーによって提供されていますが、アプリはサーバーがどこにあるかを認識していません。

サーバーは完全に異なるドメインに存在する可能性があります。アプリとサーバーが完全に別々の場所で実行されるように、Actualを設定できます。

Actualは使用するサーバーを認識していないため、最初にサーバーのURLを要求します。このプロジェクトを実行している場合は、[このドメインを使用する]をクリックするだけで、現在のドメインが自動的に入力されます。これは、アプリとサーバーを同じ場所で提供しているために機能します。