
Forgejoを15.0.7から15.0.10に更新してみた
皆様こんにちは。tamです。
運用しているForgejoのバージョンを 15.0.7 から 15.0.10 に更新しました。
作業ログを兼ねて手順をまとめておきます。
環境
ホスト: forgejo.example.jp
現バージョン: Forgejo 15.0.7
更新後バージョン: Forgejo 15.0.10
インストール方式: バイナリ直接配置(systemdサービスとして管理)
事前確認
まずはリリースノートと公式のアップグレード手順に目を通しておきます。
リリースノート
15.0.8
https://codeberg.org/forgejo/forgejo/src/branch/forgejo/release-notes-published/15.0.8.md
15.0.9
https://codeberg.org/forgejo/forgejo/src/branch/forgejo/release-notes-published/15.0.9.md
15.0.10
https://codeberg.org/forgejo/forgejo/src/branch/forgejo/release-notes-published/15.0.10.md
アップグレード手順
https://forgejo.org/docs/latest/admin/upgrade/#performing-the-upgrade
同一メジャーバージョン内であれば特別な追加手順は不要で、おおまかには
- サービス停止
- バイナリ差し替え
- サービス起動
という流れで更新できるようです。
起動時に必要であればDBマイグレーションが自動実行されます。
なお、16系以降へのアップグレードでは別途注意事項がありますが、今回は15系内での更新なので対象外です。
まず始めに
念のため作業前にバックアップを取得します。
バイナリの差し替えだけとはいえ、DBマイグレーションが走る可能性がある以上、切り戻せる状態を用意しておくと安心です。
今回は利用しているクラウド環境のスナップショットを取得しました。
アップグレード作業
それではアップグレードを行っていきます。
サービスの停止時間を短くするため、新バイナリのダウンロード、チェックサム検証、実行権限の付与までを先に済ませておきます。
まずは新バイナリをダウンロードします。
root@forgejo:~# wget https://code.forgejo.org/forgejo/forgejo/releases/download/v15.0.10/forgejo-15.0.10-linux-amd64
チェックサムの検証を行います。
root@forgejo:~# wget https://code.forgejo.org/forgejo/forgejo/releases/download/v15.0.10/forgejo-15.0.10-linux-amd64.sha256
root@forgejo:~# sha256sum -c forgejo-15.0.10-linux-amd64.sha256
forgejo-15.0.10-linux-amd64: OK
問題なかったので実行権限を付与します。
root@forgejo:~# chmod +x forgejo-15.0.10-linux-amd64
準備が整いました。いよいよ更新作業です。
Forgejoを停止します。
root@forgejo:~# systemctl stop forgejo
cpコマンドを使ってバイナリを差し替えます。
root@forgejo:~# cp -p forgejo-15.0.10-linux-amd64 /usr/local/bin/forgejo
root@forgejo:~# ll /usr/local/bin/forgejo
-rwxr-xr-x 1 root root 116555752 Oct 12 22:26 /usr/local/bin/forgejo*
Forgejoを起動します。
root@forgejo:~# systemctl start forgejo
起動状況を確認します。
root@forgejo:~# systemctl status forgejo
● forgejo.service - Forgejo (Beyond coding. We forge.)
Loaded: loaded (/etc/systemd/system/forgejo.service; enabled; preset: enabled)
Active: active (running) since Tue 2026-11-03 16:25:48 JST; 5s ago
Invocation: xxxxxxxxxxxxxxxxxxxxxxxxx
Main PID: 1612278 (forgejo)
Status: "Starting Gitea"
Tasks: 9 (limit: 1749)
Memory: 95.1M (peak: 95.2M)
CPU: 1.270s
CGroup: /system.slice/forgejo.service
バージョンを確認します。
root@forgejo:~# forgejo --version
forgejo version 15.0.10+gitea-1.22.0 (release name 15.0.10) built with GNU Make 4.4.1, go1.26.9 : bindata, timetzdata, sqlite, sqlite_unlock_notify
無事15.0.10になっていることを確認できました。
今回はありませんでしたが、DBマイグレーションが実行された場合は、ログに次のような記録が残ります。
念のために確認しておきましょう。
※ログファイルの保存場所はapp.iniの[log]セクションに記載されています。
forgejo.example.jp forgejo[21469]: Migration[v17a_add-action-run-workflow-source-commit]: add WorkflowSourceCommit to ActionRun
forgejo doctorでのチェック
公式のUpgrade guideでは、以下のコマンドを実行して問題が報告されないことを確認するよう案内されています。
forgejo doctor check --all --log-file /tmp/doctor.log
私の環境ではそのまま実行するとエラーになったため、Forgejoの実行ユーザーで、設定ファイルのパスを明示して実行しました。
root@forgejo:~# sudo -u <gituser> forgejo doctor check --all --config /<path>/app.ini --log-file /tmp/doctor.log
※ <gituser> と <path> の部分は適宜置き換えてください。
実行すると28項目のチェックが走り、すべて OK で完了しました。
途中 [W](Warn)が2箇所出ていたので内容を確認しましたが、アバター画像に関するもので、特に問題となるものではありませんでした。
まとめ
Forgejoの15.0.7→15.0.10への更新は、特につまずくポイントもなくスムーズに完了しました。
同一メジャーバージョン内のパッチアップデートであれば、バイナリを差し替えるだけで済むので気軽で助かります。
とはいえ、データベースのマイグレーションが実行される場合があるため、万が一に備えて事前にスナップショットなどのバックアップを取っておくことは必須です。
パッチバージョンにはバグ修正やセキュリティ修正が含まれることがあるため、リリースノートを確認しつつ、こまめに追従しておくのが良さそうです。
※今回もセキュリティ修正にクリティカルなものが2つ含まれていました





