0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

おうちサーバー構築報告:Forgejo 15.0.3 をインストール

0
Last updated at Posted at 2026-06-21

能書き

おうちサーバー構築報告:予告からのおうちサーバー構築。前回からForgejo関連作業をしています。

  1. ProxmoxVE(9.1.5)に仮想マシンを作成、PostgreSQL(18.4)をインストール
  2. Forgejoをバイナリインストール ←イマココ
  3. リバースプロクシを設定
  4. Forgejo Runner をインストールし、Forgejo本体と連携
  5. ForgejoでCI/CDを実験
  6. Mattermost(11.4.2)と連携

前提

目標

  • Forgejo本体をバイナリインストール

参考文献

下記が公式ページです。今回も公式ページ(の自動翻訳)を頼りに作業します。

事前準備

前回のPostSQL18.4、そのインストール先の仮想マシンと同じ所にForgejo本体(およびForgejo Runner)をインストールする事にします。

まずは念の為に、仮想マシンのスナップショットを撮っておきます。

  1. 該当仮想マシン(IPアドレス172.16.1.104)を停止
  2. スナップショットを作成
  3. 仮想マシンを起動

Forgejoインストール

Dockerではなくてバイナリインストールとします。

ダウンロード

下記の手順でバイナリをダウンロードします。

仮想マシン172.16.1.104:ユーザーadministrator
cd
wget https://codeberg.org/forgejo/forgejo/releases/download/v15.0.3/forgejo-15.0.3-linux-amd64
chmod +x forgejo-15.0.3-linux-amd64

GPGの署名を確認

大丈夫と思いますが、一応は手順に従って、GPGの署名を確認します。

仮想マシン172.16.1.104:ユーザーadministrator
gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
wget https://codeberg.org/forgejo/forgejo/releases/download/v15.0.3/forgejo-15.0.3-linux-amd64.asc
gpg --verify forgejo-15.0.3-linux-amd64.asc forgejo-15.0.3-linux-amd64

確認できたらダウンロードした署名ファイルは削除。

仮想マシン172.16.1.104:ユーザーadministrator
rm forgejo-15.0.3-linux-amd64.asc

バイナリを配置

/usr/local/binにバイナリを移動します。公式ではcpコマンドでしたが、mvでいいよね。

仮想マシン172.16.1.104:ユーザーadministrator
sudo mv forgejo-15.0.3-linux-amd64 /usr/local/bin/forgejo
sudo chmod 755 /usr/local/bin/forgejo

そしてgitコマンドをapt installする事になってますが、Ubuntu26.04では既にインストールされてるようなので省略。しかしgit-lfsの方は入ってない模様。インストールします。

仮想マシン172.16.1.104:ユーザーadministrator
sudo apt install git-lfs

git-lfsをインストールしたら/etcに何やら追加がありました。

仮想マシン172.16.1.104:ユーザーadministrator
sudo svn st /etc | grep "^?" | cut -b9- | sudo xargs -I{} find {} -type f -or -type d -or -type l | sudo xargs -t svn add
sudo svn ci /etc -m"installed git-lfs"
sudo svn up /etc

ユーザー作成

gitユーザーを作成。Forgejoはこのユーザーとして起動されるようです。

仮想マシン172.16.1.104:ユーザーadministrator
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git

Subversionコミット。

仮想マシン172.16.1.104:ユーザーadministrator
sudo svn st /etc | grep "^?" | cut -b9- | sudo xargs -I{} find {} -type f -or -type d -or -type l | sudo xargs -t svn add
sudo svn ci /etc -m"adduser 'git'"
sudo svn up /etc

ディレクトリ作成

Forgejoが使用するディレクトリを作成し、アクセス権限を適切に設定します。

まずはForgejoがGitリポジトリを含むデータを格納するディレクトリです。

仮想マシン172.16.1.104:ユーザーadministrator
sudo mkdir /var/lib/forgejo
sudo chown git: /var/lib/forgejo
sudo chmod 750 /var/lib/forgejo

次にForgejoの設定ファイル置き場です。

仮想マシン172.16.1.104:ユーザーadministrator
sudo mkdir /etc/forgejo
sudo chown root:git /etc/forgejo
sudo chmod 770 /etc/forgejo
仮想マシン172.16.1.104:ユーザーadministrator
sudo svn st /etc | grep "^?" | cut -b9- | sudo xargs -I{} find {} -type f -or -type d -or -type l | sudo xargs -t svn add
sudo svn ci /etc -m"mkdir /etc/forejo"
sudo svn up /etc

systemdサービスを設定

forgejo.serviceをダウンロードします。

仮想マシン172.16.1.104:ユーザーadministrator
sudo wget -O /etc/systemd/system/forgejo.service https://codeberg.org/forgejo/forgejo/raw/branch/forgejo/contrib/systemd/forgejo.service

PostgreSQLを使用する場合はこれを修正する必要があるとの事。まずは修正前にSubversionコミットしてしまいましょう。

仮想マシン172.16.1.104:ユーザーadministrator
sudo svn st /etc | grep "^?" | cut -b9- | sudo xargs -I{} find {} -type f -or -type d -or -type l | sudo xargs -t svn add
sudo svn ci /etc -m"downloaded forgejo.service"
sudo svn up /etc

そして修正。

仮想マシン172.16.1.104:ユーザーadministrator
sudo EDITOR=vi systemctl edit forgejo --full

修正内容は下記の通りです。

仮想マシン172.16.1.104:ユーザーadministrator
$ sudo svn diff --diff-cmd diff -x -U0 /etc
Index: /etc/systemd/system/forgejo.service
===================================================================
--- /etc/systemd/system/forgejo.service (revision 8)
+++ /etc/systemd/system/forgejo.service (working copy)
@@ -15,2 +15,2 @@
-#Wants=postgresql.service
-#After=postgresql.service
+Wants=postgresql.service
+After=postgresql.service

修正できたらsystemdを再読み込み。

仮想マシン172.16.1.104:ユーザーadministrator
sudo systemctl daemon-reload

そうしたら有効化して起動します。

仮想マシン172.16.1.104:ユーザーadministrator
sudo systemctl enable forgejo
仮想マシン172.16.1.104:ユーザーadministrator
sudo systemctl start forgejo
仮想マシン172.16.1.104:ユーザーadministrator
systemctl status forgejo

起動に成功したら/etcをSubversionコミットします。

仮想マシン172.16.1.104:ユーザーadministrator
sudo svn st /etc | grep "^?" | cut -b9- | sudo xargs -I{} find {} -type f -or -type d -or -type l | sudo xargs -t svn add
sudo svn ci /etc -m"setting forgejo.service"
sudo svn up /etc

ブラウザで確認、そして設定

普段使いのブラウザでhttp://172.16.1.104:3000にアクセスします。

すると初期設定画面が表示されるので、指示に従って入力します。

  • データベース設定
    • データベースのタイプ: PostgreSQL
    • ホスト: 127.0.0.1:5432 (デフォルトのまま)
    • ユーザー名: forgejo (デフォルトのまま)
    • パスワード: (前回設定した、forgejoユーザーの為の「強力なパスワード」を入力)
    • データベース名: forgejodb (前回の設定を参照)
    • SSL: Disable (デフォルトのまま)
    • スキーマ: (空欄) (デフォルトのまま)

image.png

  • 基本設定 (1/2)
    • インスタンス名: Forgejo (デフォルトのまま)
    • インスタンスのスローガン: Beyond coding. We Forge. (デフォルトのまま)
    • リポジトリのルートパス: /var/lib/forgejo/data/forgejo-repositories (デフォルトのまま)
    • Git LFSルートパス: /var/lib/forgejo/data/lfs (デフォルトのまま)
    • 実行ユーザー名: git (デフォルトのまま)
    • サーバードメイン: 172.16.1.104 (デフォルトのまま)

image.png

  • 基本設定 (2/2)
    • SSHサーバーのポート: 22 (デフォルトのまま)
    • HTTPポート: 3000 (デフォルトのまま)
    • ForgejoのベースURL: http://172.16.1.104:3000/ (デフォルトのまま)
    • ログの保存先パス: /var/lib/forgejo/log (デフォルトのまま)
    • セルフ登録を無効にする: チェック (デフォルトのまま)
    • アップデートチェッカーを有効にする: チェック (デフォルトのまま)

image.png

  • オプション設定・メール設定
    • SMTPホスト: 172.16.1.102 (我が家のメールサーバー
    • SMTPポート: 25 (我が家のメールサーバー
    • メール送信者: "Forgejo" noreply@forgejo.example.com (ドメインは自分で取得した物にしましょう)
    • SMTPユーザー名: (空欄) (デフォルトのまま)
    • SMTPパスワード: (空欄) (デフォルトのまま)
    • 登録にはメールによる確認が必要: チェックを外す (デフォルトのまま)
    • メール通知を有効にする: チェックを入れる

image.png

  • オプション設定・サーバーと外部サービスの設定

    • すべてデフォルトのまま
  • オプション設定・管理者アカウントの設定

    • 管理者ユーザー名: administrator
    • メールアドレス: administrator@forgejo.example.com (ドメインは自分で取得した物にしましょう)
    • パスワード: (強力なパスワード)
    • パスワード確認: (強力なパスワードをもう一度入力)

image.png

入力できたら、画面下端の「Forgejoをインストール」ボタンをクリックします。

するとユーザー administrator でサインインしてダッシュボードが表示されます。言語は最初から日本語です。すごいな…

image.png

そうしたら/etc/forgejo/app.iniが自動生成されます。これをSubversionコミット。

仮想マシン172.16.1.104:ユーザーadministrator
sudo svn st /etc | grep "^?" | cut -b9- | sudo xargs -I{} find {} -type f -or -type d -or -type l | sudo xargs -t svn add
sudo svn ci /etc -m"created app.ini"
sudo svn up /etc

ログファイル出力

ログの出力設定をします。ファイルへ出力させましょう。その為の設定については公式に記述がありますが、よくわからないんですよね。とりあえず下記のようにしてみました。

仮想マシン172.16.1.104:ユーザーadministrator
sudo vi /etc/forgejo/app.ini

設定内容は下記。

仮想マシン172.16.1.104:ユーザーadministrator
$ sudo svn diff --diff-cmd diff -x -U0 /etc/forgejo/app.ini
Index: /etc/forgejo/app.ini
===================================================================
--- /etc/forgejo/app.ini        (revision 10)
+++ /etc/forgejo/app.ini        (working copy)
@@ -67 +67 @@
-MODE = console
+MODE = file

設定を修正したら再起動しましょう。

仮想マシン172.16.1.104:ユーザーadministrator
sudo systemctl restart forgejo

するとログが出力されます。

仮想マシン172.16.1.104:ユーザーadministrator
sudo ls -l /var/lib/forgejo/log

ログファイル名はgitea.logでした。forgejo.logじゃないんですね。

仮想マシン172.16.1.104:ユーザーadministrator
$ sudo ls -l /var/lib/forgejo/log
total 4
-rw-r----- 1 git git 3986 Jun 21 13:28 gitea.log

ともあれログファイルの出力が確認できたら、app.iniをSubversionコミットしましょう。

仮想マシン172.16.1.104:ユーザーadministrator
sudo svn st /etc | grep "^?" | cut -b9- | sudo xargs -I{} find {} -type f -or -type d -or -type l | sudo xargs -t svn add
sudo svn ci /etc -m"Forgejo log file mode"
sudo svn up /etc

仕舞い

ここまで出来たら、最初に撮っておいたスナップショットは削除しても大丈夫……かな。

色々な動作確認は次回リバースプロクシを設定してからにします

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?