Skip to content
このページは AI の支援により作成・翻訳されました。誤りがあれば、改善にご協力ください。 GitHub で編集

インストール

Fenfaは2つのインストール方法をサポートしています:Docker(推奨)とソースからのビルド。

推奨

Dockerは最も早く始める方法です。ビルドツールを必要とせず、単一のコマンドで完全に動作するFenfaインスタンスを取得できます。

前提条件

要件最低バージョン注意事項
Docker20.10+またはPodman 3.0+
Go(ソースビルドのみ)1.25+Dockerでは不要
Node.js(ソースビルドのみ)20+フロントエンドのビルドに必要
ディスクスペース100 MBアップロードされたビルドのストレージは別途

方法1: Docker(推奨)

公式イメージをプルして実行します:

bash
docker run -d \
  --name fenfa \
  -p 8000:8000 \
  fenfa/fenfa:latest

http://localhost:8000/adminにアクセスし、デフォルトトークンdev-admin-tokenでログインします。

セキュリティ

デフォルトトークンは開発用のみです。Fenfaをインターネットに公開する前に、安全なトークンを設定するためにプロダクションデプロイを参照してください。

永続ストレージを使用する場合

データベースとアップロードされたファイルのためにボリュームをマウントします:

bash
docker run -d \
  --name fenfa \
  --restart=unless-stopped \
  -p 8000:8000 \
  -v ./data:/data \
  -v ./uploads:/app/uploads \
  fenfa/fenfa:latest

カスタム設定を使用する場合

すべての設定を完全に制御するためにconfig.jsonファイルをマウントします:

bash
docker run -d \
  --name fenfa \
  --restart=unless-stopped \
  -p 8000:8000 \
  -v ./data:/data \
  -v ./uploads:/app/uploads \
  -v ./config.json:/app/config.json:ro \
  fenfa/fenfa:latest

利用可能なすべてのオプションについては設定リファレンスを参照してください。

環境変数

設定ファイルなしで設定値を上書きします:

bash
docker run -d \
  --name fenfa \
  -p 8000:8000 \
  -e FENFA_ADMIN_TOKEN=your-secret-admin-token \
  -e FENFA_UPLOAD_TOKEN=your-secret-upload-token \
  -e FENFA_PRIMARY_DOMAIN=https://dist.example.com \
  -v ./data:/data \
  -v ./uploads:/app/uploads \
  fenfa/fenfa:latest
変数説明デフォルト
FENFA_PORTHTTPポート8000
FENFA_DATA_DIRデータベースディレクトリdata
FENFA_PRIMARY_DOMAIN公開ドメインURLhttp://localhost:8000
FENFA_ADMIN_TOKEN管理トークンdev-admin-token
FENFA_UPLOAD_TOKENアップロードトークンdev-upload-token

方法2: Docker Compose

docker-compose.ymlを作成します:

yaml
version: "3.8"
services:
  fenfa:
    image: fenfa/fenfa:latest
    container_name: fenfa
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      FENFA_ADMIN_TOKEN: your-secret-admin-token
      FENFA_UPLOAD_TOKEN: your-secret-upload-token
      FENFA_PRIMARY_DOMAIN: https://dist.example.com
    volumes:
      - ./data:/data
      - ./uploads:/app/uploads

サービスを起動します:

bash
docker compose up -d

方法3: ソースからビルド

リポジトリをクローンします:

bash
git clone https://github.com/openprx/fenfa.git
cd fenfa

Makeを使用する場合

Makefileがフルビルドを自動化します:

bash
make build   # フロントエンド + バックエンドをビルド
make run     # サーバーを起動

手動ビルド

最初にフロントエンドアプリケーションをビルドし、次にGoバックエンドをビルドします:

bash
# 公開ダウンロードページをビルド
cd web/front && npm ci && npm run build && cd ../..

# 管理パネルをビルド
cd web/admin && npm ci && npm run build && cd ../..

# Goバイナリをビルド
go build -o fenfa ./cmd/server

フロントエンドはinternal/web/dist/にコンパイルされ、go:embedでGoバイナリに組み込まれます。出来上がったfenfaバイナリは完全に自己完結しています。

バイナリを実行する

bash
./fenfa

Fenfaはデフォルトでポート8000で起動します。SQLiteデータベースはdata/ディレクトリに自動的に作成されます。

インストールの確認

ブラウザでhttp://localhost:8000/adminを開き、管理トークンでログインします。管理ダッシュボードが表示されるはずです。

ヘルスエンドポイントを確認します:

bash
curl http://localhost:8000/healthz

期待されるレスポンス:

json
{"ok": true}

次のステップ

Released under the Apache-2.0 License.