設定
ほとんどの設定はコントロールパネルにあります。一部はコンテナー起動時に指定します。
このページの内容
設定一覧
| 設定 | 既定 | 説明 |
|---|---|---|
THIRTYFILE_ADMIN_PASSWORD | ランダム | admin のパスワード。初回起動のみ使用します。例の choose-a-password は未設定と見なします |
THIRTYFILE_ADMIN_PASSWORD_FILE | 代わりにパスワードを保存したファイル。Docker secret など | |
THIRTYFILE_SECURE_COOKIE | false | HTTPS の場合は true にします(https:// で始まるサイトの URL も同じ効果)。Cookie は HTTPS でのみ送信し、ブラウザーに 1 年間 HTTPS のみを使うよう伝えます(HSTS) |
THIRTYFILE_TRUST_PROXY | false | 同じコンピューターや Docker ネットワークのリバースプロキシの背後なら true。別のコンピューターなら 203.0.113.7, 10.1.0.0/16 のようにアドレスを指定します。IPv6 表記の ::ffff:172.18.0.1 は含まれる IPv4 アドレスとして扱います(ネットワークは /96 以上。::ffff:172.18.0.0/112 は 172.18.0.0/16)。true は LAN のほかのコンピューターも含め全プライベートアドレスを信頼するため、プロキシのアドレスを列挙する方が安全です。これらのアドレスからのみ X-Forwarded-For、-Host、-Proto を信頼します |
THIRTYFILE_TRASH_DAYS | 30 | ごみ箱の保存日数。0 は無期限 |
THIRTYFILE_MAX_UPLOAD_MB | 0 | アップロード可能な最大サイズ。0 は無制限 |
THIRTYFILE_DB_CACHE_MB | 16 | 接続あたりのデータベースキャッシュ(MB、最大 8 接続)。利用者の多い大規模サーバーでは増やせます |
THIRTYFILE_THUMBNAIL_JOBS | 1 または 2 | 同時に作成するサムネイル数。サーバーやコンテナーのメモリが 2 GB 未満なら 1、それ以外は 2 |
THIRTYFILE_RUN_AS | 1000:1000 | サーバーの実行ユーザーとグループ。起動時にデータとストレージの所有者を変更します。イメージが設定するもので、単体プログラムは起動したユーザーで動き続けます |
THIRTYFILE_LOG_FORMAT | text | json は収集ツール向けにログを 1 行 1 JSON で出力 |
RUST_LOG | thirtyfile=info | ログの詳しさ。問題を調べる間は thirtyfile=debug など |
TZ | UTC | タイムゾーン。Asia/Taipei など |
THIRTYFILE_SECRET_KEY | /data の secret.key | 保存場所、シングルサインオン、署名シークレットなど、データベースのパスワードとキーを暗号化する 64 桁の 16 進数キー。openssl rand -hex 32 で作成できます。未設定なら初回起動で /data/secret.key を作ります。アップグレードとバックアップ を参照 |
THIRTYFILE_SECRET_KEY_FILE | 代わりにそのキーを保存したファイル。Docker secret など | |
THIRTYFILE_ADDR | 0.0.0.0:8080 | コンテナー内の待ち受けアドレスとポート。ホストのポートを変えるには公開ポート(-p 9000:8080)を変えます |
THIRTYFILE_DATA | /data | データベース、サムネイル、進行中のアップロードのフォルダー。イメージが設定するため値を変えず、そこにフォルダーをマウントしてください。単体プログラムでは ./data |
THIRTYFILE_STORAGE | /storage | 組み込み保存場所のフォルダー。THIRTYFILE_DATA と同様にイメージが設定します。単体プログラムではデータフォルダーの blobs |
オン、オフの設定は true、false(1/0、yes/no、on/off も、大文字小文字を問わず)を受け付けます。compose.yaml では引用符("true")で囲み、YAML に別の型へ変換させないようにします。
docker run の場合
設定ごとに -e を追加します。
docker run -d --name thirtyfile --restart unless-stopped -p 8080:8080 \
-v /srv/thirtyfile/data:/data -v /srv/thirtyfile/storage:/storage \
-e THIRTYFILE_ADMIN_PASSWORD='choose-a-password' \
-e TZ=Asia/Taipei \
-e THIRTYFILE_TRASH_DAYS=60 \
ghcr.io/thirtyfile/thirtyfile:latest
後から変えるには、コンテナーを停止、削除して、新しい値でコマンドを実行します。ファイルは保持します。
docker stop thirtyfile && docker rm thirtyfile
Docker Compose の場合
compose.yaml の environment: に追加して、docker compose up -d を再実行します。
environment:
TZ: Asia/Taipei
THIRTYFILE_TRASH_DAYS: "60"
メモリ
待機中は約 100 MB、通常は 300 MB 未満です。大きな画像のサムネイル作成が最も多く使い、同時に作る 1 件あたり最大約 280 MB です。メモリ 1 GB の NAS や Raspberry Pi でも動きます。2 GB 未満では 1 件ずつ作り、画像のデコードに使えるメモリも減らします(上限を超える画像はサムネイルを作りません)。
上限を決めるには、docker run の --memory 512m、または compose.yaml の mem_limit: 512m などを指定します。ThirtyFile は起動時に上限を読んで調整します。
データの保存先
コンテナーは 2 つのフォルダーを使います。それぞれにコンピューターのフォルダーをマウントしてください。
| コンテナー内 | 内容 |
|---|---|
/data | アカウント、設定、ログ、サムネイル、進行中のアップロード。容量は小さめです |
/storage | 組み込み保存場所のファイル。通常のフォルダー company、teams/<space name>、users/<user name> で保存し、ファイルとともに増えます |
同じディスクでなくても構いません。/storage は大きなディスクや NAS のマウント先にできます。ないフォルダーは作成し、起動時に両方をユーザー 1000 の所有にするため(THIRTYFILE_RUN_AS)、手動で所有者を変える必要はありません。
ほかのディスクも保存場所に追加できます。-v /mnt/nas:/nas のようにマウントし、コントロールパネル › 保存場所 で /nas を追加します。保存場所 を参照してください。